当我从语法文件中生成带有 antlr 的词法分析器时,我注意到它会生成一系列十六进制格式的字符串。
DFA 使用这些字符串来预测我的下一个标记。
这些字符串是什么意思以及它们是如何生成的。
我引用的字符串出现在生成的词法分析器中,如下所示(a 并在构造函数中传递给 DFA):
static final String DFA1_eotS = ....
static final String DFA1_eofS = ....
static final String DFA1_minS = ....
static final String DFA1_maxS = ....
static final String DFA1_acceptS = ....
static final String DFA1_specialS = ....
static final String[] DFA1_transitionS = ....
编辑:
我将开始回答自己的问题以帮助我们开始
acceptS[i] = 一个包含可能标记的标识符的数组(我不知道为什么它包含许多 -1 值)