解析プログラムソース

 前ページの構造の実際のソースです
以下のものも全てサンプルに入っているものです

ここで解説する内容は、スクリプトシステムを扱う上では直接必要のないものです。
しかし先の「猫の手」が自動的に更新したソースなど、実際何をしているのかが分からないとスッキリしない人もいるかと思います。

以下はその疑問に応えるものです。

CAnalyzerBase を継承して CVaiss を作成しています。
(サンプルでは private 継承していますが public でも問題ないものです)
src00 
method_vaiss.h をクラス内でインクルードしています。

cppのコンストラクタでもヘッダーをインクルードしています。

この2つのインクルードファイルが「プロトタイプ宣言ソース出力」ボタンを押した時に設定ファイルを元に作成したヘッダーです。
これにより、「猫の手」はボタンを押しただけでプロジェクトにビルドの通るコマンドを追加出来たのです。

以下、ヘッダーの中身です。
    

    

各スクリプトコマンドは関数ポインタを配列化して、IDで呼び分けているものです。

これらは 「猫の手」 が自動的に出力するファイルで直接編集しても次回更新時にまた上書きされてしまうので編集しないようにしてください。
拡張コマンドを追加した際にも自動的に変更されます。
スクリプトコンパイラの設定ファイルである mlc.ini と同フォルダに出力されるので全て同フォルダに置いておくと便利です。

サンプルでは print というコマンドが拡張コマンドとして追加されている状態です。

プリフィックスやファイル名のベースも設定ファイルに記述されています
mlc.ini

この情報を基にcompiler.exeは上記のファイルを出力しています


print のコマンドを追加してあるのは以下
mlc.ini

スクリプトから printスクリプトが指定されると以下の関数が実行されます

vaiss.cpp

この構造に関しては「猫の手」を使っている限りほぼほぼ変更しないものです。

章締

ソースを部分的に見てもよく分からないので
次章でどういう流れでプログラムが実行されているのか main から追ってみたいと思います。