| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <model> ::=
- <statement> ";" <model>
- | <statement>
- <statement> ::=
- <system>
- | <behavior>
- | <interaction>
- | <trigger>
- <system> ::= "SYSTEM" <systemId> "=" <definitionPattern>
- <behavior> ::= "BEHAVIOR" <behaviorId> "=" <definitionPattern>
- <interaction> ::= "INTERACTION" <interactionBody>
- <trigger> ::= "WHEN" <selectionPattern> <triggerBody>
- <definitionPattern> ::=
- <alternation>
- | <sequence>
- <alternation> ::=
- <sequence> "|" <alternation>
- | <sequence> "|" <sequence>
- <sequence> ::=
- <element> <sequence>
- | <element>
- <element> ::=
- "(" <definitionPattern> ")" <quantifier>
- | <event> <quantifier>
- <event> ::= <identifier>
- <quantifier> ::=
- "*"
- | "+"
- | "?"
- | "{" integer "}"
- | "{" integer "," "}"
- | "{" integer "," integer "}"
- | empty
- <interactionBody> ::=
- <interactionOperand> <interactionOperator> <interactionBody>
- | <interactionOperand> <interactionOperator> <interactionOperand>
- <interactionOperand> ::=
- <selectionPattern>
- | <expression>
- <interactionOperator> ::=
- "->"
- | "=="
- <selectionPattern> ::=
- <systemId> ":" <definitionPattern>
- <expression> ::=
- <term> <expressionOperator> <expression>
- | <term>
- <expressionOperator> ::=
- ">"
- | "<"
- | ">="
- | "<="
- | "=="
- <term> ::=
- integer
- | string
- | property
- <triggerBody> ::= "{" triggerClause "}" // TODO: expand on triggerClause implementation
- <systemId> ::= <identifier>
- <behaviorId> ::= <identifier>
- <identifier> ::= alphanumString
|