Grammar
For definition of the grammar of the action language, a simple form of EBNF is used.
-
Non-terminals are identified by strings with first letter capitalized, such as Action.
-
Tokens are identified either through their name (in upper-case, like INTEGER_LITERAL) or through the precise character sequence defining them (between ‘’, like ‘:=’).
-
On the right-hand side of a production:
-
Round parentheses ( ) are used to group token/non-terminal sequences
-
Repetitive parts formed of 0 or more occurrences of a are written as ( a )*
-
Alternative between a and b are written as a | b
-
The action language is defined by the following LL(2) grammar. The start symbol for guard condition is Expr. The start symbol for transition effects, state entry actions, and state exit actions is Action.
| The Grammar of the Action Language |
|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|