ANTLR 4 如何解析评论

ANTLR 4 how to parse comments

我正在解析类似 SQL 的语言,但在解析评论时遇到了问题。 我们的想法是忽略它们。

我有这些规则:

NEWLINE: '\r'? '\n' -> skip 
WS  :    [ \t]+ -> skip 

我怎么能忽略:

我在 WS 和 NEWLINW 之前尝试过类似的东西:

COMMENT1 : ('--'|'#') ~'\n'* -> skip;

没用 - 我得到了:

line 1:115 missing ';' at '<EOF>'

可能是因为它不符合我的主要规则: 解析 : (语句 (';')+)* EOF;

谁能帮帮我?

问候 idob

如有疑问,请查看其他人的做法 ;)

There are some ready-made grammars for different languages,或多或少在工作。

所以我查看了 Java 的语法,发现:

COMMENT
: '/*' .*? '*/' -> skip
;
LINE_COMMENT
: '//' ~[\r\n]* -> skip
;

看来你的大致思路是正确的。我猜问题出在其他地方。你能提供你测试的样本输入和你的语法(相关部分)吗?