p.159
プログラムのエントリーポイント
どのJackプログラムも、そのうちの1ファイルにはMain.jack
という名前をつけなければならず、かつこのファイルに含まれている函数の1つにはmain
という名前をつけなければなりません。したがってコンパイル後は、どのVMプログラムも必ず1ファイルはMain.vm
という名前がつけられ、かつこのファイルに含まれるVM函数の1つにはMain.main
という名前がつけられます。このMain.main
がアプリケーションのエントリーポイントです。このランタイム規約は次のように実装されます。VMプログラムの実行を開始すると、最初に必ず、引数のないVM函数Sys.init
が実行されます。Sys.init
はオペレーティングシステムの一部です。このOS函数は、ユーザープログラムのエントリーポイント函数をコールするようプログラミングされています。Jackプログラムの場合、Sys.init
はMain.main
をコールするようプログラミングされています。