Управление с помощью таблиц

Программа «лексический анализатор»

Операция читать_лит – читает очередную литеру анализируемого текста и выдает код, класс литеры.

В начале каждого выполнения переменная след_литера имеет своим значением первую литеру, не принадлежащую уже поанализированному элементу: тот же смысл переменная след_литера должна сохранять и после каждого выполнения программы.

 

имя := ””

состояние := 1

след_состояние := переход[состояние, класс(след_литера)]

повторять

нц

имя:=имя ½½след_литера;

состояние := след_состояние

след_состояние := переход[состояние, класс(след_литера)]

кц

до след_состояние = 0

Выделяемые лексемы задаются таблицей перехода, которая заполняется исходя из диаграммы перехода

 

состояние Класс следующей литеры
Цифра Точка Знак операции Буква пробел
1- исходное
2-целое
3- вещественное
4- ошибка
5 -разделитель
6- оператор
7-идентификатор