開発効率を上げる作業 - Scheme VM を書く
display 手続きを実装する
実装した。
開発サイクルの効率化
VM用にコンパイル->VMコンパイルしなおしのサイクルが面倒なので (read) を活用しよう。
流れ
必要な作業
- テストの分離
- VM 内の instruction を定数に変換する部分。
- Makefile でコンパイル
- instruction.scm => (gen-insn.scm) => Instruction.h
- Instruction を VM(C++) と VM(SCHEME) で完全に同一なものにする
- (CONSTANT 1 (ARGUMENT (CONSTANT 2 (CONS (HALT))))) => CONSTANT などの命令を数値定数に変換
- $(COMPILER) $< | ./const-compile.scm ./instruction.scm > $@ こんな感じで。
- eqv? を VM に実装
例
% ./work.scmc Hello, World
work.scmc が人の読めない感じになってきた。
#!/usr/local/bin/mosh (16 (17) (11 "Hello, World\n" (2 (30 1 (0 1)))))
これでやっと準備が整ったぞ。