2022-01-01から1年間の記事一覧
Darwin(MacOS)とiSHでセルフホストに成功しました。 comelangで作るzedというテキスト処理言語も完成しました。 満足です。よかったら、どうぞ https://github.com/ab25cq/comelang
https://github.com/ab25cq/comelang Default parametor values, parametor labels #include<stdio.h> int fun(int x = 123, int y = 345, int z = 456) { printf("x %d y %d z %d\n", x, y, z); } struct sData { int x; int y; int z; }; int sData*::fun(sData* se</stdio.h>…
MacOSで動作を確認しました。vinとyappyの動作も確認しています。 clang, llvmはXCodeのコマンドラインツールをインストールしてください。 その他のライブラリはHomebrewを使ってください。 PATHやライブラリーの環境変数については、他に譲ります。 export…
リリースです。 フリーソフトウェアプログラマーを辞めると言いましたが、まだ続けます。 Pythonクローン地道に実装していきます。 Comelangは右辺値の代入時に代入する変数に%がないとエラーとなるようになりました。 これでかなりコンパイル時に動的エラー…
とりあえず、Pythonクローンのyappyが動いたので完成とします。 最終的にはオリジナルのヒープシステム以外にBoehmGCを使ったライブラリも用意しています。 gc_list<char*>* li = new (GC) gc_list<char*>.initialize(); li.push_back(gc_string("AAA")) li.push_back(gc_s</char*></char*>…
だいぶバグが減りました。エディッターも安定したかな。 ちょっとデバッグしていきます。あとはPythonクローン動かすことですが こちらはBoehmGC前提なんで、ちょっと新しいコンパイラに移植作業が必要ですね。 仕様変えてすみませんね。より良いものを届け…
まだヒープシステムにバグがありました。修正。エディッターのほうはたまにSegmentation Faultが出ますね。 ちょっとデバッグしてみます。 BoehmGCのサポートをちょっとしてみました。 ライブラリの方はオリジナルのヒープシステムしか用意していません。 Bo…
です。 ちょっとエディッターのバグが我慢ならないため、BoehmGCを捨てました。 new (GC) intなどでBoehmGCを使うことはできますが デフォルトではオリジナルのヒープシステムです。 詳細はREADME.mdを見てください。 このアルゴリズムはかなりバグがあった…
ちょっと頻出するバグを修正しました。セグフォ減らしていきます。 型チェックは甘いですけど。llのアセンブラがチェックしてくれますしね。 ll読めないとつらみがあるかもしれませんが、そんなにllを読むのは難しくないとおもます。 しばらくPythonクローン…
です。 リファクタリングをちょっと頑張りました。無駄な構造体のフィールドや無駄なコードは消しました。完璧じゃないと思いますが。 だいぶソースがシンプルになったと思います。あとファイル名をわかりやすくしました。 comelangのソースがLLVMでのCコン…
QiitaとZennを追われて、はてなに行き着きました。はてなは京都にあるそうで、僕も京都在住で、親近感があるので、ここで、続けられたらなと思います。 clover2を開発していた頃に書いてたみたいで記事が懐かしいですね。 やっているSNSはFaceBook, twitter…