antlr ide производит багер парсер / лексер
Я использую antlr IDE для eclipse с antlr 3.4 и создал следующую комбинированную грамматику для использования в логике высказываний
grammar Propositional;
options {
language = Java;
}
@header {
package antlr;
}
@lexer::header {
package antlr;
}
formula:expression;
term
: ATOM
| '(' expression ')'
;
negation
: ('~')* term
;
and
: negation (('^') negation)*
;
or
: and (('|') and)*
;
implies
: or (('>') or)*
;
expression
: implies (('#') implies)*
;
ATOM : 'a'..'z'+;
WS : (' ' | '\t')+ {$channel = HIDDEN;};
Когда я сохраняю, он говорит, что сборка выполнена успешно, и интерпретатор работает именно так, как я хочу, однако у сгенерированного лексера и синтаксического анализатора есть много проблем, таких как отсутствующие операторы throw или неправильные конструкторы.
Любая помощь будет принята с благодарностью, спасибо!
1 ответ
Решение
Решено: Немного глупо, но не понравилось, что пакет называется antlr