GDL 建構
GDL 建構只是GDL 屬性,後面接著建構主體。 在邏輯上,建構代表資料的集合,就像 C 結構一樣。
建構主體是以建構分隔符號括住的零、一或多個 GDL 專案。 建構主體必須由左大括弧 ({) 導入,並由右大括弧 (}) 終止。
由建構分隔符號括住的 GDL 專案稱為 建構 的內容 。 括住的 GDL 專案也稱為 子系、 子專案、 子專案或建構 的成員 。 因為子專案也可以是建構,所以您可以建立任意深度的建構巢狀結構;不過,只有父建構的直接子系稱為 子專案。
相反地,立即括住子專案的建構有時稱為 父建構。 共用相同父建構的兩個 GDL 專案稱為同層級。 結構,其主體包含專案的父系或專案父系的父系 (,依此類) 稱為 上階建構。
建構主體前面的屬性稱為 建構前端,或有時只是 建構。 建構前端的關鍵字元件稱為 建構類型。 如果定義了多個同層級建構,則每個建構都有相同的關鍵字,它們會被視為屬於相同的建構類型。 建構前端的值元件稱為 建構實例名稱或 建構標記。 建構標記必須是 符號。 建構標記在語法上是選擇性的,但在某些情況下是必要的。
建構可以是 語法 或 邏輯。 建構可以包含等位。
任意數量的空白字元和換行序列可以在 建構分隔符號前面或後面。 不過,為了方便閱讀,通常會使用 C 樣式縮排慣例。
下列程式碼範例示範 GDL 建構。
*ConstructType: ConstructTag
{ *% Begin Construct Delimiter
*% this is the Construct Body
*ChildAttribute: child attribute value
*ChildConstruct: ChildConstructTag
{
*% Body of Child construct could hold more constructs.
}
*AnotherChildConstruct: ChildConstructTag2
{
*% Contents of *AnotherChildConstruct
*% since both child constructs share the same Parent construct, they are
*% Sibling Constructs.
*DescendantAttribute: this attribute is a descendant of *ConstructType: ConstructTag
}
} *% End Construct Delimiter
本節包括: