Разработка компиляторов



         

Пример (продолжение)


Для того, чтобы получить управляющую таблицу анализатора достаточно запустить программу YACC с ключом -v.

Рассмотрим фрагмент таблицы для состояния 2.

+------------------------- STATE 2 -------------------------+ + CONFLICTS: + RULES: lines : lines expression^\n expression : expression^+ expression expression : expression^- expression expression : expression^* expression expression : expression^/ expression + ACTIONS AND GOTOS: + : shift & new state 7 - : shift & new state 8 * : shift & new state 9 / : shift & new state 10 \n : shift & new state 6 : error

В первой строке фрагмента приведено название состояния. Секция CONFLICTS перечисляет встреченные конфликты (подробнее о конфликтах - см. в лекции 9). Секция RULES перечисляет все правила, задействованные в конфигурациях данного состояния (вместо символа точки, используемого в курсе, иcпользуется ^). Секция ACTIONS AND GOTOS представляет собой столбец управляющей таблицы анализатора, соответствующий 2-му состоянию. Подробнее о составлении управляющей таблицы можно узнать в лекции 7.




Содержание  Назад  Вперед