[1511] Re:「1回以上の繰り返し」の定義
投稿者:(ぱ)こと管理人
2010/03/10 03:09:06
>expression /* 「式」とは… */
> : primary_expression /* 「一次式」、 */
> | expression ADD expression /* または、「式」 + 「式」 */
> (以下略)
>だと、
>yacc: 4 shift/reduce conflicts.
>となりますね。
申しわけありません。これはやはり間違いと判断すべきだと思います。
>どうしてそうなるのかは、まだ自分で説明できません……。
1 - 2 - 3 - 4 - 5
のような式のとき、
-が降ってきた時点でそれまでの分をreduceしないと左結合にならないわけですが、
現状、ここでshift/reduce conflictが起きており、shiftが優先されるため
結合規則が逆順になっています。
この構文規則は、優先順位を気にしなくてよいのなら…という文脈で出てきていた
はずですし、その趣旨は構文規則を簡単にしたかったためなのですが、
結合規則まで気にしないとは書いてないですし、警告が出るのはそれ自体まずいですね。
数日中にWeb上で補足を入れます。ご指摘ありがとうございました。