antlr4:令牌识别错误“。”点和其他标点符号

我有一个解析器规则定义为:“”antlr4:令牌识别错误“。”点和其他标点符号

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

然而这failes如果文本包含标点符号。

",;:!?./§/*-+)({}[]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被定义为这样一个词法规则:

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

如果解析器规则ANTLR使用通配符将匹配任何规则,而不是任何字符。

以上是 antlr4:令牌识别错误“。”点和其他标点符号 的全部内容, 来源链接: utcz.com/qa/257693.html

回到顶部