• ベストアンサー

インデントのEBNFについて

今、bison+flexでミニ言語を製作しようとしています。 Pythonのようなブロックをインデントで表す方式にしたいのですが、 どうもきれいにEBNFで書けないので迷っています。 スマートな書き方がありましたら、どなたかご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

インデントをパーサー側で処理するのではなくて、レキサーでインデントをブロックをあらわす記号に変換してしまうほうが楽だと思います。

mizuneko
質問者

お礼

そうですね。 初めの試作(boost/spirit)では 前処理で{}に変換していたのですが、bisonだったら BNFでできないかなとか思っていたのですが… あきらめることにしました。 回答ありがとうございました。

関連するQ&A