prev: http://d.hatena.ne.jp/mjt/20100811/p1 コンパイラやJITCを作る上で、マシン記述(MachineDescription)は現代的には必須のテクニックになっている。例えば、IA32やARMの世界ではCPUのモデル毎に使用できる命令が大幅に異なり、Xtensaのように生成的なプロセサも存在する。コンパイラを特定のCPUにべったり依存する形で書くことは殆んどなく、何らかのかたちで、 CPUにはどのようなレジスタが有るのか CPUの使える命令は何か CPU命令が利用/破壊するレジスタは何か といったことを統一的なフォーマットで記述し、可能なかぎりマシン依存部を減らす努力が求められている。 http://wiki.osdev.info/?MachineDescription gccのケース: CGENと.md GCCは.mdという形で、CPUが利用で