>>254
C じゃなくて Pascal 風だけど、直感的な構文規則の書き方

stmt -> IF expr THEN stmt | IF expr THEN stmt ELSE stmt | other

だと文法自体が曖昧になってしまう(とうぜん LL(1) でもない)。ただし、これを
曖昧でないように書き換えることは可能。で、それって、他の規則によっては
LL(1) で書けたんじゃないかなあ。

if - else に関しては、現実問題として構文規則を機械的に書き換えるより「最
近傍の if にくっつく」と文法を定義した方が構文規則を作るのもパーサーを作
るのも楽だから、そうしてるだけだったかと。

(間違ってたら指摘してくれ)