C/C++のこの機能逝ってよし
■ このスレッドは過去ログ倉庫に格納されています
0255デフォルトの名無しさん
NGNGC じゃなくて Pascal 風だけど、直感的な構文規則の書き方
stmt -> IF expr THEN stmt | IF expr THEN stmt ELSE stmt | other
だと文法自体が曖昧になってしまう(とうぜん LL(1) でもない)。ただし、これを
曖昧でないように書き換えることは可能。で、それって、他の規則によっては
LL(1) で書けたんじゃないかなあ。
if - else に関しては、現実問題として構文規則を機械的に書き換えるより「最
近傍の if にくっつく」と文法を定義した方が構文規則を作るのもパーサーを作
るのも楽だから、そうしてるだけだったかと。
(間違ってたら指摘してくれ)
■ このスレッドは過去ログ倉庫に格納されています