私の問題は、渡されたメッセージyyerror
がすでにフォーマットされており(つまり、実際には何がうまくいかなかったのか英語の説明です)、取得したいのは現在のトークン(つまり、エラー疑似トークンの前のトークン)だけです。
それで、それを取得する方法は?
私はC#のlex/yacc実装であるgplex/gppgを使用しています。
100%正確ではないことをお詫びします。必要なのは、(トークンによって)一致した本文(テキスト)ではなく、トークン(シンボル)です。
[A-Za-z0-9_]+
ルールがを構成しているとしましょうID
。ID
だから私はトークンではなくトークンを取得したいと思いますfoobar
。