hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
hspcmp/token.h, hspcmp/token.cpp のプリプロセッサを読みます。
プリプロセッサは入力されたスクリプト(*.hsp)からプリプロセス済みのスクリプトを出力します。これは#defineや#includeなどのプリプロセッサ命令を処理します。
プリプロセッサの出力は主にプリプロセス済みのスクリプトですが、ほかにも細かいものがいくつかあります。
プリプロセッサを呼ぶ部分では主に以下のようなことをします。
ということで、いくつかの設定をしたのち、プリプロセス処理を行い、いくつかの情報を取得するという流れになります。実際のプリプロセスのエントリポイントはExpandFile?関数ということになります。
ソースはhsc3.cppのCHsc3::PreProcess?をご覧ください。
mes "hello" という簡単なスクリプトでプリプロセス済みスクリプトを見てみます。
1 2 3 4 5 6 7 8 |
|
##0 "hspdef.as"の後ろには hspdef.as をプリプロセスした結果があるのですが、プリプロセス済みスクリプトではコメントや#defineなどいくつかのプリプロセッサ命令は削除されるのでただの空行の連続になっています。
また mes は mes@hsp になっていますね。