5.5.2. Initial Value

[Tip]Description

An initial value can be the part of the definition of an ASM function. It provides the definition of a slot initially storing a value at certain locations.

[Important]Syntax
InitialValuesOptAST ::= ;
                      | { InitialValuesAST }

InitialValuesAST ::= InitialValueAST 
                   | InitialValuesAST InitialValueAST 

InitialValueAST ::= ActualParameterDefAST = ArithmeticTermAST ;

An initial value is a value assignment to a location.

The location is supplied as actual parameters, i.e. by a comma separated list of ASM arithmetic terms.

The value is determined by the evaluation of the value tag that can also be an arbitrary ASM arithmetic term.

[Note]Semantics

Since ASM functions defined in other machines can also be invoked, the interpreter provides lazy initialization for all ASM functions: these are initialized on-demand, i.e. just before their first use.

[Caution]Constraints

The number of the index elements (i.e. the dimension) must be equal to the arity determined by the corresponding ASM function definition.

Defined In:  ASM function definition