gpt4 book ai didi

java - ANTLR4 中 token 的负数

转载 作者:行者123 更新时间:2023-12-01 11:08:45 25 4
gpt4 key购买 nike

我像这样定义LEGAL_ESCAPE token :

LEGAL_ESCAPE: '\\'('b'|'f'|'r'|'n'|'t'|'"')?;

有没有办法让我使用此 token 的负数来定义另一个 ILLEGAL_ESCAPE token ?

最佳答案

当然:

LEGAL_ESCAPE    : ESC [bfrnt"] ;
ILLEGAL_ESCAPE : ESC
( ~[bfrnt"] // any char not in the set
| EOF // it is a non char
)
;
fragment ESC : '\\' ;

Antlr4 Grammar Repo 中的各种示例语法中隐含着相当多的“技巧”。 。 abnf 和 less 语法是很好的起点。 Java8、Antlr4 和 Python3 语法演示了许多更复杂的功能。

请注意,否定运算符 ~ 适用于字符、字符集和字符范围、单个标记和单个标记集。但是,

ILLEGAL_ESCAPE  : ~LEGAL_ESCAPE ;

不太可能是您所要求的。

关于java - ANTLR4 中 token 的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32614123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com