我是ANTLR的新手,目前正在尝试将antlr3.1.3与Python一起使用。我已经成功地为Python安装了ANTLR运行时。但我不知道如何打印出特定输入的解析树。在
语法
grammar Expr;
options {
language=Python;
output=AST;
}
expr : atom (op atom)* NEWLINE ;
op : '+' | '-';
atom : ID | INT;
ID : ('a'..'z'|'A'..'Z')+ ;
INT : ('0'..'9')+ ;
NEWLINE : '\r'? '\n' ;
WS : (' '|'\t'|'\n'|'\r')+ {self.skip()} ;
Python代码
^{pr2}$虽然代码执行时我想要的是解析树。代码将只打印“3+5”。在
你能告诉我如何修改代码来打印解析树吗?在
几周前,为了调试的目的,我想打印出ANTLR-AST(不是解析树,但这取决于如何实现语法….)。在
你可以做一些简单的事情:
注:我直接用SO编写了代码,所以还没有经过测试
相关问题 更多 >
编程相关推荐