これは、実際的な問題というよりも、「原則として」の問題です。Yacc がプロダクションを削減し、定義されたレクサーから新しいトークンを読み取る順序です。つまり、次のトークンのセットがあるとします。
INTEGER_BEGIN
INTEGER_VALUE
LESS_THAN
INTEGER_BEGIN
INTEGER_VALUE
Yacc は、そのセマンティクス内で、レクサーからトークンを読み取ることができますか?次のような一連のプロダクションが与えられた場合、単一のものにLESS_THAN
還元される前に、レクサーからトークンを読み取ることができますか?INTEGER BEGIN INTEGER_VALUE
expr : expr LESS_THAN expr
| integer
integer : INTEGER_BEGIN INTEGER_VALUE
これらがセマンティックアクションで定義されている場合、この変更のルールはありますか?