TinyC

sky氏の日記にてhttp://beautiful.homelinux.net/~sky-software/diary/?date=20041205
C言語コンパイラの作り方が非常に分かりやすいサイトを紹介していた。
うれしい。
http://www.csg.is.titech.ac.jp/~chiba/lecture/os/

やっぱりflexだのbisonだの使うのですか・・・。
むぅ〜。実はbisonいじって やっぱり、boost::spiritだな (´Д⊂グスン
と思った私はどうすればいいのやら・・・

前も紹介したかもしれないが・・・、*1
ここにANSI-Cのspiritで記述したBNFがある。
http://spirit.sourceforge.net/repository/applications/show_contents.php

ちなみに、私はなーんか、flexやbisonに懐けない (´Д⊂グスン
なので、ソレらしきものを自作したいのだが・・・ 何時になるやら・・・
特に、「パース時のエラーの時どうするか」*2や「エラーした部分をスキップしてその後はパースしなおす」*3みたいな事が出来ないのは辛い・・・。*4

むぅ〜 続く・・・

*1:http://d.hatena.ne.jp/studiokingyo/20041101

*2:例えば、エラーメッセージを表示したりとか、状態を戻るように仕向けたりとか

*3: BNFのここの状態に行ってくださいよ〜 みたいな指定はできるのか?

*4:というより、私が知らないだけかもしれないが・・・(他力本願)