我正在使用 antlr IDE 和 antlr 3.4 进行 Eclipse,并创建了以下组合语法以用于命题逻辑
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 语句或不正确的构造函数。
任何帮助将不胜感激,谢谢!