Ignore:
Timestamp:
Mar 28, 2013, 7:02:08 PM (6 years ago)
Author:
ksherdy
Message:

Grammar updates. Eliminated optional fw on stream types. Removed typedef.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/pabloj/trunk/input/grammar/scatter/pabloS.scatter

    r2968 r2981  
    2828  tokens {
    2929 
    30         TYPEDEF,
     30//      TYPEDEF,
    3131        VAR,
    3232        FUNCTION,       
     
    7070
    7171nodes {
    72   binaryOperator {} [expr, expr1],//, expr4],
     72  binaryOperator {} [expr expr1],//, expr4],
    7373  unaryOperator {} [expr2],// expr5],
    7474  assign {} [assignRest],
    7575  funcCall {} [funcCallRest],
    76  // streamConstant{intValued;} [],
     76  // streamCall {} [streamCallRest],
    7777  integerConstant{intValued;} [],
    7878}
    7979
    8080grammar {
    81         program         -> (typeDecl | typeDef | funcDef) *;
     81        program         -> (typeDecl | funcDef) *; // | typeDef // not implemented
    8282
    8383        //
     
    8989        typeDecl                ->  type TERMINATOR ;
    9090               
    91         typeDef                 ->  TYPEDEF type identifier TERMINATOR ;
     91        // typeDef                      ->  TYPEDEF type identifier TERMINATOR ; // not implemented
    9292       
    9393        // DeclList             ->  identifier (COMMA identifier)* ; 
     
    118118        stmt                                    #-> (funcCallOrAssignStmt | ifStmt | whileStmt | returnStmt | localVarDecl) (TERMINATOR)? ;
    119119                       
    120         funcCallOrAssignStmt    #-> compoundIdentifier ((funcCallRest _promote_) | (assignRest _promote_)) TERMINATOR  ;
     120        funcCallOrAssignStmt    #-> compoundIdentifier ((funcCallRest _promote_) | (assignRest _promote_)) TERMINATOR  ; // | (idisaCallRest _promote_)
    121121       
    122122        funcCallRest                    -> LROUND^ funcCallArgList RROUND ;
    123123
    124124        funcCallArgList                 -> (expr (COMMA expr)*) ? ;     
     125               
     126        // streamCallRest                       -> LANGLE^ fieldWidth RANGLE LROUND idisaCallArgList RROUND;
     127
     128        // streamCallArgList            -> (expr (COMMA expr)*)? ;             
    125129               
    126130        assignOperator                  -> ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN ;                               
     
    134138        returnStmt                              -> RETURN (expr)? TERMINATOR;
    135139                       
    136         localVarDecl                    -> VAR type VarName (localVarAssignOperator^! expr) ?;
     140        localVarDecl                    -> VAR type varName (localVarAssignOperator^! expr) ?;
    137141       
    138142        localVarAssignOperator  -> ASSIGN ;
    139143               
    140         VarName                                 #-> identifier; // compoundIdentifier ?
     144        varName                                 #-> identifier; // compoundIdentifier ?
    141145
    142146        blockStmt                               -> LCURLY stmt* RCURLY ;
     
    168172                                                                                                                                                                                                                                                                       
    169173        constant                #-> stringConstant | integerConstant ;
    170                
    171         // streamConstant               -> INTEGER_CONST {@value = @@value;} ;
    172                                            
     174                                                           
    173175        integerConstant                 -> INTEGER_CONST {@value = @@value;} ;
    174176       
     
    189191        type                    #->  streamType | structType | void | identifier ; // | tupleType;
    190192       
    191         streamType              ->      STREAM (LANGLE fieldWidth RANGLE)? ;   
     193        streamType              ->      STREAM LANGLE fieldWidth RANGLE ;       
    192194                                       
    193195        fieldWidth              ->  integerConstant ;   
    194        
    195         streamTypeName  #->     identifier ;                           
     196                                       
    196197       
    197198        // c o m p o u n d   t y p e s
Note: See TracChangeset for help on using the changeset viewer.