次: , 前: Why Precedence, 上: Precedence


5.3.2 演算子の優先順位の指定

演算子優先順位宣言%left%rightによって、 演算子の優先順位と結合規則を指定できます。 どちらの宣言も、優先順位と結合規則を指定したい演算子である、 トークンの並びからなります。 %left宣言はすべての演算子を左結合的に、 %right宣言はすべての演算子を右結合的に宣言します。 第3の選択肢は%nonassoc宣言で、これで宣言した演算子が 続けて2回以上現れると、構文解析器が文法エラーを指摘します。

異なる演算子の相対的な優先順位は、それらが宣言される順序で決まります。 文法ファイルの中の最初の%left宣言または%right宣言で 宣言された演算子が、もっとも低い優先順位を持ちます。 後から宣言される演算子ほど、高い優先順位を持ちます。