GDL ソース ファイル プリプロセッサ ディレクティブ
GDL パーサーは、元の GPD パーサーと同様に、プリプロセッサ ディレクティブをサポートしています。 プリプロセッサ ディレクティブは、他の解析の前に処理されます。 前処理フェーズでは、プリプロセッサ ディレクティブのみが認識され、ディレクティブ以外のエントリはすべてブラック ボックス データとして扱われます。 前処理フレーズ中に、すべてのプリプロセッサ ディレクティブが入力ストリームから削除されるため、後続の解析フェーズでプリプロセッサ構文と競合する必要がなくなります。
プリプロセッサ ディレクティブの目的は、複数のバージョンの GDL または GPD パーサーで実行される単一の GDL ファイルを作成できるようにすることです。 パーサーの一部のバージョンでのみ発生するパーサー機能がある場合は、#Ifdef ステートメントを使用して、同等のエントリに置き換えることができます。
プリプロセッサ ディレクティブは、特定の GDL プリプロセッサ構文と GDL プリプロセッサ キーワードを使用します。
GDL プリプロセッサ ディレクティブは、GPD プリプロセッサ ディレクティブの拡張機能です。 GDL プリプロセッサ ディレクティブと GPD プリプロセッサ ディレクティブの違いの詳細については、「GDL と GPD プリプロセスの違い」を参照してください。
GDL プリプロセッサ ディレクティブは、GDL ディレクティブの 1 種類にすぎません。 他の種類の GDL ディレクティブの詳細については、「GDL ディレクティブ」を参照してください。
次のリストは、GDL プリプロセッサのキーワードの概要です。
#Include は、現在の GDL ファイルに含めるために別の GDL ファイルを参照します。
#Define と #Undefine は、プリプロセッサの条件付きディレクティブが使用するシンボルの一覧を管理します。
#PreCompiled は、別の GDL ファイルを表す GDL データ構造に動的にリンクできる、このファイルに含まれる GDL ソース ファイルを表すスタンドアロン データ構造を作成します。 このディレクティブを使用すると、頻繁に使用されるファイルの冗長コピーを排除できます。
#Ifdef、#Elseifdef、#Else、および #Endif は、GDL ソース ファイル内のセクションを条件付きで無効にします。 これらのディレクティブは、プリプロセッサの条件付きディレクティブによって定義されたシンボル、またはさまざまなバージョンの GDL パーサーによって定義されたシンボルを参照できます。
#SetPPPrefix、#UndefinePrefix、#EnablePPDirective、および #DisablePPDirective は、ディレクティブの処理を変更します。
このセクションには、次が含まれます。