Программа «лексический анализатор»
Операция читать_лит – читает очередную литеру анализируемого текста и выдает код, класс литеры.
В начале каждого выполнения переменная след_литера имеет своим значением первую литеру, не принадлежащую уже поанализированному элементу: тот же смысл переменная след_литера должна сохранять и после каждого выполнения программы.
имя := ””
состояние := 1
след_состояние := переход[состояние, класс(след_литера)]
повторять
нц
имя:=имя ½½след_литера;
состояние := след_состояние
след_состояние := переход[состояние, класс(след_литера)]
кц
до след_состояние = 0
Выделяемые лексемы задаются таблицей перехода, которая заполняется исходя из диаграммы перехода
состояние | Класс следующей литеры | ||||
Цифра | Точка | Знак операции | Буква | пробел | |
1- исходное | |||||
2-целое | |||||
3- вещественное | |||||
4- ошибка | |||||
5 -разделитель | |||||
6- оператор | |||||
7-идентификатор |