PL/0'コンパイラはCで書かれていましたが,それをJavaで書き直したものです.
C版の5つのプログラムファイルをそのままJava版の5つのファイルに書き直したものです.
ただし,codegen.cについてはCodeGen.javaとCodeGenB.javaの2つを作りました.
それらのコンパイル結果はパッケージpl0に入ります.使い方は
$ java pl0/PL0 オプション指定 ソースファイル名
です.コンパイル結果のソースプログラムの情報(トークンの種類や,エラーの表示など)
は「ソースファイル名.html」というファイルに出力されます.
オプション指定は'-'で始まる1つの文字列で,その中に
トレースでは,簡単のために,スタックのトップと実行する命令を交互に印字します.
ただし,演算のスタックに何も積まれていないときに,スタックのトップにあるように見えるのは,スタックに割当てられた最後の局所変数です.