Методики конструирования сканеров
Подводя итог содержанию этой главы,
сформулируем методики конструирования
сканера.
Методика 1. Эта методика состоит из
пяти этапов, на каждом из которых решается
одна из задач построения сканера:
1) описание лексем языка при помощи
регулярных выражений;
2) преобразование полученных выражений
в соответствующие НКА;
3) преобразование НКА в КА для тех лексем,
где такое преобразование необходимо
(для некоторых лексем соответствующие
КА могут быть получены в результате
выполнения 2-го этапа);
4) конструирование сканера из полученных
КА, работающих последовательно - в случае
прямого лексического анализа, или
параллельно (по мере вызова) - в случае
непрямого лексического анализа;
5) разработка таблицы имен (и других
связанных с ней таблиц) и методов работы
с таблицами.
Каждый из этих этапов рассмотрен в
соответствующем разделе данной главы.
Методика 2. Если некоторые
лексемы проще описать синтаксическими
диаграммами, то можно воспользоваться
соответствием, имеющим место между
диаграммой, регулярной грамматикой и
КА, о котором шла речь в гл.2. В этом случае
первые три этапа методики 1 можно
заменить следующими этапами:
1) описание лексем при помощи синтаксических
диаграмм (диаграммы должны содержать
только терминальные символы);
2) разметка диаграмм нетерминальными
символами и получение соответствующих
регулярных грамматик (см. п.4.6);
3) преобразование полученных грамматик
в соответствующие КА.
Далее следует выполнить этапы 4 и 5
методики 1. Вообще говоря, применение
методики2 не гарантирует получение
детерминированного КА для любой лексемы.
Для этого необходимо, чтобы соответствующая
грамматика удовлетворяла двум
ограничениям, суть которых мы рассмотрим
в следующей главе
46