Changeset 2353


Ignore:
Timestamp:
Sep 2, 2012, 2:20:37 PM (7 years ago)
Author:
ksherdy
Message:

Minor updates to Pablo grammar.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/pablo/input/grammar/antlr/pablo.g

    r2342 r2353  
    11grammar pablo;
     2
     3// Author:                      Ken Herdy
     4// Date Created:        Sept. 1, 2012
     5// Description:         Pablo grammar.
    26
    37options {
     
    3034// f u n c t i o n   d e f i n i t i o n                                                               
    3135functionDef
    32                                 : FUNCTION_DEF functionReturnTypeSpecifier functionName LROUND parameterList RROUND blockStatement 
     36                                : FUNCTION functionReturnTypeSpecifier functionName LROUND parameterList RROUND blockStatement 
    3337                                ;                               
    3438                                                                       
    3539functionReturnTypeSpecifier
    36         : typeSpecifier | VOID_TYPE
     40        : typeSpecifier | VOID
    3741        ;
    3842                                                                                                               
     
    156160
    157161streamTypeSpecifier
    158                                 : STREAM_TYPE LANGLE INTEGER RANGLE
    159                                 | STREAM_TYPE // default of field width 1                       
     162                                : STREAM LANGLE INTEGER RANGLE
     163                                | STREAM // default of field width 1                   
    160164                                ;
    161165       
    162166recordTypeSpecifier     
    163                                 :       RECORD_TYPE identifier LCURLY recordTypeSpecifierBody RCURLY
    164                                 | RECORD_TYPE identifier
     167                                :       RECORD identifier LCURLY recordTypeSpecifierBody RCURLY
     168                                | RECORD identifier
    165169                                ;
    166170                               
     
    178182
    179183tupleTypeSpecifier
    180                                 : TUPLE_TYPE IDENTIFIER LROUND typeSpecifier (COMMA typeSpecifier)* RROUND
    181                                 | TUPLE_TYPE IDENTIFIER
     184                                : TUPLE IDENTIFIER LROUND typeSpecifier (COMMA typeSpecifier)* RROUND
     185                                | TUPLE IDENTIFIER
    182186                                ;
    183187
     
    189193RETURN  : 'return'  ;
    190194
    191 PLUS  : '+' ;   
    192 MINUS : '-' ;
    193195AND   : '&' ;
    194196OR    : '|' ;
     
    210212LROUND          : '(' ;
    211213RROUND          : ')' ;
    212 COMMA                   : ',' ;
    213 TERMINATOR: ';' ;
    214 DOT                             : '.' ;
     214COMMA           : ',' ;
     215TERMINATOR  : ';' ;
     216DOT                     : '.' ;
    215217SQUOTE          : '\'' ;
    216218
    217219TYPEDEF       : 'typedef'       ;
    218 FUNCTION_DEF  : 'function';     
    219 STREAM_TYPE   : 'stream'  ;
    220 RECORD_TYPE   : 'struct'  ;
    221 TUPLE_TYPE    : 'tuple'   ;
    222 VOID_TYPE     : 'void'    ;
     220FUNCTION      : 'function';     
     221STREAM        : 'stream'  ;
     222RECORD        : 'struct'  ;
     223TUPLE         : 'tuple'   ;
     224VOID          : 'void'    ;
    223225
    224226SQ_STRING               : '\'' ('a'..'z' | 'A'..'Z'| '0'..'9' | ' ' | '-')* '\'';
Note: See TracChangeset for help on using the changeset viewer.