Issue 10965: Textual syntax adjustments (voice-ftf) Source: France Telecom R&D (Mr. Mariano Belaunde, mariano.belaunde@orange-ftgroup.com) Nature: Uncategorized Issue Severity: Summary: Some adjustments to the textual syntax are needed. In particyular: Allow decision with empty decision expression decision () { … } Operator != is missing in BNF (found '<>' instead) Resolution: (1) In Section 10.2, after "This section gives formally the grammar.", adds the following paragraph: Lexical elements: The list of reserved words is: 'service', 'voiceservice', 'entities', 'package', 'class', 'operation', 'message', 'messagepart', 'event', 'externalevent', 'systemevent', 'static', 'global', 'shared', 'property', 'var', 'extends','maindialog', 'dialog', 'within', 'in','inout','out', 'behavior', 'play', 'playall', 'call', 'divert', 'return', 'stop', 'decision', 'case', 'junction', 'jump', 'restart', 'wait', 'when', 'do', 'accept', 'if', 'then', 'else', 'endif', 'null', 'true', 'false', 'unlimited', 'not', 'and','or','xor'','informal','new','Set','Bag','Sequence','OrderedSet'. In the BNF these keywords are denoted by the corresponding word in capital letters. For instance DIALOG denotes the occurrence of the dialog keyword. The following variable tokens are defined: ID: an alphanumeric identifier ICONST: integer value FCONST: float value SCONST: double quoted string CCONST: single quoted string The following character tokens are defined: 'PLUS' -> '+' 'MINUS' -> '-' 'TIMES' -> '*' 'DIVIDE' -> '/' 'MOD' -> '%' 'EQ' -> '==' 'LT' -> '<' 'LE' -> '<=' 'LT' -> '<' 'GE' -> '>=' 'GT' -> '>' 'NE' -> '<>' 'NEX' -> '!=' 'EQUALS' -> '=' 'PLUSEQUAL' -> '+=' 'MINUSEQUAL' -> '-=' 'ARROW' -> '->' 'PERIOD' -> '.' 'LPAREN' -> '(' 'RPAREN' -> ')' 'LBRACKET' -> '[' 'RBRACKET' -> ']' 'LBRACE' -> '{' 'RBRACE' -> '}' 'COMMA' -> ',' 'SEMI' -> ';' 'COLON' -> ':' 'DCOLON' -> '::' (2) Replace the BNF rule: decision_head LBRACE decision_body RBRACE by decision_head LBRACE decision_body? RBRACE Revised Text: Actions taken: April 20, 2007: received issue November 7, 2007: closed issue Discussion: The two variants should be accepted: '<>' and '!='. One comes from OCL, the other is what we find in JAVA. To that end two equivalent tokens are defined: NE and NEX (see proposed resolution). End of Annotations:===== s is issue # 10965 Textual syntax adjustments Some adjustments to the textual syntax are needed. In particyular: Allow decision with empty decision expression decision () { . } Operator != is missing in BNF (found '<>' instead)