我在 AnTLR4 中有以下词法分析器规则
TRY: 'try';
FINALLY: 'finally';
EXCEPT: 'except';
IF: [i][f];
...
在 C# 中生成的代码是:
public static readonly string[] tokenNames = {
"<INVALID>", "TRY", "'finally'", "'except'", "IF", ... }
我的问题:
为什么 TRY 令牌的规则名称是
TRY
FINALLY 令牌是命名的'finally'
。另外,我注意到 之后的第一个标记
<INVALID>
总是以大写字母命名[i][f]
当我们写或时,规则名称有什么不同的原因if
吗?
非常感谢