Clover2開発日誌

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

シェルモードの改良

シェルモードの改良をしています。make && make installなどシェルモードで&&と||が動きます。

あとはCommandクラスにまだバグがあったので修正。SIGPIPEのブロックをしていなかったため存在しないコマンド名を実行するとパイプのwriteでシステムが落ちていました。

 

とりあえず、シェルモードで不便だと思ったのはegrep "str str" src/*.cが動かないこと。(クォートがない)

と、./configure --prefix=$HOMEなどパスを指定してので外部コマンドの実行が出来ない点です。明日以降作っていきたいと思います。

 

たぶん、ユーザーの方はシェルをbashやyash, zshからiclover2乗り換える方はいないと思うので、自己満足ですね。たぶん、ユーザーの方は言語機能の方に興味があると思うので、シェルモードが満足するできになったら、次は言語機能をモダンなものにしていきます。そっちの方に皆さん、興味がありそうですし。Swiftくらい完成度が高いものにしたいと思います。お楽しみ。