VOICP 1.0 NO IDEA Avatar
  1. OMG Issue

VOICP — Textual syntax adjustments

  • Key: VOICP-5
  • Legacy Issue Number: 10965
  • Status: closed  
  • Source: France Telecom R&D ( Mariano Belaunde)
  • 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)

  • Reported: VOICP 1.0b1 — Fri, 20 Apr 2007 04:00 GMT
  • Disposition: Resolved — VOICP 1.0
  • Disposition Summary:

    (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

  • Updated: Fri, 6 Mar 2015 20:59 GMT