ANTLR4:点和其他标点符号"."标记识别错误



我的解析器规则定义为:

text: '"'.*?'"' ;

但是,如果文本包含标点符号'。

,这将失败。
",;:!?./§/*-+)({}[]abc"   
line 1:1 token recognition error at: ','
line 1:2 token recognition error at: ';'
line 1:4 token recognition error at: '!'
line 1:5 token recognition error at: '?'
line 1:6 token recognition error at: '.'
line 1:7 token recognition error at: '/'
line 1:8 token recognition error at: '§'
line 1:9 token recognition error at: '/'
line 1:10 token recognition error at: '*'
line 1:11 token recognition error at: '-'
line 1:12 token recognition error at: '+'
line 1:13 token recognition error at: ')'
line 1:14 token recognition error at: '('

奇怪的是,卷发被识别出来。作为字符串的一部分,接受的任何帮助

您需要将text定义为这样的lexer规则:

TEXT: '"'.*?'"' ;

如果在解析器规则中使用通配符操作员ANTLR将匹配任何规则而不是任何字符。

相关内容

  • 没有找到相关文章

最新更新