タグ

2010年7月27日のブックマーク (1件)

  • PL/0'コンパイラのyacc版

    PL/0'コンパイラはCで書かれていましたが,それをyaccで書き直したものを作りました. C版のファイルのうち、table.h、codegen.hはそのまま使い、 table.cとcodegen.cはほとんどそのまま使い、それ以外をlex(またはflex) とyacc(またはbison)で書きました。 以下のファイルからlex(またはflex) とyacc(またはbison)を使ってPL/0'コンパイラを構成することが出来ます。 pl0.l(ファイル名がpl0.l.txtに変更してあります) pl0.y(ファイル名がpl0.y.txtに変更してあります) table.h table.c codegen.h codegen.c たとえば、bisonとflexを使う場合は、 $ bison -d -y pl0.y によって、y.tab.hとy.tab.cを生成し、 $ flex -l pl0