[Pntool-developers] SF.net SVN: pntool:[192] translator
Brought to you by:
compaqdrew,
miordache
From: <the...@us...> - 2009-07-08 20:52:57
|
Revision: 192 http://pntool.svn.sourceforge.net/pntool/?rev=192&view=rev Author: thecodeweasel Date: 2009-07-08 20:52:51 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Fixed distribution across subtraction Modified Paths: -------------- translator/pncompactor.c translator/pncompactor.g translator/pncompactor.h Modified: translator/pncompactor.c =================================================================== --- translator/pncompactor.c 2009-07-08 20:25:11 UTC (rev 191) +++ translator/pncompactor.c 2009-07-08 20:52:51 UTC (rev 192) @@ -2,7 +2,7 @@ * This C source file was generated by $ANTLR version 3.1.2 * * - From the grammar source file : /Users/bion/projects/iordache/translator/pncompactor.g - * - On : 2009-07-08 15:13:37 + * - On : 2009-07-08 15:50:56 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -47,7 +47,7 @@ #include <stdbool.h> #include "general.h" - #define DEBUG false + #define DEBUG true /* End of Header action. * ============================================================================= @@ -3863,19 +3863,19 @@ /* AST REWRITE - * elements : EQ_OP, EQ_OP, EQ_OP, add2, add1, add1, EQ_OP, add1, add2, EQ_OP, EQ_OP, add2, add2, add1 + * elements : add1, add2, EQ_OP, add1, EQ_OP, EQ_OP, add2, EQ_OP, add1, EQ_OP, add1, add2, add2, EQ_OP * token labels : - * rule labels : add1, add2, retval + * rule labels : add2, add1, retval * token list labels : * rule list labels : */ { + pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add2; pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add1; - pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add2; pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval; + stream_add2=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add2", add2.tree != NULL ? add2.tree : NULL); stream_add1=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add1", add1.tree != NULL ? add1.tree : NULL); - stream_add2=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add2", add2.tree != NULL ? add2.tree : NULL); stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL); root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -4065,8 +4065,8 @@ } retval.tree = root_0; // set result root + if (stream_add2 != NULL) stream_add2->free(stream_add2); if (stream_add1 != NULL) stream_add1->free(stream_add1); - if (stream_add2 != NULL) stream_add2->free(stream_add2); if (stream_retval != NULL) stream_retval->free(stream_retval); @@ -4386,19 +4386,19 @@ /* AST REWRITE - * elements : add2, add1, add1, PLUS, add2, add1, PLUS, add2, add2 + * elements : add1, add2, add2, PLUS, add2, add1, PLUS, add2, add1 * token labels : - * rule labels : add1, add2, retval + * rule labels : add2, add1, retval * token list labels : * rule list labels : */ { + pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add2; pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add1; - pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_add2; pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval; + stream_add2=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add2", add2.tree != NULL ? add2.tree : NULL); stream_add1=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add1", add1.tree != NULL ? add1.tree : NULL); - stream_add2=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token add2", add2.tree != NULL ? add2.tree : NULL); stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL); root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -4511,8 +4511,8 @@ } retval.tree = root_0; // set result root + if (stream_add2 != NULL) stream_add2->free(stream_add2); if (stream_add1 != NULL) stream_add1->free(stream_add1); - if (stream_add2 != NULL) stream_add2->free(stream_add2); if (stream_retval != NULL) stream_retval->free(stream_retval); @@ -4560,6 +4560,13 @@ printf("-->%d : %d\n", *(int*) (SCOPE_TOP(constraints))->dist->peek( (SCOPE_TOP(constraints))->dist), (SCOPE_TOP(constraints))->dist->size( (SCOPE_TOP(constraints))->dist)); } flipped = true; + } else { + i = -i; + (SCOPE_TOP(constraints))->dist->push( (SCOPE_TOP(constraints))->dist, &i, NULL); + if(DEBUG) { + printf("-->%d : %d\n", *(int*) (SCOPE_TOP(constraints))->dist->peek( (SCOPE_TOP(constraints))->dist), (SCOPE_TOP(constraints))->dist->size( (SCOPE_TOP(constraints))->dist)); + } + flipped = true; } } @@ -4576,14 +4583,14 @@ CREATE_stream_additiveExpression; stream_additiveExpression->add(stream_additiveExpression, add2.tree, NULL); { + if(DEBUG) { + printf("<--%d : ", *(int*) (SCOPE_TOP(constraints))->dist->peek( (SCOPE_TOP(constraints))->dist)); + } + (SCOPE_TOP(constraints))->dist->pop( (SCOPE_TOP(constraints))->dist); + if(DEBUG) { + printf("%d\n", (SCOPE_TOP(constraints))->dist->size( (SCOPE_TOP(constraints))->dist)); + } if(flipped) { - if(DEBUG) { - printf("<--%d : ", *(int*) (SCOPE_TOP(constraints))->dist->peek( (SCOPE_TOP(constraints))->dist)); - } - (SCOPE_TOP(constraints))->dist->pop( (SCOPE_TOP(constraints))->dist); - if(DEBUG) { - printf("%d\n", (SCOPE_TOP(constraints))->dist->size( (SCOPE_TOP(constraints))->dist)); - } tok = ADAPTOR->createToken(ADAPTOR, PLUS, (pANTLR3_UINT8)"+"); } else { tok = ADAPTOR->createToken(ADAPTOR, MINUS, (pANTLR3_UINT8)"-"); @@ -4603,7 +4610,7 @@ /* AST REWRITE - * elements : add1, add1, add2, add2, MINUS, add2, add1, add2 + * elements : add1, add1, add2, MINUS, add2, add2, add1, add2 * token labels : * rule labels : add2, add1, retval * token list labels : @@ -4620,15 +4627,15 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 225:9: -> {$add1.numeric && $add2.numeric}? + // 232:9: -> {$add1.numeric && $add2.numeric}? if (add1.numeric && add2.numeric) { root_0 = NULL; /* <-- rewriteEmptyAlt()) */ } - else // 226:7: -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) + else // 233:7: -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) if (add1.numeric && flipped) { - // /Users/bion/projects/iordache/translator/pncompactor.g:226:40: ^( PLUS[tok, \"+\"] $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:233:40: ^( PLUS[tok, \"+\"] $add2) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -4645,10 +4652,10 @@ } } - else // 227:7: -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) + else // 234:7: -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) if (add1.numeric) { - // /Users/bion/projects/iordache/translator/pncompactor.g:227:32: ^( MINUS[tok, \"-\"] $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:234:32: ^( MINUS[tok, \"-\"] $add2) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -4665,10 +4672,10 @@ } } - else // 228:7: -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) + else // 235:7: -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) if (add2.numeric) { - // /Users/bion/projects/iordache/translator/pncompactor.g:228:32: ^( PLUS[tok, \"+\"] $add1) + // /Users/bion/projects/iordache/translator/pncompactor.g:235:32: ^( PLUS[tok, \"+\"] $add1) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -4685,10 +4692,10 @@ } } - else // 229:7: -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) + else // 236:7: -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) if (flipped) { - // /Users/bion/projects/iordache/translator/pncompactor.g:229:28: ^( ADD[tok, \"+\"] $add1 $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:236:28: ^( ADD[tok, \"+\"] $add1 $add2) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -4706,9 +4713,9 @@ } } - else // 230:7: -> ^( SUB[tok, \"-\"] $add1 $add2) + else // 237:7: -> ^( SUB[tok, \"-\"] $add1 $add2) { - // /Users/bion/projects/iordache/translator/pncompactor.g:230:21: ^( SUB[tok, \"-\"] $add1 $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:237:21: ^( SUB[tok, \"-\"] $add1 $add2) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -4764,7 +4771,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pncompactor.g:231:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( SUB additiveExpression[true] ) -> additiveExpression | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number additiveExpression[false] ) -> {$number.value == 0}? -> additiveExpression ); + * /Users/bion/projects/iordache/translator/pncompactor.g:238:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( SUB additiveExpression[true] ) -> additiveExpression | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number additiveExpression[false] ) -> {$number.value == 0}? -> additiveExpression ); */ static pncompactor_primary_return primary(ppncompactor ctx, bool enableAlt) @@ -4856,7 +4863,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:241:5: ( ^( SUB additiveExpression[true] ) -> additiveExpression | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number additiveExpression[false] ) -> {$number.value == 0}? -> additiveExpression ) + // /Users/bion/projects/iordache/translator/pncompactor.g:248:5: ( ^( SUB additiveExpression[true] ) -> additiveExpression | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number additiveExpression[false] ) -> {$number.value == 0}? -> additiveExpression ) ANTLR3_UINT32 alt24; @@ -4900,7 +4907,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:241:9: ^( SUB additiveExpression[true] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:248:9: ^( SUB additiveExpression[true] ) { _last = (pANTLR3_BASE_TREE)LT(1); { @@ -4971,7 +4978,7 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 255:9: -> additiveExpression + // 262:9: -> additiveExpression { ADAPTOR->addChild(ADAPTOR, root_0, stream_additiveExpression == NULL ? NULL : stream_additiveExpression->nextTree(stream_additiveExpression)); @@ -4985,7 +4992,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:256:7: group_elements + // /Users/bion/projects/iordache/translator/pncompactor.g:263:7: group_elements { _last = (pANTLR3_BASE_TREE)LT(1); FOLLOWPUSH(FOLLOW_group_elements_in_primary977); @@ -5026,15 +5033,15 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 265:8: -> {!enableAlt || i == 1}? group_elements + // 272:8: -> {!enableAlt || i == 1}? group_elements if (!enableAlt || i == 1) { ADAPTOR->addChild(ADAPTOR, root_0, stream_group_elements == NULL ? NULL : stream_group_elements->nextTree(stream_group_elements)); } - else // 266:8: -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) + else // 273:8: -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) { - // /Users/bion/projects/iordache/translator/pncompactor.g:266:16: ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) + // /Users/bion/projects/iordache/translator/pncompactor.g:273:16: ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, @@ -5067,7 +5074,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pncompactor.g:267:7: number + // /Users/bion/projects/iordache/translator/pncompactor.g:274:7: number { _last = (pANTLR3_BASE_TREE)LT(1); FOLLOWPUSH(FOLLOW_number_in_primary1017); @@ -5103,7 +5110,7 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 271:8: -> + // 278:8: -> { root_0 = NULL; /* <-- rewriteEmptyAlt()) */ } @@ -5116,7 +5123,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pncompactor.g:272:7: ^( MULT number additiveExpression[false] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:279:7: ^( MULT number additiveExpression[false] ) { _last = (pANTLR3_BASE_TREE)LT(1); { @@ -5199,12 +5206,12 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 287:8: -> {$number.value == 0}? + // 294:8: -> {$number.value == 0}? if (number57.value == 0) { root_0 = NULL; /* <-- rewriteEmptyAlt()) */ } - else // 288:7: -> additiveExpression + else // 295:7: -> additiveExpression { ADAPTOR->addChild(ADAPTOR, root_0, stream_additiveExpression == NULL ? NULL : stream_additiveExpression->nextTree(stream_additiveExpression)); @@ -5247,7 +5254,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pncompactor.g:289:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pncompactor.g:296:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static pncompactor_live_def_return live_def(ppncompactor ctx) @@ -5299,7 +5306,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:290:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:297:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt27; @@ -5370,7 +5377,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:290:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pncompactor.g:297:4: ^( LIVE ALL ( ID )* ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -5404,7 +5411,7 @@ ALL60_tree = (pANTLR3_BASE_TREE)ADAPTOR->dupNode(ADAPTOR, ALL60);ADAPTOR->addChild(ADAPTOR, root_1, ALL60_tree); - // /Users/bion/projects/iordache/translator/pncompactor.g:290:15: ( ID )* + // /Users/bion/projects/iordache/translator/pncompactor.g:297:15: ( ID )* for (;;) { @@ -5422,7 +5429,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:290:15: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:297:15: ID { _last = (pANTLR3_BASE_TREE)LT(1); ID61 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def1068); @@ -5452,7 +5459,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:291:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pncompactor.g:298:4: ^( LIVE ( ID )+ ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -5476,7 +5483,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); - // /Users/bion/projects/iordache/translator/pncompactor.g:291:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pncompactor.g:298:11: ( ID )+ { int cnt26=0; @@ -5496,7 +5503,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:291:11: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:298:11: ID { _last = (pANTLR3_BASE_TREE)LT(1); ID63 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def1078); @@ -5564,7 +5571,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pncompactor.g:292:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:299:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static pncompactor_uncontrol_return uncontrol(ppncompactor ctx) @@ -5603,8 +5610,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:293:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:293:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pncompactor.g:300:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:300:4: ^( UNCONTROL ( ID )+ ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -5628,7 +5635,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); - // /Users/bion/projects/iordache/translator/pncompactor.g:293:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pncompactor.g:300:16: ( ID )+ { int cnt28=0; @@ -5648,7 +5655,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:293:16: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:300:16: ID { _last = (pANTLR3_BASE_TREE)LT(1); ID65 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol1092); @@ -5713,7 +5720,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pncompactor.g:294:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:301:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static pncompactor_unobserve_return unobserve(ppncompactor ctx) @@ -5752,8 +5759,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:295:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:295:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pncompactor.g:302:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:302:4: ^( UNOBSERVE ( ID )+ ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -5777,7 +5784,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); - // /Users/bion/projects/iordache/translator/pncompactor.g:295:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pncompactor.g:302:16: ( ID )+ { int cnt29=0; @@ -5797,7 +5804,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:295:16: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:302:16: ID { _last = (pANTLR3_BASE_TREE)LT(1); ID67 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve1106); @@ -5862,7 +5869,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pncompactor.g:297:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pncompactor.g:304:1: other_commands : print ; */ static pncompactor_other_commands_return other_commands(ppncompactor ctx) @@ -5898,8 +5905,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:298:2: ( print ) - // /Users/bion/projects/iordache/translator/pncompactor.g:298:4: print + // /Users/bion/projects/iordache/translator/pncompactor.g:305:2: ( print ) + // /Users/bion/projects/iordache/translator/pncompactor.g:305:4: print { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -5941,7 +5948,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pncompactor.g:299:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:306:1: print : ^( PRINT ID group_elements ) ; */ static pncompactor_print_return print(ppncompactor ctx) @@ -5985,8 +5992,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:300:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:300:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pncompactor.g:307:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:307:4: ^( PRINT ID group_elements ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -6061,7 +6068,7 @@ /** * $ANTLR start number - * /Users/bion/projects/iordache/translator/pncompactor.g:302:1: number returns [int value] : ( INT -> NUM[tok, newVal] | ^( MINUS INT ) -> NUM[tok, newVal] ); + * /Users/bion/projects/iordache/translator/pncompactor.g:309:1: number returns [int value] : ( INT -> NUM[tok, newVal] | ^( MINUS INT ) -> NUM[tok, newVal] ); */ static pncompactor_number_return number(ppncompactor ctx) @@ -6117,7 +6124,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:309:2: ( INT -> NUM[tok, newVal] | ^( MINUS INT ) -> NUM[tok, newVal] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:316:2: ( INT -> NUM[tok, newVal] | ^( MINUS INT ) -> NUM[tok, newVal] ) ANTLR3_UINT32 alt30; @@ -6150,7 +6157,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:309:4: INT + // /Users/bion/projects/iordache/translator/pncompactor.g:316:4: INT { _last = (pANTLR3_BASE_TREE)LT(1); INT72 = (pANTLR3_BASE_TREE) MATCHT(INT, &FOLLOW_INT_in_number1151); @@ -6190,7 +6197,7 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 319:5: -> NUM[tok, newVal] + // 326:5: -> NUM[tok, newVal] { ADAPTOR->addChild(ADAPTOR, root_0, #if 2 == 2 @@ -6210,7 +6217,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:320:4: ^( MINUS INT ) + // /Users/bion/projects/iordache/translator/pncompactor.g:327:4: ^( MINUS INT ) { _last = (pANTLR3_BASE_TREE)LT(1); { @@ -6269,7 +6276,7 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 327:5: -> NUM[tok, newVal] + // 334:5: -> NUM[tok, newVal] { ADAPTOR->addChild(ADAPTOR, root_0, #if 2 == 2 @@ -6316,7 +6323,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pncompactor.g:328:1: group_elements : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:335:1: group_elements : ^( GROUP ( ID )+ ) ; */ static pncompactor_group_elements_return group_elements(ppncompactor ctx) @@ -6355,8 +6362,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:329:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:329:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pncompactor.g:336:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:336:4: ^( GROUP ( ID )+ ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -6380,7 +6387,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); - // /Users/bion/projects/iordache/translator/pncompactor.g:329:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pncompactor.g:336:12: ( ID )+ { int cnt31=0; @@ -6400,7 +6407,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:329:12: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:336:12: ID { _last = (pANTLR3_BASE_TREE)LT(1); ID76 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements1186); @@ -6465,7 +6472,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pncompactor.g:330:1: numbered_ID : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pncompactor.g:337:1: numbered_ID : ( ID | ^( ID INT ) ); */ static pncompactor_numbered_ID_return numbered_ID(ppncompactor ctx) @@ -6509,7 +6516,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:331:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:338:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt32; @@ -6561,7 +6568,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:331:4: ID + // /Users/bion/projects/iordache/translator/pncompactor.g:338:4: ID { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -6578,7 +6585,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:332:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pncompactor.g:339:4: ^( ID INT ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); Modified: translator/pncompactor.g =================================================================== --- translator/pncompactor.g 2009-07-08 20:25:11 UTC (rev 191) +++ translator/pncompactor.g 2009-07-08 20:52:51 UTC (rev 192) @@ -24,7 +24,7 @@ #include <stdbool.h> #include "general.h" - #define DEBUG false + #define DEBUG true } @members { @@ -201,17 +201,24 @@ printf("-->\%d : \%d\n", *(int*)$constraints::dist->peek($constraints::dist), $constraints::dist->size($constraints::dist)); } flipped = true; + } else { + i = -i; + $constraints::dist->push($constraints::dist, &i, NULL); + if(DEBUG) { + printf("-->\%d : \%d\n", *(int*)$constraints::dist->peek($constraints::dist), $constraints::dist->size($constraints::dist)); + } + flipped = true; } } add2=additiveExpression[true] { + if(DEBUG) { + printf("<--\%d : ", *(int*)$constraints::dist->peek($constraints::dist)); + } + $constraints::dist->pop($constraints::dist); + if(DEBUG) { + printf("\%d\n", $constraints::dist->size($constraints::dist)); + } if(flipped) { - if(DEBUG) { - printf("<--\%d : ", *(int*)$constraints::dist->peek($constraints::dist)); - } - $constraints::dist->pop($constraints::dist); - if(DEBUG) { - printf("\%d\n", $constraints::dist->size($constraints::dist)); - } tok = ADAPTOR->createToken(ADAPTOR, PLUS, (pANTLR3_UINT8)"+"); } else { tok = ADAPTOR->createToken(ADAPTOR, MINUS, (pANTLR3_UINT8)"-"); Modified: translator/pncompactor.h =================================================================== --- translator/pncompactor.h 2009-07-08 20:25:11 UTC (rev 191) +++ translator/pncompactor.h 2009-07-08 20:52:51 UTC (rev 192) @@ -2,7 +2,7 @@ * This C header file was generated by $ANTLR version 3.1.2 * * - From the grammar source file : /Users/bion/projects/iordache/translator/pncompactor.g - * - On : 2009-07-08 15:13:37 + * - On : 2009-07-08 15:50:56 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -110,7 +110,7 @@ #include <stdbool.h> #include "general.h" - #define DEBUG false + #define DEBUG true #ifdef ANTLR3_WINDOWS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |