Hello World VM: 「Hello World プログラムを動かす仮想マシン」
Hello World プログラムといえば,たとえば Ruby なら
p 'Hello World!'
こんなんで,Java なら
public class HelloWorld { public static void main( String argv[] ){ System.out.println("Hello World!"); } }
C# なら
public class HelloWorld { public static void Main( string [] argv ){ System.Console.WriteLine("Hello World!"); } }
C なら
#include <stdio.h> void main() { printf("Hello World!\n"); }
こんな感じで簡単に書ける.というか一番簡単なプログラムの例という意味だから,簡単に書けるのはあたりまえ.
それで,あるときちょっと思ったのが「 Hello World プログラムを動かす言語処理系(仮想マシン)は簡単に作れるのだろうか」という疑問だった.それで,とりあえず Java と CIL の VM を試しに作ってみた.こんなことをする人が他にいるのか分からないけど,何かの参考になるかもしれないので,作る過程とかつまずきポイントとかをつらつらまとめてみる.