[英]ANTLR4 Print at the end of parsing
解析结束时是否可以在ANTLR4中打印@members?
grammar test;
@members{
int count = 0;
}
sentence : (a..z|A..Z)* r;
r : [\r\n]+ {count++;};
我不确定是否能正确回答您的问题,但是正如StephanA所说,您的语法不符合ANTLR4。 我对此稍作修改:
grammar Test;
@members{
int count = 0;
}
sentence : WORD (r WORD)* {System.out.println(count);};
r : WS {count++;};
WORD : ('a'..'z'|'A'..'Z')+;
WS : [ \r\n]+;
该语法将接受“ This is a test
(末尾的count
= 3),但会拒绝“ This is a test
或“ This is a test
(末尾为WS
)。 我添加了一个代表解析树根的root
规则,并在此规则的末尾显示了count
。
这是你想要的吗?
编辑
我只是重构了语法,实际上root
没有用到root
规则(我不好)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.