システムを設計するにあたり、出来るだけ、実際のコンパイラに近い物を作ろうと考えました。
しかし、実際の実行ファイルを出力するには、スタートアップルーチンやローダなど、
難解な問題が多かったため、JAVAを参考にして、コンパイラは実際の実行ファイルに近い出力をし、
実際の実行は、ヴァーチャルマシンで行うシステムを採用しました。
言語は、手続き型の言語を作ることにしました。
また、最低限の機能は備えたいと思い、関数・変数・繰り返し・分岐などをサポートさせました。
文法では、現在主流のC,JAVAに加え、Pascalなどが参考になりました。
「Cに近いPascal」から「PasC」と名付けられました。
「PasC」は、PasCコンパイラ & Cトランスレータ「pascc.exe」と、
PasCヴァーチャルマシン「pasc.exe」によって構成されます。
pascc.exeは、ソースコードファイル[filename].pscを解析し、
実行ファイル[filename].execと、C言語ソースファイル[filename].cを出力します。
pasc.exeは、pascc.exeによって出力された実行ファイル[filename].execを実行します。
pascc.exe、pasc.exeの詳しい使い方は、
PasCコンパイラ & Cトランスレータ pascc.exe
PasCヴァーチャルマシン pasc.exe
を、それぞれ参照してください。
簡単なHello,Worldプログラムを用いて、システムの使い方を説明します。
以下のソースコードを、hello.pscとして保存します。
Pasc言語の詳細については、
PasC 言語マニュアル
を参照してください。
function int start(){
output "Hello,World!\n";
return 0;
}
コマンドライン(MS-DOSプロンプト)から、以下のコマンドを入力します。
pascc hello.psc
プログラムに間違いがなければ、以下のように表示されます。
hello.psc - エラー 0、警告 0
また、実行ファイル「hello.exec」とC言語ソースファイル「hello.c」が、
同じディレクトリに作成されています。
次に、コマンドラインから、以下のコマンドを入力します。
pasc hello.exec
これによって、実行ファイル「hello.exec」が、ヴァーチャルマシンによって実行され、
「Hello,World!」が表示されます。
Hello,World!