Antlr4 ANTLR 4如何解析注释

Antlr4 ANTLR 4如何解析注释,antlr4,Antlr4,我正在解析一种类似SQL的语言,解析注释时遇到问题。 我们的想法是忽略它们 我有以下规则: NEWLINE: '\r'? '\n' -> skip WS : [ \t]+ -> skip 我怎么能忽略: 介于“--”或“#”和下一个“\n”之间的所有内容 “/”和“/”之间的所有内容(斜杠+星号直到星号+斜杠-星号不知怎么消失) 在WS和NEWLINW之前,我尝试过类似的方法: COMMENT1 : ('--'|'#') ~'\n'* -> skip; 没有

我正在解析一种类似SQL的语言,解析注释时遇到问题。 我们的想法是忽略它们

我有以下规则:

NEWLINE: '\r'? '\n' -> skip 
WS  :    [ \t]+ -> skip 
我怎么能忽略:

  • 介于“--”或“#”和下一个“\n”之间的所有内容
  • “/”和“/”之间的所有内容(斜杠+星号直到星号+斜杠-星号不知怎么消失)
在WS和NEWLINW之前,我尝试过类似的方法:

COMMENT1 : ('--'|'#') ~'\n'* -> skip;
没有工作-我得到:

line 1:115 missing ';' at '<EOF>'
第1:115行缺少“;”在“
可能是因为它不符合我的主要规则: 解析:(stations(“;”)+)*EOF

有人能帮我吗


关于idob

当有疑问时,看看其他人做了什么;)

,或多或少工作

因此,我查看Java语法,发现:

COMMENT
: '/*' .*? '*/' -> skip
;
LINE_COMMENT
: '//' ~[\r\n]* -> skip
;
所以你的总体想法似乎是正确的。我猜问题出在别的地方。你能提供你测试的输入样本和你的语法(相关部分)吗