GDL 値
GDL 値は、GDL 属性内のコロン区切り文字の後にある最初の空白以外の文字で始まる文字列で、通常は改行シーケンスまたは構成区切り文字に達すると終了します。
改行シーケンスまたはコンストラクト区切り記号が値を終了しない場合、いくつかの GDL コンテキストがあります。 これらの特殊なコンテキストには、次の場合が含まれます。
区切り文字の構築は、コメントの一部として行われます。
終了文字は、引用符で囲まれた文字列の一部として発生します。
終了文字は、入れ子になったコンテキスト内で発生します。
終了文字は任意の値内で発生します。
値には、0 個、1 つ以上の特殊なコンテキストを含めることができます。 1 つのコンテキスト型を 1 つの値に複数回表示できます。 上記の特殊なコンテキストは、他のコンテキストの外部にも表示できます。 一部のコンテキストは別のコンテキスト内に表示される場合があります。これらのケースについては、各コンテキストの説明に記載されています。 値を改行シーケンスまたは構成区切り文字で終了する前に、すべてのコンテキストを終了する必要があります。
終了の改行シーケンスまたは構成区切り文字は、値の一部とみなされません。
GDL 属性では、値は省略可能です。
値マクロ参照は、リテラル以外の空白文字が許可されている GDL 値の任意の場所に表示される場合があります。これらの参照は等号 (=) で始まります。 このようなコンテキストで等号が使用され、値マクロ参照を導入することが意図されていない場合は、等号の後に非記号文字 (空白など) を続ける必要があります。 値マクロの詳細については、「GDL 値マクロ」に関するページを参照してください。
GDL コンテキストの詳細については、「GDL コンテキスト」を参照してください。
次のコード例は、GDL パーサーで許容される値を示しています。
*Value: *% Null Value - only a comment
*Value: "Quoted String"
*Value: "Quoted String with Hex substring: <48 65 78> see?"
*Value: "Hex substring with comment and macro reference <48 *% comment
65 78 =MacroRef > see?" *% note continuation linebreak was automatically assumed
*Value: tokens (parenthesis context) [followed by square brackets context] "ending in quoted string"
*Value: tokens (parenthesis context {with nested curly braces context})
*Value: tokens <BeginValue:anything> no special characters or contexts recognized within an arbitrary value context. " } ) * % < > anything goes, sorry =MacroRefs not recognized
*Keyword: looks like a new entry but its still within the Arbitrary Value context.
+ not continuation chars, *% this is not a comment <EndValue:anything>