私は最近プロジェクトjisonを見つけ、その Web サイトから電卓の例を変更しました。( http://zaach.github.io/jison/demos/calc/ )
/* lexical grammar */
%lex
%%
"a" return 'TOKEN1'
"b" return 'TOKEN2'
<<EOF>> return 'EOF'
. return 'INVALID'
/lex
%start letters
%% /* language grammar */
letters
:
| letters letter
;
letter
: 'TOKEN1'
| 'TOKEN2'
;
上記の文法定義によって生成されたパーサーで文字列「aaabbbaaba」を解析すると、
Parse error on line 1:
aaabbbaaba
^
Expecting 'TOKEN1', 'TOKEN2', got 'INVALID'
残念ながら、なぜTOKEN1
が正しく見つからないのかわかりません。トークン INVALID を削除すると、解析エラーが発生します
Unrecognized text.
Issue with a Jison Grammar, Strange error from generate dparserで、同様のエラー メッセージが表示される関連付けエラーの説明を見つけましたが、自分のコードで同様のものを見つけることができませんでした。
この問題の解決策は何ですか?