留年

引き続き留年しそうな話です.ホントしゃれになりません.

昨日,プログラミング言語処理というぬるい授業のレポートをやろうと思いました.なんでもスタックマシンへのコンパイラを作って提出しろというものらしいです.コンパイルする言語というのが関数呼び出しもないような,trivialな言語なので,小指一本でも3分位で終わる課題です*1

先日OCamlでこの言語のインタプリタを作ったので,そのソースコードを探しますが見つかりません.消してしまったようです.しかたがないので,レポート提出のメールを自分充てにBCCしたものからサルベージしました.

一度Buildしてみることにします.Build方法も忘れてしまったので,メールに書いたとおりにBuildします.ocamllexとかocamlyaccとかして,次にocamlc -c parser.mlとかやれと書いてあります.

違和感がありました.

僕は,大学の課題のような小さなプロジェクトでも,鬼のようにモジュールを分けて,ファイルも分けます.当然,ここでは抽象構文木のためのモジュールをあらかじめocamlcしておかなくてはならないところなのです.しかし,まあこのときはいろいろはまったので,むりやりeval.mlとかに書いてあるのかもしれません.

コンパイルしました.


僕の期待を裏切って,エラーが出やがりました.Unbound Constructor: Ast.IntExprとか出ました.案の定,ファイルが足りなかったようです.当然提出したプログラムも,Buildできなかったでしょう.


えーと・・・今学期二単位修得とか,ホントありえない.

*1:無理だけど