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