我有一个在 C# 中行走 ANTLR AST 的教程中大致定义的语法?:
grammar Test;
options
{
language = 'CSharp3';
output=AST;
}
public expr : mexpr (PLUS^ mexpr)* SEMI!
;
mexpr
: atom (STAR^ atom)*
;
atom: INT
;
//class csharpTestLexer extends Lexer;
WS : (' '
| '\t'
| '\n'
| '\r')
{ $channel = Hidden; }
;
LPAREN: '('
;
RPAREN: ')'
;
STAR: '*'
;
PLUS: '+'
;
SEMI: ';'
;
protected
DIGIT
: '0'..'9'
;
INT : (DIGIT)+
;
这建立了,但让我没有parser.expr_result
我所期望的课程,并parser.expr()
返回AstParserRuleReturnScope
我做错了什么?是选项吗?工具命令行选项?还要别的吗?