Next: , Previous: Intrinsic Types, Up: Expression Evaluator


2.3 Variables

Variables may be of either an intrinsic type (though not void), either an application defined opaque type.

See Intrinsic Types.

See Application Defined Types.

Variable names are valid C identifiers, i.e. the first character in a variable name is a letter or an underscore (_), while the subsequent characters may be letters, digits or underscores (_s).

Variable definitions are introduced through the struct x1f4_variable_type record.

See struct x1f4_variable_type.

Modifying variables during expression evaluation is possible via attribution operators.

Symbolic constants are supported by marking variables as read only. The expression evaluator disallows overwritting such variables when parsing expressions, thus the expressions modifying a read only variable is invalid.

See Variable Flags.

See Side Effects Operators.

Variables and functions do not share the same name space, hence it is possible to have a variable having a function name.

Two variables cannot have the same name.

Note that the actual value of a variable does not belong to its definition and the address at which it is stored is referred to the expression evaluator as a distinct record.

Variables may act as well references. That is to be said that variables may be used not only as statically references to pieces of data (as regular, "non reference" variables are to be used), but also as dynamically references (i.e. references that may change).