共用方式為


GDL 巢狀內容

巢狀內容是以開頭巢狀字元 (引進,這是左括弧或左方括弧) 。 當遇到右括弧或右括弧) 的相符 結尾巢狀字元 (時,巢狀內容就會結束。

巢狀內容可以彼此巢狀。 結束巢狀字元只能用來結束目前的巢狀內容。 如果結尾巢狀字元出現在其他地方,則為語法錯誤。

在巢狀內容中, 建構分隔符號 會失去其意義做為建構分隔符號,而且也會被視為巢狀內容分隔符號。 在巢狀內容中,換行序列會被視為非常值空白字元。

巢狀內容可以出現在任何內容之外,或出現在另一個巢狀內容中,但不能出現在任何其他內容內。 任何包含其他巢狀內容的內容都可以出現在巢狀內容中,但 HexSubString 內容除外。

下列程式碼範例顯示 GDL 巢狀內容。

*good_nests: ( { } [ ( ) ] )

下列程式碼範例顯示包含錯誤的 GDL 巢狀內容。

*bad_nests: (  ] *%  end nesting delimiter can only be used within its nesting context.
*bad_nests: (  ]  )
*bad_nests:   ] [   *%  end nesting delimiter can only be used within its nesting context.
*bad_nests: (  [  )   ]   *%  end nesting delimiter can only be used within its nesting*% context.  In this case the ')' char cannot be used within the context begun 
*%by '[' .
*bad_nests:  {  [ ]  }  *% attempt to use construct delimiter to define a nesting context 
*%  outside of a nesting context.

巢狀內容的整個內容會被視為 值的一部分。 例如,下列 GDL 程式碼代表一個專案,其關鍵字為 「*KeywordA」。 片段的其餘部分是 *KeywordA 的值,因為似乎個別的 *KeywordB 和 *KeywordC 專案包含在巢狀內容中。 事實上,數位 「12, 38, 709」 本身位於巢狀內容中,由括弧分隔符號所定義的括弧分隔符號所定義。

*KeywordA: [
*KeywordB:  List(12, 38, 709)
*KeywordC:  "the small brown fox" ]