GLR パーサーに有効な情報がないことは正しいyystate
ため、「予期されるトークン」の単純な解決策はありません。
デフォルトの LALR パーサーと GLR パーシング アルゴリズムの違いを理解する必要がある理由を理解するには、これについては、http ://www.delorie.com/gnu/docs/bison/bison_11.html で詳しく説明されています。基本的に、GLR (Generalized LR) は複数の同時スレッドを実行し、それぞれが異なるあいまいな代替手段を試して一致を検索します。それらのどれも一致しない場合、解析は失敗し、構文エラーの状況になります。したがって、予想されるトークンは 1 つではありませんが、多くの予想されるトークンが存在する可能性があります。それが曖昧な理由です。Bison パーサーがどのように機能するかを説明する適切なドキュメントは、 http : //www.cs.uic.edu/~spopuri/cparser.html です。非 GLR 解析での yystate 変数の機能が説明されています。
GLR パーサーのより良いエラー メッセージを生成する方法は、この質問に対する @rici の回答で最もよく説明されています。多くの点で、この質問は実際にはその質問の複製です。
両方が同じ問題について尋ねている理由がかなり不明瞭であるため、重複として閉じられていません。