Syntax - Action List
The dynamics of a window object (or module) is described by action lists:
ActionList | ::= |
|
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: