Шрифт:
В первую очередь обратите внимание на вызов функции
К сожалению, этот код не компилируется; класс
Для представления лексемы
Попытаемся снова протестировать программу. Если напечатать следующие выражения, то легко убедиться, что программа работает:
Однако следующие выражения показывают, что программа еще не работает так, как надо:
Чем различаются эти примеры? Посмотрим, что происходит. Проблема в том, что мы небрежно определили лексему
Посмотрим на код еще раз. После первой буквы считываем строку в объект класса
Что же сделать вместо этого? Во-первых, мы должны точно определить, что представляет собой имя, а затем изменить функцию
А следующие строки именами не являются:
За исключением отброшенного символа подчеркивания это совпадает с правилом языка С++. Мы можем реализовать его в разделе
Вместо непосредственного считывания в объект
считывает символ в переменную