Constructions GDL
Une construction GDL est simplement un attribut GDL suivi d’un corps de construction. Logiquement, une construction représente une collection de données, tout comme une structure C.
Un corps de construction est égal à zéro, une ou plusieurs entrées GDL entourées de caractères délimiteurs de construction. Le corps de construction doit être introduit par l’accolade gauche ({) et terminé par l’accolade droite (}).
Les entrées GDL qui sont entourées par les caractères délimiteurs de construction sont appelées contenu de la construction. Les entrées GDL placées sont également appelées enfants, entrées enfants, éléments enfants ou membres de la construction. Étant donné que les entrées enfants peuvent également être des constructions, vous pouvez créer des imbrications arbitrairement profondes de constructions ; toutefois, seuls les descendants immédiats de la construction parente sont appelés entrées enfants.
À l’inverse, la construction qui entoure immédiatement les entrées enfants est parfois appelée construction parente. Deux entrées GDL qui partagent la même construction parente sont appelées Frères. Une construction dont le corps contient le parent d’une entrée ou le parent d’un parent d’une entrée (et ainsi de suite) est appelée construction d’ancêtre.
L’attribut qui précède le corps de construction est appelé la tête de construction, ou parfois simplement la construction. Le composant mot clé de la tête de construction est appelé type de construction. Si plusieurs constructions frères sont définies, chacune avec le même mot clé, elles sont considérées comme appartenant au même type de construction. Le composant de valeur de la tête de construction est appelé la construction instance nom ou la balise de construction. La balise de construction est censée être un symbole. La balise de construction est facultative du point de vue syntaxique, mais elle est requise dans certains cas.
Les constructions peuvent être syntaxiques ou logiques. Les constructions peuvent se composer d’unions.
Une quantité arbitraire d’espaces blancs et de séquences de saut de ligne peut précéder ou suivre les caractères délimiteurs de construction. Toutefois, par souci de lisibilité, une convention de retrait de style C est généralement utilisée.
L’exemple de code suivant montre une construction 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
Cette section comprend :
Délimiteurs de construction GDL