Я использую Jison для проекта колледжа, и мне нужно сделать switch
для каждого распознанного знак, так что я могу представить профессора что-то вроде:Как получить токены в Джисоне?
<identifier, s>
<operator, =>
<identifier, a>
<operator, +>
<identifier, b>
Любой способ, как получить это сделать без повторяющиеся регулярные выражения вручную? (Я имею в виду, Jison использует регулярное выражение внутренне, но это не мое дело)
То, что я попытался сделать это следующим образом:
var lex = parser.lexer,
token;
lex.setInput('The code to parse');
while (!lex.done) {
token = lex.next();
}
Но единственным, что я спасаюсь в token
этом числе, и когда символ не определен в грамматике, он возвращает символический символ.
Заранее спасибо.
Спасибо за ответ. Я также должен был заглянуть в исходный исходный код парсера, чтобы выяснить, документация Jison по-прежнему немного недостаточна. BTW Я использовал форму, которую вы сделали :) – bryanjhv