2021-01-01から1ヶ月間の記事一覧
目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 気にはなっていたけど後回しにしていたアレです。 今 v3 を作っているのですが、たしか 関数呼び出しの引数や return文で任意の式を書きたくなったとかで いじっていて、コード生成器の冗長すぎる…
目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 間接メモリ参照のフォーマットの改良 機械語での間接メモリ参照はこれまでアセンブリでとまったく同じ [bp-2], [bp+3] のようなフォーマットにしていて、 VM では /^\[bp-(\d+)\]$/ のような正規表…
目次ページに戻る / 前 / 次 前回からの差分をまとめて見る vgparser.rb で行っていた字句解析処理を vglexer.rb に分離します。 そうしなければいけない強い理由はあまりなくて、その方が他言語への移植がスムーズだった経験から、Ruby版にもフィードバック…
かんたんな自作言語のコンパイラをいろんな言語で書いてみるシリーズ 12回目は Kotlin です。 やっつけなので汚いです。ライフゲームのコンパイルが通ったのでヨシ、というレベルのものです。 github.com 移植元 memo88.hatenablog.com ベースになっているバ…
目次ページに戻る / 前 / 次 前回からの差分をまとめて見る これまで機械語コードのフォーマットはこのような YAML ファイルにしていました。 (以下便宜的に「可変長風」と呼びます) --- - call - 1029 - exit - label - vram_set - push - bp ... これを…
かんたんな自作言語のコンパイラをいろんな言語で書いてみるシリーズ 11回目は Zig です。 Zenn に引っ越しました。 zenn.dev
Qiita の方に書きました。 qiita.com
Qiita の方に書きました。 qiita.com
Qiita の方に書きました。 qiita.com