以下のメッセージを削除します。


[1511] Re:「1回以上の繰り返し」の定義
返信


投稿者:(ぱ)こと管理人
2010/03/10 03:09:06

Link:http://kmaebashi.com
>expression /* 「式」とは… */
>        : primary_expression  /* 「一次式」、 */
>        | expression ADD expression /* または、「式」 + 「式」 */
>        (以下略)
>だと、
>yacc: 4 shift/reduce conflicts.
>となりますね。

申しわけありません。これはやはり間違いと判断すべきだと思います。

>どうしてそうなるのかは、まだ自分で説明できません……。

1 - 2 - 3 - 4 - 5

のような式のとき、
-が降ってきた時点でそれまでの分をreduceしないと左結合にならないわけですが、
現状、ここでshift/reduce conflictが起きており、shiftが優先されるため
結合規則が逆順になっています。

この構文規則は、優先順位を気にしなくてよいのなら…という文脈で出てきていた
はずですし、その趣旨は構文規則を簡単にしたかったためなのですが、
結合規則まで気にしないとは書いてないですし、警告が出るのはそれ自体まずいですね。

数日中にWeb上で補足を入れます。ご指摘ありがとうございました。

パスワード:

管理者削除