CDL構文の詳細
ここでは、CDLのその他の構文要素について説明します。
CDL構文要素
次の表に、CDLのその他の構文要素を示します。
エレメント |
説明 |
---|---|
コメント |
コメントは、ルールを説明する目的でルール定義に含められます。 コメントはトークンではないため、コンフィギュレータ・パーサーでは無視されます。 |
ホワイト・スペース |
空白、改行、キャリッジ・リターンを含む空白は、読みやすくするために入力を書式設定します。 要素の空白カテゴリはトークンではないため、コンフィギュレータ・パーサーでは無視されます。 |
大文字と小文字の区別 |
キーワードでは大文字と小文字は区別されません。 キーワード演算子では大文字と小文字は区別されません。 モデル・オブジェクト識別子では大文字と小文字が区別されます。 公式パラメータでは大文字と小文字が区別され、引用符で囲むことはできません。 定数EとPI、および科学Eは大文字と小文字を区別しません。 キーワードTRUEおよびFALSEでは、大文字と小文字は区別されません。 テキスト・リテラルでは大文字と小文字が区別されます。 すべてのキーワード、定数リテラルなどでは、大文字と小文字は区別されません。 |
引用符 |
ホワイト・スペースを含むモデル構造ノード名、またはパーサーによってキーワードまたは演算子として解釈されるテキストは、一重引用符で囲む必要があります。 |
構文表記法
次の表に、CDLの有効な文の構文表記を示します。 この表は、使用可能な記号の一覧とそれぞれの説明を示しています。 この表記法は、CDLの例および構文参照で使用されます。
記号 |
説明 |
---|---|
--または // |
二重ハイフンまたは二重スラッシュは、行の末尾まで続く1行のコメントを開始します。 |
/* */ |
スラッシュ・アスタリスクとアスタリスク・スラッシュは、複数の行にまたがるコメントを区切ります。 |
&lowerケース |
仮パラメータおよびイテレータのローカル変数の名前には、先頭にアンパサンド記号が付いた小文字が使用されます。 |
大文字 |
大文字は、事前定義された変数または仮パラメータのキーワードおよび名前に使用されます。 |
大文字/小文字混在 |
ユーザー定義モデル・ノードの名前、ユーザー定義ルールの名前には大文字と小文字が混在します。 |
; |
セミコロンは、1つの文の終わりと次の文の先頭を示します。 |
CDLの例では、特に明記されていないかぎり、各行の末尾に暗黙的なキャリッジ・リターンが発生します。 入力行の最後にあるEnterキーを押す必要があります。 次の表に、省略記号、太字、斜体など、このドキュメントで使用される表記規則と記号規則を示します。
表記 |
意味 |
---|---|
|
例の垂直省略記号の点は、例に直接関連しない情報が省略されていることを意味します。 |
... |
文またはコマンドの横方向の省略記号は、文またはコマンドの一部が例に直接関連していないか、説明に関連しないことを意味します。 |
太字のテキスト |
テキストの太字は、新しい用語、用語集で定義された用語、特定のキーおよびユーザー・インタフェース・オブジェクトのラベルを示します。 太字は、特にプロシージャ内のメニュー、コマンドまたはオプションも示します |
[] |
ブラケットにはオプションの句が含まれ、そこから1つを選択することも、選択しないこともできます。 |
> |
左カッコのみでMS DOSプロンプトを表します。 |
$ |
ドル記号は、WindowsのDIGITALコマンド言語プロンプトおよびDIGITAL UNIXのBourneシェル・プロンプトを表します。 |
% |
パーセント記号だけは、UNIXプロンプトを表します。 |
name() |
コード例以外のテキストでは、プログラミング言語のメソッドおよび関数の名前は末尾のカッコ付きで表示されます。 カッコは常に空として表示されます。 実際の引数またはパラメータ・リストについては、リファレンス・ドキュメントを参照してください。 この規則は、コード例には使用されません。 |
用語
次の表に、ここで使用される用語を定義します。
用語 |
説明 |
---|---|
デカルト積 |
2つ以上の指定されたセットから構成され、各セットからの単一要素のすべての順列で構成されるタプルのセットで、タプルの最初の要素が最初のセットからのもの、2番目の要素が2番目のセットからのもの、というようになります。 |
句 |
キーワードと式で構成されるルール文のセグメント。 |
コレクション |
カッコ内およびコンマで区切られた複数のオペランドのセット。 |
コンパイラ |
コンフィギュレータの一部で、最初にルール定義を解析し、実行時に実行可能なコードを生成します。 |
明示的な文 |
明示的文は、明示的に識別された参加者間の関係を表し、ルールの実行をそれらの参加者およびそれらの参加者を含むモデルに制限します。 |
式 |
演算子とオペランドを含む文のサブセット |
形式識別子 |
イテレータ文の範囲で定義された、反復識別子を表す変数。 |
イテレータ文 |
イテレータは、1つまたは複数の関係または制約に対して反復(繰返し)する問合せに似た文です。 |
non-terminal |
文法規則の名前を表すCDL文法を表す表記で使用されるシンボルの種類。 |
パーサー |
ルール定義で使用される文の構文的および意味的な正確性を分析するコンフィギュレータ・コンパイラのコンポーネント。 |
関係 |
1つの文または句で表される制約のタイプ。 関係は単純なルールと同等です。 文ルールは1つ以上の関係タイプを表しますが、それ自体は関係のタイプではありません。 |
サイン |
名前、パラメータの数、パラメータのタイプ、戻り型、可変性など、関数の属性の個別の組合せ。 |
シングルトン |
コレクション内にない単一のオペランド。 |
明細書 |
ルールの目的を表す文全体。 CDLルール定義は複数の文で構成でき、各文は式を含む句で構成され、セミコロンで区切られます。 |
ターミナル |
トークンの名前、文字、またはリテラル文字列を表すCDL文法を表す表記で使用されるシンボルの種類。 |
トークン |
文字を認識可能な字句の意味に変換した結果。 パーサーへの入力ストリーム内のすべてのテキスト文字列(空白文字とコメントを除く)はトークンです。 |
unicode |
西ヨーロッパ言語、東ヨーロッパ言語、キリル文字、ギリシャ語、アラビア語、ヘブライ語、中国語、日本語、韓国語、タイ語、ウルドゥ語、ヒンディ語およびその他の主要な世界言語の文字を1つの文字セットでエンコードできる16ビット文字エンコーディング・スキーム。 |
区切り
区切り文字は、キーワードと式の間の構文入力として機能する文字です。 その目的は、トークン間の境界を導入し、いくつかの構文基準でトークンをグループ化することによって、トークン・ストリームの構造を維持することです。
次の表に、CDLで有効なセパレータを示します。
セパレータ |
説明 |
---|---|
( |
開きカッコは、関数の引数の先頭または式の先頭を示します。 |
) |
閉じカッコは、関数の引数の終端または式の終端を示します。 |
, |
カンマは引数またはコレクション要素を区切ります。 |
; |
セミコロンは文を区切ります。 |
. |
ドット文字は、複合参照の識別子を区切ります。 |