Ticket #46260: _NscLib__NscParser.ypp.patch

File _NscLib__NscParser.ypp.patch, 9.3 KB (added by jmroot (Joshua Root), 10 years ago)
  • _NscLib/NscParser.ypp

    old new shift_expression: 
    273273                }
    274274        | shift_expression SL additive_expression
    275275                {
    276                         $$ = NscBuildBinaryOp (SL, $1, $3);
     276                        $$ = NscBuildBinaryOp (token::SL, $1, $3);
    277277                }
    278278        | shift_expression SR additive_expression
    279279                {
    280                         $$ = NscBuildBinaryOp (SR, $1, $3);
     280                        $$ = NscBuildBinaryOp (token::SR, $1, $3);
    281281                }
    282282        | shift_expression USR additive_expression
    283283                {
    284                         $$ = NscBuildBinaryOp (USR, $1, $3);
     284                        $$ = NscBuildBinaryOp (token::USR, $1, $3);
    285285                }
    286286        ;
    287287
    relational_expression: 
    300300                }
    301301        | relational_expression LTEQ shift_expression
    302302                {
    303                         $$ = NscBuildBinaryOp (LTEQ, $1, $3);
     303                        $$ = NscBuildBinaryOp (token::LTEQ, $1, $3);
    304304                }
    305305        | relational_expression GTEQ shift_expression
    306306                {
    307                         $$ = NscBuildBinaryOp (GTEQ, $1, $3);
     307                        $$ = NscBuildBinaryOp (token::GTEQ, $1, $3);
    308308                }
    309309        ;
    310310
    equality_expression: 
    315315                }
    316316        | equality_expression EQ relational_expression
    317317                {
    318                         $$ = NscBuildBinaryOp (EQ, $1, $3);
     318                        $$ = NscBuildBinaryOp (token::EQ, $1, $3);
    319319                }
    320320        | equality_expression NOTEQ relational_expression
    321321                {
    322                         $$ = NscBuildBinaryOp (NOTEQ, $1, $3);
     322                        $$ = NscBuildBinaryOp (token::NOTEQ, $1, $3);
    323323                }
    324324        ;
    325325
    logical_and_expression: 
    363363                }
    364364        | logical_and_expression ANDAND inclusive_or_expression
    365365                {
    366                         $$ = NscBuildLogicalOp (ANDAND, $1, $3);
     366                        $$ = NscBuildLogicalOp (token::ANDAND, $1, $3);
    367367                }
    368368        ;
    369369
    logical_or_expression: 
    374374                }
    375375        | logical_or_expression OROR logical_and_expression
    376376                {
    377                         $$ = NscBuildLogicalOp (OROR, $1, $3);
     377                        $$ = NscBuildLogicalOp (token::OROR, $1, $3);
    378378                }
    379379        ;
    380380
    assignment_expression: 
    400400                }
    401401        | unary_expression MULEQ assignment_expression
    402402                {
    403                         $$ = NscBuildBinaryOp (MULEQ, $1, $3);
     403                        $$ = NscBuildBinaryOp (token::MULEQ, $1, $3);
    404404                }
    405405        | unary_expression DIVEQ assignment_expression
    406406                {
    407                         $$ = NscBuildBinaryOp (DIVEQ, $1, $3);
     407                        $$ = NscBuildBinaryOp (token::DIVEQ, $1, $3);
    408408                }
    409409        | unary_expression MODEQ assignment_expression
    410410                {
    411                         $$ = NscBuildBinaryOp (MODEQ, $1, $3);
     411                        $$ = NscBuildBinaryOp (token::MODEQ, $1, $3);
    412412                }
    413413        | unary_expression ADDEQ assignment_expression
    414414                {
    415                         $$ = NscBuildBinaryOp (ADDEQ, $1, $3);
     415                        $$ = NscBuildBinaryOp (token::ADDEQ, $1, $3);
    416416                }
    417417        | unary_expression SUBEQ assignment_expression
    418418                {
    419                         $$ = NscBuildBinaryOp (SUBEQ, $1, $3);
     419                        $$ = NscBuildBinaryOp (token::SUBEQ, $1, $3);
    420420                }
    421421        | unary_expression SLEQ assignment_expression
    422422                {
    423                         $$ = NscBuildBinaryOp (SLEQ, $1, $3);
     423                        $$ = NscBuildBinaryOp (token::SLEQ, $1, $3);
    424424                }
    425425        | unary_expression SREQ assignment_expression
    426426                {
    427                         $$ = NscBuildBinaryOp (SREQ, $1, $3);
     427                        $$ = NscBuildBinaryOp (token::SREQ, $1, $3);
    428428                }
    429429        | unary_expression USREQ assignment_expression
    430430                {
    431                         $$ = NscBuildBinaryOp (USREQ, $1, $3);
     431                        $$ = NscBuildBinaryOp (token::USREQ, $1, $3);
    432432                }
    433433        | unary_expression ANDEQ assignment_expression
    434434                {
    435                         $$ = NscBuildBinaryOp (ANDEQ, $1, $3);
     435                        $$ = NscBuildBinaryOp (token::ANDEQ, $1, $3);
    436436                }
    437437        | unary_expression XOREQ assignment_expression
    438438                {
    439                         $$ = NscBuildBinaryOp (XOREQ, $1, $3);
     439                        $$ = NscBuildBinaryOp (token::XOREQ, $1, $3);
    440440                }
    441441        | unary_expression OREQ assignment_expression
    442442                {
    443                         $$ = NscBuildBinaryOp (OREQ, $1, $3);
     443                        $$ = NscBuildBinaryOp (token::OREQ, $1, $3);
    444444                }
    445445        ;
    446446
    qualified_type_specifier: 
    480480type_specifier:
    481481        VOID_TYPE
    482482                {
    483                         $$ = NscBuildType (VOID_TYPE, NULL);
     483                        $$ = NscBuildType (token::VOID_TYPE, NULL);
    484484                }
    485485        | INT_TYPE
    486486                {
    487                         $$ = NscBuildType (INT_TYPE, NULL);
     487                        $$ = NscBuildType (token::INT_TYPE, NULL);
    488488                }
    489489        | FLOAT_TYPE
    490490                {
    491                         $$ = NscBuildType (FLOAT_TYPE, NULL);
     491                        $$ = NscBuildType (token::FLOAT_TYPE, NULL);
    492492                }
    493493        | OBJECT_TYPE
    494494                {
    495                         $$ = NscBuildType (OBJECT_TYPE, NULL);
     495                        $$ = NscBuildType (token::OBJECT_TYPE, NULL);
    496496                }
    497497        | STRING_TYPE
    498498                {
    499                         $$ = NscBuildType (STRING_TYPE, NULL);
     499                        $$ = NscBuildType (token::STRING_TYPE, NULL);
    500500                }
    501501        | ACTION_TYPE
    502502                {
    503                         $$ = NscBuildType (ACTION_TYPE, NULL);
     503                        $$ = NscBuildType (token::ACTION_TYPE, NULL);
    504504                }
    505505        | VECTOR_TYPE
    506506                {
    507                         $$ = NscBuildType (VECTOR_TYPE, NULL);
     507                        $$ = NscBuildType (token::VECTOR_TYPE, NULL);
    508508                }
    509509        | struct_type_start IDENTIFIER
    510510                {
    511                         $$ = NscBuildType (STRUCT_TYPE, $2);
     511                        $$ = NscBuildType (token::STRUCT_TYPE, $2);
    512512                }
    513513        | ENGINE_TYPE
    514514                {
    515                         $$ = NscBuildType (ENGINE_TYPE, $1);
     515                        $$ = NscBuildType (token::ENGINE_TYPE, $1);
    516516                }
    517517        ;
    518518       
    labeled_statement: 
    600600case_statement:
    601601        CASE { NscBuildSaveLine (0); } constant_expression ':'
    602602                {
    603                         $$ = NscBuildCase (CASE, $3);
     603                        $$ = NscBuildCase (token::CASE, $3);
    604604                }
    605605        | DEFAULT { NscBuildSaveLine (0); } ':'
    606606                {
    607                         $$ = NscBuildCase (DEFAULT, NULL);
     607                        $$ = NscBuildCase (token::DEFAULT, NULL);
    608608                }
    609609        ;
    610610       
    expression_statement: 
    680680selection_statement:
    681681        if_start statement_blank_error
    682682                {
    683                         $$ = NscBuild5Block (IF, $1, 0, NULL, NULL, NULL, $2, NULL);
     683                        $$ = NscBuild5Block (token::IF, $1, 0, NULL, NULL, NULL, $2, NULL);
    684684                }
    685685        | if_else_start statement_blank_error
    686686                {
    687                         $$ = NscBuild5Block (IF, $1, 0, NULL, NULL, NULL, NULL, $2);
     687                        $$ = NscBuild5Block (token::IF, $1, 0, NULL, NULL, NULL, NULL, $2);
    688688                }
    689689        | switch_start statement
    690690                {
    691                         $$ = NscBuild5Block (SWITCH, $1, 0, NULL, NULL, NULL, $2, NULL);
     691                        $$ = NscBuild5Block (token::SWITCH, $1, 0, NULL, NULL, NULL, $2, NULL);
    692692                }
    693693        ;
    694694       
    if_else_start: 
    696696        if_start statement_blank_error ELSE
    697697                {
    698698                        NscBuildSaveLine (0);
    699                         $$ = NscBuild5Block (IF, $1, 1, NULL, NULL, NULL, $2, NULL);
     699                        $$ = NscBuild5Block (token::IF, $1, 1, NULL, NULL, NULL, $2, NULL);
    700700                }
    701701        ;
    702702               
    703703if_start:
    704704        IF '(' { NscBuildSaveLine (0); } expression ')'
    705705                {
    706                         $$ = NscBuild5Block (IF, NULL, 1, NULL, $4, NULL, NULL, NULL);
     706                        $$ = NscBuild5Block (token::IF, NULL, 1, NULL, $4, NULL, NULL, NULL);
    707707                }
    708708        ;
    709709       
    710710switch_start:
    711711        SWITCH { NscBuildSaveLine (0); } '(' expression ')'
    712712                {
    713                         $$ = NscBuild5Block (SWITCH, NULL, 1, NULL, $4, NULL, NULL, NULL);
     713                        $$ = NscBuild5Block (token::SWITCH, NULL, 1, NULL, $4, NULL, NULL, NULL);
    714714                }
    715715        ;
    716716       
    switch_start: 
    723723iteration_statement:
    724724        while_start statement
    725725                {
    726                         $$ = NscBuild5Block (WHILE, $1, 0, NULL, NULL, NULL, $2, NULL);
     726                        $$ = NscBuild5Block (token::WHILE, $1, 0, NULL, NULL, NULL, $2, NULL);
    727727                }
    728728        | do_start statement WHILE { NscBuildSaveLine (0); } '(' expression ')' ';'
    729729                {
    730                         $$ = NscBuild5Block (DO, $1, 0, NULL, $6, NULL, $2, NULL);
     730                        $$ = NscBuild5Block (token::DO, $1, 0, NULL, $6, NULL, $2, NULL);
    731731                }
    732732        | for_start statement
    733733                {
    734                         $$ = NscBuild5Block (FOR, $1, 0, NULL, NULL, NULL, $2, NULL);
     734                        $$ = NscBuild5Block (token::FOR, $1, 0, NULL, NULL, NULL, $2, NULL);
    735735                }
    736736        ;
    737737       
    738738for_start:
    739739        for_start_start ';' ';' ')'
    740740                {
    741                         $$ = NscBuild5Block (FOR, NULL, 1, NULL, NULL, NULL, NULL, NULL);
     741                        $$ = NscBuild5Block (token::FOR, NULL, 1, NULL, NULL, NULL, NULL, NULL);
    742742                }
    743743        | for_start_start expression ';' ';' ')'
    744744                {
    745                         $$ = NscBuild5Block (FOR, NULL, 1, $2, NULL, NULL, NULL, NULL);
     745                        $$ = NscBuild5Block (token::FOR, NULL, 1, $2, NULL, NULL, NULL, NULL);
    746746                }
    747747        | for_start_start ';' expression ';' ')'
    748748                {
    749                         $$ = NscBuild5Block (FOR, NULL, 1, NULL, $3, NULL, NULL, NULL);
     749                        $$ = NscBuild5Block (token::FOR, NULL, 1, NULL, $3, NULL, NULL, NULL);
    750750                }
    751751        | for_start_start expression ';' expression ';' ')'
    752752                {
    753                         $$ = NscBuild5Block (FOR, NULL, 1, $2, $4, NULL, NULL, NULL);
     753                        $$ = NscBuild5Block (token::FOR, NULL, 1, $2, $4, NULL, NULL, NULL);
    754754                }
    755755        | for_start_start ';' ';' expression ')'
    756756                {
    757                         $$ = NscBuild5Block (FOR, NULL, 1, NULL, NULL, $4, NULL, NULL);
     757                        $$ = NscBuild5Block (token::FOR, NULL, 1, NULL, NULL, $4, NULL, NULL);
    758758                }
    759759        | for_start_start expression ';' ';' expression ')'
    760760                {
    761                         $$ = NscBuild5Block (FOR, NULL, 1, $2, NULL, $5, NULL, NULL);
     761                        $$ = NscBuild5Block (token::FOR, NULL, 1, $2, NULL, $5, NULL, NULL);
    762762                }
    763763        | for_start_start ';' expression ';' expression ')'
    764764                {
    765                         $$ = NscBuild5Block (FOR, NULL, 1, NULL, $3, $5, NULL, NULL);
     765                        $$ = NscBuild5Block (token::FOR, NULL, 1, NULL, $3, $5, NULL, NULL);
    766766                }
    767767        | for_start_start expression ';' expression ';' expression ')'
    768768                {
    769                         $$ = NscBuild5Block (FOR, NULL, 1, $2, $4, $6, NULL, NULL);
     769                        $$ = NscBuild5Block (token::FOR, NULL, 1, $2, $4, $6, NULL, NULL);
    770770                }
    771771        ;
    772772       
    for_start_start: 
    780780while_start:
    781781        WHILE '(' { NscBuildSaveLine (0); } expression ')'
    782782                {
    783                         $$ = NscBuild5Block (WHILE, NULL, 1, NULL, $4, NULL, NULL, NULL);
     783                        $$ = NscBuild5Block (token::WHILE, NULL, 1, NULL, $4, NULL, NULL, NULL);
    784784                }
    785785        ;
    786786       
    787787do_start:
    788788        DO
    789789                {
    790                         $$ = NscBuild5Block (DO, NULL, 1, NULL, NULL, NULL, NULL, NULL);
     790                        $$ = NscBuild5Block (token::DO, NULL, 1, NULL, NULL, NULL, NULL, NULL);
    791791                }
    792792        ;
    793793               
    do_start: 
    800800jump_statement:
    801801        CONTINUE { NscBuildSaveLine (0); } ';'
    802802                {
    803                         $$ = NscBuildBreakContinue (CONTINUE);
     803                        $$ = NscBuildBreakContinue (token::CONTINUE);
    804804                }
    805805        | BREAK { NscBuildSaveLine (0); } ';'
    806806                {
    807                         $$ = NscBuildBreakContinue (BREAK);
     807                        $$ = NscBuildBreakContinue (token::BREAK);
    808808                }
    809809        | return_start ';'
    810810                {