Marque. Partie optionnelle de la syntaxe d'une classe.
[
SorteEtiquette Valeur ]
EtiquettesImplicites
[
ListeDeLexemes ]
-- Definition d'une séquence avec trois propriétes.
MonEnsemble ::= SEQUENCE
{
MaProprieteA [0] INTEGER,
-- La propriete MaProprieteA a pour numero 0.
MaProprieteB [1] EXPLICIT INTEGER,
-- La propriete MaProprieteB a pour numero 1.
MaProprieteC [1] IMPLICIT INTEGER,
-- La propriete MaProprieteA a pour numero 2.
}
-- Definition d'une classe avec quatre parametres.
MaClasse ::= CLASS
{
&MonParametreA,
-- Le parametre MonParametreA n'est pas type aussi il doit etre un type.
&MonParametreB INTEGER,
-- Le parametre MonParametreB est obligatoire.
&MonParametreC INTEGER DEFAULT 1,
-- Le parametre MonParametreC est facultatif. En ce cas, sa valeur par défaut est 1
&MonParametreD INTEGER OPTIONAL
-- Le parametre MonParametreD est falcultatif.
}
WITH SYNTAX
{
PARAMETERA &MonParametreA , PARAMETERB &MonParametreB , PARAMETERC &MonParametreC [ AND PARAMETERD &MonParametreD ]
}
MaValeur1 MaClasse ::= PARAMETERA 1 , PARAMETERB 2 , PARAMETERC 3
MaValeur2 MaClasse ::= PARAMETERA 1 , PARAMETERB 2 , PARAMETERC 3 AND PARAMETERD 4