| exp | ::= | ident(.ident) * |
| | | constant | |
| | | sipHeader | |
| | | unop exp | |
| | | exp binop exp | |
| | | (parallel) ? forward (exp) ? | |
| | | exp with {messageField (, messageField) *} | |
| | | (exp) | |
| | | reason | |
| | | BODY | |
| | | requestURI | |
| | | pop place | |
| | | functionCall | |
| unop | ::= | ! |
| | | - | |
| binop | ::= | + |
| | | - | |
| | | * | |
| | | / | |
| | | < | |
| | | > | |
| | | == | |
| | | != | |
| | | <= | |
| | | >= | |
| | | && | |
| | | || | |
| | | match | |
| | | notmatch |
| constant | ::= | true |
| | | false | |
| | | integer | |
| | | "string" | |
| | | uri | |
| | | sequence | |
| | | response | |
| sequence | ::= | <constant (, constant) *> |
| | | <> | |
| uri | ::= | 'uriKind:uriString' |
| messageField | ::= | reason=exp |
| | | headerId exp |