GDL 值
GDL 值是一个字符串,以 GDL 属性中的第一个非空格字符开头,该字符在冒号分隔符之后找到,通常在达到换行序列或构造分隔符时结束。
当换行序列或构造分隔符不终止值时,有几个 GDL 上下文 。 这些特殊上下文包括以下情况:
一个值可以包含零个、一个或多个这些特殊上下文。 单个上下文类型可以在一个值中多次出现。 上述任何特殊上下文也可以显示在任何其他上下文之外。 某些上下文可能会出现在另一个上下文中;每个上下文的说明中都记录了这些情况。 必须先退出所有上下文,然后值才能由换行序列或构造分隔符终止。
终止换行序列或构造分隔符不被视为值的一部分。
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>