Когда я генерирую лексер с 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)