pp.158-159
VMプログラム
VMプログラム(訳註: ここではスタックマシン)は、Jackなどの言語で書かれた高水準プログラムによって生成されます。次章で見るように、高水準プログラムJackは、いくつかの.jack
クラスファイルを1個のフォルダーにまとめたものであるとおおむね表現できます。このフォルダーにJackコンパイラーを適用すると、各クラスファイル(FileName.jack)は、それぞれに対応するファイル(FileName.vm)に変換されます。FileName.vmはいくつかのVMコマンドで構成されます。
コンパイルすると、Jackファイル(FileName.jack)に含まれているコンストラクタ、函数(静的メソッド)、メソッド(名前はbar
とする)は、FileName.barという名前のVM函数に変換されます(VM函数名は他と重複しません)。VM函数名のスコープはグローバルです。すなわち、プログラムフォルダーに含まれているどの.vmファイルのどのVM函数であろうと、他と重複しないフル函数名FileName.functionNameを使えば、互いに認識できて互いにコールし合えます。