Clover2開発日誌

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

文字列への式の埋め込み

文字列への式の埋め込みを入れました。

 

> a := 123

123

> println("abc\{a.toString()}def");

abc123def

 

のようになります。Rubyの#{}じゃなくてSwiftの\{}を使っています。いろいろ考えましたけどクォートができる方が良いなと思いまして。

正規表現、Path, Bufferへも同じように埋め込めます。

正規表現ではクォート出来ないことが問題になるかもしれないので今からクォートができるように修正したいと思います。\\{ -> \{と解釈されるようにします。

 

あと今からStringクラスにto_regex()を入れます。無いので不便でした。あとは

> egrep ^p src/*.c

とREPLでグロブが使えるように変更したいと思います。

とりあえず、自分で使っていって不便な点を解消していきたいと思います。終わればversion 3.1.0としてリリースしたいと思います。

一応の完成の目処ですね。とりあえず、しばらくREPLの使い勝手を上げる作業に入ります。