Исключение: «Во внутренней таблице разбора найден неверный номер действия». Полиглот Исключение - PullRequest
1 голос
/ 29 апреля 2010

Я использую компилятор под названием Polyglot, который является расширяемым компилятором для Java.

Кажется, я столкнулся с этим исключением, пытаясь скомпилировать тестовый код:

 "Invalid action number found in internal parse table." 

Как я могу сделать правильный номер действия для таблицы разбора?

РЕДАКТИРОВАТЬ:

Я решил проблему, просто исправив грамматику ... У меня была проблема с вызовом методов без типов. (Уже поздно извините) Теперь мне более любопытно, когда вышло исключение выше? А что такое номер действия?

1 Ответ

0 голосов
/ 01 мая 2010

Таблица синтаксического анализа - это таблица, описывающая, какое действие должен выполнить его синтаксический анализатор, когда заданный ввод поступает, когда он находится в заданном состоянии. На каждом этапе таблицы парсинга консультируются, чтобы решить, какие действия предпринять. Таблица синтаксического анализа состоит из двух частей: таблицы действий и таблицы перехода. Таблица действий принимает состояние в верхней части стека и следующий символ во входном буфере (называемый символом «lookahead») и возвращает действие, которое необходимо выполнить, и следующее состояние, которое нужно поместить в стек. Таблица разбора

Поэтому я предполагаю, что число действия - это число, представляющее конкретное действие, которое может выполнить таблица синтаксического анализа.

...