4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Javaのサブセットコンパイラの作成

Last updated at Posted at 2015-12-18

この記事は言語実装 Advent Calendar 2015ML Advent Calendar 2015の19日目の記事です。

今日はJavaのサブセットのコンパイラCamljoos0[1]について書くザマス。
joos0[2]というおデンマークはオーフス大学の授業用に作成された由緒正しいJavaのサブセット言語があったのでザマス。joos0はおフランス製のOCamlで書かれていたザマス。
オーフス大学経路1

スクリーンショット 2015-12-02 22.04.55.png
スクリーンショット 2015-12-02 22.06.30.png

日本から飛行機でたった13時間25分で着いて、その後、車か電車で1時間ってトコロザマス。ほとんどまっすぐ電車が通ってて便利ザマスね。

オーフス大学経路2

ミーも一度、おデンマークに行って寿司を食った覚えがあるザマス。

探したらコペンハーゲンのここらへんに行ったみたいザマス。

Nansensgade 19, Floors 7 and 8
1366 Copenhagen K

スクリーンショット 2015-12-02 22.10.46.png

完全にネタになってるザマスね。もうミーは疲れたザマス。本題に移るザマス。

camljoos0

joos0はお作法的に、どうもJava等のお作法で作られていて長ったらしかったザマス。そこでミーの登場でザマス。ミーは MinCaml的に書き換えてjoos0をたった1行に書き換えてやったザマス。いや、1行は嘘ザマス。物の例えザマス。でもかなり短くなった事は間違いないザマス。

そういう事でですね、joos0っていう言語があったのですけど、Javaっぽい作りだったので、4000行のコードを2600行位まで書き換える事が出来ました。MinCamlのように書き換えたらかなり短く出来ましたっていう話でした。

ScalaをOCamlで描きたい場合にもしかしたら参考になるかもしれないし、ならないかもしれません。
MokkosuをOCamlに移植したらスッキリしそうだなぁなんて思う今日この頃です。

参考文献

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?