Next: Up: Previous:

4.5.1 ABCL/f コンパイラ側

この段階で,デバックシステムの行なうことは,ABCL/f プログラムの各実行時のポイントが変換後のC++プログラムの どの箇所に対応するかという情報が生成することである.

この際注意しなくてはいけない点は,ABCL/f の持つマクロ展開に対応した情報 を生成しなくてはいけないということである. ABCL/f はユーザ定義によるマクロ展開を許している. これによって,ユーザは複雑な構文を容易に定義,使用することができる. これらのマクロ文は多用され,ライブラリのように蓄積される傾向がある. このため,ユーザがマクロ展開以前のプログラム文面を通して プログラムのデバッグができることが必須である. 本実装では,コンパイラのフロントエンド部でおこなわれるマクロ展開の際, シンボル情報の対応もとられるようになっている.

現在,マクロ展開は lisp の macro expand と同じもので出来ている. シンボル情報の対応については,マクロ展開時の以下のような 指定によって行われている.



Mitsubishi Research Institute,Inc.
Mon Feb 24 19:27:22 JST 1997