全体構造
ここからは内部構造的な解説をしていきます。
変数の中身はどこにあるの?
スクリプトで宣言した変数はプログラムから参照できるの?
スクリプトを複数同時に動作させたいんだけど
単純なコマンドじゃなくてスクリプト制御を操作するコマンドが作りたいんだけど
自分のプログラムに組み込みたいんだけど
といったカスタマイズには構造理解は必要不可欠です。
「猫の手」を使った主な作業手順を図にしたものです。
手順は大きく分けて以下の2パターンがあります
s
・設定ファイル(mlc.ini)を編集してコマンドを追加、コマンド処理プログラムを追加して
アプリケーションをビルドするプログラム開発サイド の作業(赤枠)
・*.mlcスクリプトファイルを編集してコンパイル、出力されたバイナリーデータを
上記赤枠工程で作成した実行ファイルに読ませて動作を確認するスクリプターサイド (青枠)
プログラム機能の追加や修正でプログラマーが開発サイドの手順を実行し
それを受け取ったスクリプターがスクリプターサイドの手順で作業します。
プログラムとスクリプトを一人で行う場合もあります。
前章でコマンドを追加した際に、「なぜこれだけでスクリプト関数が呼ばれるの?」と疑問に思った人もいるでしょう。
図の「設定ファイルから猫の手で作成されたヘッダーファイル」を猫の手が出力し、それをプロジェクトのソースがインクルードしているからです。
ここで人が手を加えるのは
スクリプトソース
設定ファイル
実行ファイルプログラムソース
となります。
特に「猫の手」では mlc.ini
設定ファイルが重要になります。
コマンドの情報やスクリプトがコンパイルされたバイナリーデータの設定なども全て記述されています。
章締
スクリプトコンパイラのやる事は結局テキストをコードに置き換えるだけのものです。
処理を解釈、制御を行うのは解析ルーチンです。
変数を取り扱っても、変数にインデックスが振られ、そのインデックスに対しての入出力コードに変換されるだけです。
変数の実体、それに対する入出力の処理などは全てアプリケーション側で行うものである事に注意してください。