Clover2開発日誌

Clover2というJavaのように静的な型を持つRubyのようなコンパイラ+仮想マシンの開発日誌です。LLVMでJITもします。https://github.com/ab25cqにて開発しています。

3.0.7リリース

Anonymousクラスにisメソッドを作りました。以下のように使います。

a:Anonymous = "ABC";

if(a.is("Integer")) {
#aはInteger
}
elif(a.is("String")) {
#aはString
}

#aはanonymous

 

です。ちょっとプルリクエストがありましたが、マージすると謎のバグにエンバグしたので上書きしてpushしてます。またプルリクエストの修正分は自分で書いてみます。あと拡張子を変えてほしいとissueがあったので、変更があると思います。

一応考えているのは

クラスのソース -> clcl

ソース -> cl

クラスファイル -> oclcl

ソースのコンパイル結果 -> ocl

を考えてます。

出力をrm *.o*と出来て便利じゃないかという提案でした。

すみませんが、次のリリースで、そのように変更します。

あとプルリクエストでソースファイルがコンパイルせずに

そのまま実行できるようになっていたので、その変更も施します。

> vim hello.cl

println("HELLO WORLD");

> clover2 hello.cl

HELLO WORLD

みたいな感じですね。今からその作業をします。プルリクエストありがとうございました。