Changeset 4116 for proto


Ignore:
Timestamp:
Aug 31, 2014, 12:05:40 AM (4 years ago)
Author:
ksherdy
Message:

Grammar clean-up. Removed unused types. Restricted var decl to primitive or aggregate types (stream/BitBlock).

Location:
proto/s2k/trunk/framework/input/grammar/scatter
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • proto/s2k/trunk/framework/input/grammar/scatter/b2k.scatter

    r4114 r4116  
    4444        STRUCT,
    4545        INT,
    46         VOID,
    47         BOOL,
     46        //BOOL,
    4847        //BITFIELD         "BitField",
    4948        BITBLOCK         "BitBlock",
     
    9392    bitBlockType            {hasFieldWidth;}  [],
    9493    integerConstant         {intValued;}           [fieldWidthSpecifier],  // codeBlockWidthSpecifier ],
    95     // primitiveType        {}                     [intType voidType boolType bitBlockType], // KH: update S2B
     94    // primitiveType        {}                     [intType], // KH: update S2B
    9695    fieldWidthType          {int fieldWidth = 1;}  [],
    9796    // codeBlockWidth{int codeBlockWidth = 128;}   [],
     
    167166    stmt                    #-> varDecl | funcCallOrAssignStmt | returnStmt | ifStmt | whileStmt | forStmt ;
    168167    blockStmt               ->  LCURLY stmt* RCURLY ;
    169     varDecl                 ->  type identifier TERMINATOR ;
     168    varDecl                 ->  (primitiveType | bitBlockType) identifier TERMINATOR ;
    170169    funcCallOrAssignStmt    #-> expr (assignRest _promote_) ? TERMINATOR ; // KH: Add SA pass to validate expr is a function call type   
    171170    assignOperator          ->  ASSIGN ;                 
     
    213212    //
    214213    type                #-> primitiveType   |
    215                             // bitFieldType    |
     214                            bitBlockType    |
     215                            // bitFieldType |
    216216                            structType      |
    217217                            kernelType      ;
    218218
    219     primitiveType       #->  ( intType | voidType | boolType | bitBlockType ) ;
     219    primitiveType       #->  ( intType ) ;
    220220
    221221    intType             ->  INT ;       // { @type = {{PrimitiveType.INTEGER}}; } ;
    222     voidType            ->  VOID ;      // { @type = {{PrimitiveType.VOID}}; } ; // KH: ?
    223     boolType            ->  BOOL ;      // { @type = {{PrimitiveType.BOOL}}; } ;
    224222    bitBlockType        ->  BITBLOCK fieldWidthSpecifier! {   @fieldWidth = @:value;
    225223                                                                    //@fieldWidth ; // KH ?
  • proto/s2k/trunk/framework/input/grammar/scatter/s2k.scatter

    r4115 r4116  
    165165    stmt                        #->     varDecl | funcCallOrAssignStmt | returnStmt | ifStmt | whileStmt | foreachStmt | forStmt ;
    166166    blockStmt                   ->      LCURLY stmt* RCURLY ;
    167     varDecl                     ->      type identifier (ASSIGN^ expr) ? TERMINATOR ;
     167    varDecl                     ->      (primitiveType | streamType) identifier (ASSIGN^ expr) ? TERMINATOR ;
    168168    funcCallOrAssignStmt        #->     expr (assignRest _promote_) ? TERMINATOR ; // KH: SA must validate 'expr' is a 'funcCall'
    169169    assignRest                  ->      assignOperator^! expr ;
     
    230230    intType                 ->      INT    { @type = {{PrimitiveType.INTEGER}};  } ;
    231231    primitiveType           #->     intType ;
    232     indexType               #->     intType ;
     232    // indexType               #->     intType ;
    233233   
    234234    streamType              ->      STREAM fieldWidthSpecifier! {   @fieldWidth = @:value;
Note: See TracChangeset for help on using the changeset viewer.