Pythonのサブセット処理系
Pythonを縮小したPython処理系を作る演習。できる男として巷で有名なid:hayamizuとペアプログラミングしております。当方C++をこの処理系を作ることで覚えました。初心者ばんざーいヾ(・∀・)ノシ
パーサまでは本当に隣にならんで理論的な補佐をid:hayamizuにしてもらいつつカタカタ書いていたのですが(11月頃)、評価器をつくるあたりから諸事情で別作業に。「俺評価器興味ない」というid:hayamizuはVM(仮想マシン)を、私は評価器を書いておりました。当たり前ですが、VMが発展課題、評価器が標準課題です(o^冖^o)(o^冖^o)
先週月曜と明日が発表会。
先週の発表会時点ではVMだけ先に出来上がるというどうしようもない状態でした。
そんなid:hayamizuのつくったVMの記事については以下
今日の夜とりあえず評価器が動いたようなので、これで私の作っていたPythonサブセットのインタプリタが動いた、ということになりました。やったヾ(・∀・)ノシ
さっそくベンチ。
…とはいえshellscriptはid:hayamizuがVM用につくったものを流用させてもらったんですが。ほんとにすません。お世話になっております。どうしようもないな>自分
本家Pythonとの実行時間比をグラフに。1はpythonと同じ実行時間、1より小さいと本家Pythonに勝ってるヾ(・∀・)ノシ、1より大きいとpythonに負けてる(´・ω・`)
・・・・・負けてる(´・ω・`)
basic/*.pyは簡単な計算ばかりで、オブジェクトを実装してないサブセットのほうが早いに決まっているのだけど、フィボナッチ計算が60倍てどゆこと。
課題最終提出日までにはもうすこしはやくしたいところ。