Ignore:
Timestamp:
Mar 29, 2013, 5:30:20 PM (7 years ago)
Author:
ksherdy
Message:

Added carry getter/setter for implementation consistency.

File:
1 edited

Legend:

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

    r2985 r2988  
    44// PabloB (block-at-a-time language)
    55//
    6 // Modified: 2-December-2012    - Original definition.
    7 // Modified: 29-March-2013              - Added IDISA function call.
    8 //                                                              - Added 2^k integer types.
     6// Modified: 02-12-2012 - Original definition.
     7// Modified: 29-03-2013 - Added IDISA function call.
     8//                                              - Added 2^k integer types.
    99//
    1010// TODO: Add BlockMode blocks to specify SIMD field width.
     
    105105        // s t r e a m   s t r u c t   d e c l a r a t i o n s                                                 
    106106        //
    107         kernelDef                       ->      KERNEL kernelName LCURLY initDef funcDef (optFuncDef)? (compoundIdentifier (funcCallRest _promote_))? RCURLY TERMINATOR? ; // TODO eliminate carry.Declare ?
     107               
     108        kernelDef                       ->      KERNEL kernelName LCURLY initDef funcDef (optFuncDef)*  RCURLY TERMINATOR? ;
    108109       
    109110        kernelName                      #-> identifier ;
     
    111112        // s t a t e   i n i t
    112113        //
     114       
    113115        initDef                         ->  INIT initBlock TERMINATOR? ;
    114116       
    115         initBlock                       #-> LCURLY stateInitStmt* RCURLY;
     117        // initBlock                    #-> LCURLY (stateInitStmt)* RCURLY;
     118       
     119        initBlock                       #-> LCURLY (funcCallOrAssignStmt)* RCURLY; // TODO - hack - stick carry set decl stuff in the init section for now
    116120       
    117121        stateInitStmt           ->  stateIdentifier LSQUARE stateSize RSQUARE ASSIGN LCURLY stateInitList RCURLY TERMINATOR?;
     
    125129        stateValue                      ->  integerConstant ;
    126130       
    127         //stateInitList         ->      streamType (COMMA streamType)* ;
     131       
    128132       
    129133        // k e r n e l   f u n c t i o n s
     
    153157        // s t a t e m e n t s
    154158        //
    155         stmt                                    #-> (funcCallOrAssignStmt | ifStmt | whileStmt | returnStmt | localVarDecl) (TERMINATOR)? ;
    156                        
    157         funcCallOrAssignStmt    -> compoundIdentifier ( (idisaCallRest _promote_) | (funcCallRest _promote_) | (assignRest _promote_)) TERMINATOR ;
     159        stmt                                    #-> (funcCallOrAssignStmt | ifStmt | whileStmt | returnStmt | localVarDecl) (TERMINATOR)? ; 
     160       
     161        funcCallOrAssignStmt    #-> expr ( (idisaCallRest _promote_) | (funcCallRest _promote_) | (assignRest _promote_)) TERMINATOR ;
    158162       
    159163        funcCallRest                    -> LROUND^ funcCallArgList RROUND ;
Note: See TracChangeset for help on using the changeset viewer.