A procedure preamble has declarations for parameters and Local variables, Micros, and Macros. Global variables and Structures are declared in a Class preamble. A common format is used when declaring a parameter, variable, or fields within a structure.
Declaration := ['@' | '*'] Name [Array.Range] ['=' Static] [Type ['|' ...]] | Name '|=' Static | Name [Macro.Parameter] '=>' Expression [Comparator Expression] Array.Range := '[' Dimension ',' ... ']' Dimension := [Lower.Bound 'to'] Upper.Bound Lower.Bound := Integer.Constant | Enumeration.Value Upper.Bound := Lower.Bound | Enumerated.Size | '?' Enumerated.Size := Enumerated.Type '(' '*' ')' Macro.Parameter := '(' Name ['=' Expression] ',' ... ')'