Les variables sont des valeurs qualifiées encadrées de signes % et éventuellement précédées d'option de format. Au moment de l'évaluation, elles sont remplacées par leur valeur correspondance dans la portée de conversion active.
Une variable peut avoir le type suivant :
Par exemple, la variable %Name% d'une interface peut être directement évaluée par une macro et remplacée par le nom de l'interface dans le fichier généré.
Les variables suivantes sont représentées avec leur syntaxe possible :
variable-block:
%[.formatting-options:]variable%
variable
[outer-scope.][variable-object.][object-scope.]object-member [outer-scope.][variable-object.][collection-scope.]collection-member [outer-scope.]local-variable [outer-scope.]global-variable
object-member:
volatile-attribute property [target-code::]extended-attribute [target-code::][metaclass-name::]template-name[(parameter-list)] [*]+local-value[(parameter-list)]
object-member-object =
objecttype-property oid-valued-object-member this
collection-member
First IsEmpty Count
collection-member-object =
First
local-variable
local-object [*]local-value
global-variable
global-object global-value $environment variable
variable-object
global-object local-object
outer-scope
[outer-scope.]Outer
object-scope
[object-scope.]object-member-object collection-scope.collection-member-object
collection-scope
[object-scope.]collection [object-scope.]semi-colon-terminated-oid-valued object-member
Pour plus d'informations sur les collections étendues, voir Collections et compositions étendues (Profile).