All Packages Class Hierarchy This Package Previous Next Index
java.lang.Object | +----epp.Global
注意: このクラスは、 javadoc を作るための便宜的なクラスです。 実際の EPP のソースコード中には存在しません。
epp コマンドのデフォルトの動作は「分割処理モード」ですが、 -global オプションが指定されていると、「グローバル処理モード」で 動作します。 グローバル処理モードでは、ソースファイルの time stamp は見ずに、 指定されたすべてのファイルを一括して処理します。 例えば、ファイルF1,F2,F3が処理の対象だとすると、 まずF1,F2,F3の構文解析パスが行なわれ、つぎにF1,F2,F3の マクロ展開パス、次にF1,F2,F3の型チェックパス、というふうに処理が進みます。 また、それぞれのパスの終了直後に、 ここで定義される「グローバル処理メソッド」が呼ばれます。
EPP が分割処理モードで起動された場合は、グローバル処理メソッドは、 呼ばれません。 また、これらのメソッドが呼ばれるのは、グローバル処理を行なうためだけに インスタンス生成される、「EPP グローバルプロセッサ」だけです。 個別のファイルを処理する EPP プリプロセッサに対しては、 呼び出されることはありません。
これらのグローバル処理メソッドでは、インスタンス変数 self!allFileInfo に アクセスしたり、値を更新することによって、引数に与えられた全てのファイルに 対して大域的な処理を行なうことができます。 例えば、クラス継承木の作成や、グローバルな最適化ツールなどを 実現することができます。
public Global()
public void initGlobalProcessor()
public void globalProcessAfterParsingPass()
public void globalProcessAfterMacroExpansionPass()
public void globalProcessAfterTypeCheckingPass()
All Packages Class Hierarchy This Package Previous Next Index