MinRubyコンパイラ
from
MinRuby
「RubyでつくるRuby」作成する minruby のパーサを利用してApple M1 のアセンブリコードを出力する minruby コンパイラを作成してみる。
GitHubリポジトリ
https://github.com/thata/minrubyc
作業ログ
minrubyコンパイラ / 入力した整数を画面へプリントする
minrubyコンパイラ / 四則演算の結果を画面へプリントする
minrubyコンパイラ / 複文を実行できるようにする
minrubyコンパイラ / 変数を導入する
minrubyのテストスクリプト
minrubyコンパイラ / 条件分岐を実装する
minrubyコンパイラ / 組み込み関数を呼び出す
minrubyコンパイラ / 関数を定義できるようにする
本家 minruby との違い
integer 以外の型はサポートしていない
関数の引数は8つまで
(8つを超えると引数をスタックへ積む必要があるが、面倒なのでやってない)
ArrayとHashは未実装
x86-64へ移植
minrubyコンパイラをx86-64へ移植
会社のブログ記事
(書きかけ)
Rubyでできる!MinRubyコンパイラの作りかた
Rubyでつくる、ミニでRubyなコンパイラ