Ignore:
Timestamp:
Jun 4, 2013, 2:05:00 PM (6 years ago)
Author:
ksherdy
Message:

Refactored Kernel init section.

File:
1 edited

Legend:

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

    r3257 r3261  
    3131  // t o k e n s
    3232  tokens {
    33         STATE,
     33        INIT,
    3434        KERNEL,
    3535        FUNCTION,       
     
    9090        // k e r n e l   d e c l a r a t i o n s                                                       
    9191        //
    92         kernelDef                       ->      KERNEL kernelName LCURLY stateDef funcDef (optFuncDef)? expr TERMINATOR RCURLY TERMINATOR? ; // KH: TODO - a temporary hack that appends a CarryDeclare node
     92        kernelDef                       ->      KERNEL kernelName LCURLY initDef funcDef (optFuncDef)? expr TERMINATOR RCURLY TERMINATOR? ; // KH: TODO - a temporary hack that appends a CarryDeclare node
    9393        kernelName                      #-> identifier ;
    9494       
    9595        //
    96         // k e r n e l   s t a t e 
     96        // k e r n e l   p r o p e r t i e s 
    9797        //
    98         stateDef                        #->  STATE LCURLY stateParameter* RCURLY TERMINATOR? ;
    99         stateParameter          ->  stateName ASSIGN stateValue TERMINATOR ;
    100         stateName                       #-> identifier ;
    101         stateValue                      ->      LSQUARE integerConstant (COMMA integerConstant)* RSQUARE ;
     98        initDef                         #->  INIT LCURLY kernelProperty* RCURLY TERMINATOR? ;
     99        kernelProperty          ->  propertyName ASSIGN propertyValue TERMINATOR ;
     100        propertyName            #-> identifier ;
     101        propertyValue           ->      LSQUARE integerConstant (COMMA integerConstant)* RSQUARE ;
    102102
    103103        //     
     
    116116        // c o d e   b l o c k  // (32,64,128,256,...)
    117117        //
    118         // codeBlock                    ->              CODEBLOCK codeBlockWidthSpecifier!      { @codeBlockWidth = @:stateValue; }
     118        // codeBlock                    ->              CODEBLOCK codeBlockWidthSpecifier!      { @codeBlockWidth = @:value; }
    119119        //                                                                                                                                      blockStmt (TERMINATOR)? ;
    120120        //                             
Note: See TracChangeset for help on using the changeset viewer.