この記事は 言語実装 Advent Calendar 2019 - Qiita https://qiita.com/advent-calendar/2019/lang_dev の5日目のために書いた。 言語実装に興味のある人ならコンパイラにも興味があるはずで、コンパイラに興味のある人なら、一度はコンパイラを実装しようとして、コンパイル先命令セットの選択に悩むはず。 スマートフォンの枠を越えてWindowsにまでARMが進出を始めている上に、大学発の命令セットとしてRISC-VがMIPS再来の如く台頭する中、x86ベッタリのコードは恐い。 PA-RISC,Alpha,IA-64(Itanium)…、物理マシンの命令セットは製造元の都合で将来性を絶たれてしまう。 この時、JavaやInfernoのように仮想マシン命令セットに行き着くのは、言語実装に興味のある人ならよくあること。 そんな用途に最