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


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


投稿者:yuya
2010/03/10 14:48:02

Link:
ご回答ありがとうございます。

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

なるほどー、よく分かりました。もし右結合を明示したければ

expression /* 「式」とは… */
        : primary_expression  /* 「一次式」、 */
        | primary_expression ADD expression /* または、「一次式」 + 「式」 */

と書くべきなわけですね。

そもそも件名に「『一回以上の繰り返し』の定義」なんて書いちゃいましたが、
ただ単にそう定義するだけならレクサのレベルの話であって、
階層的な解析木を築くための構文規則を定めるのがパーサの役割だから、
結合規則によって規則の書き方が変わって当然なのですね。

結果的には誤植(?)がきっかけで非常に勉強になりました。引き続き読み進めていきます。

パスワード:

管理者削除