Loading...
 

Syntax - Action List

Syntax - Action List

The dynamics of a window object (or module) is described by action lists:

ActionList ::=
[ ActionBody ]
ActionBody ::= ActionBody ActionElem | ActionElem
ActionElem ::= Action | Definition
Action ::= Event: Statements
Event ::= SYSTEM-EVENT
Statements ::= Statements SingleStmt | Statements, SingleStmt | SingleStmt
Definition ::= VariableDefinition | StatementDefinition
StatementDeclaration | MessageDeclaration

Example of an action list

Event
InstantView® knows predefined events that are sent from the machine. These messages do not (or must not) be declared with Msg().

Message
see instruction Message

SingleStmt
Instructions - with a few exceptions - are designated by an identifier, which can be followed by a list of one or two parameters:

Statement(parameter1, parameter2)

If the first parameter is omitted but the second is to be specified, the spelling applies:

Statement(, parameter)

For most statements, the identifier STACK can be specified instead of a constant parameter. The parameter should be variable and is taken from the stack top (i.e. before any values that the statement itself requires from the stack).
If a vector is passed on the stack, all the instructions for which this makes sense are executed iteratively over all elements of the vector.

Some parameterless instructions are represented by special characters (e.g. +, -, * and / for the corresponding arithmetic operations).

Following the C syntax, blocks are written in curly brackets { and }.
Except for the statements for structuring(if, ifnot, else, do, while, loop, break, quit, and cancel) the statement names always start with an uppercase letter. If the operand of a statement refers to a member of an object, the syntax for an access expression applies.

A large and important statement group refers to a window object (target object), which is uniquely defined by the parameters (parent window, child object).

Definition of variables
see instruction Variable

StatementDefinition
see instruction Define

StatementDeclaration
see instruction Declare

MessageDeclaration
see instruction Message

A comma may appear between two InstantView® instructions: