Наивный LALR генератор

Наивный - это моё личное определение. Алфавит символьный восмиразрядный.

Основные параметры :

FILENAME_TABLE имя файлa с созданой таблицей
FILENAME_STATUS файл с созданым списком состояний автомата
GR_COUNT число продукций (строк) в состоянии
*gr сама грамматика
test_line проверочная строка

Непосредственое построение. Сначала строятся состояния обычного канонического автомата. Затем часть состояний сливается в одно. Про временную оценку алгоритма можно даже не говорить. Она даже далека от O(x^3). Но для проверки и составления вполне годится.

p.s. когда буду делать полноценный генератор - мухлевать не стану))

Исходник: lalr.cpp

Hosted by uCoz