pntool-developers Mailing List for A Concurrency Tool Suite (Page 4)
Brought to you by:
compaqdrew,
miordache
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(69) |
Jul
(86) |
Aug
(33) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(3) |
Jun
(1) |
Jul
(10) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <the...@us...> - 2009-07-08 20:25:14
|
Revision: 191 http://pntool.svn.sourceforge.net/pntool/?rev=191&view=rev Author: thecodeweasel Date: 2009-07-08 20:25:11 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Cleaning up Modified Paths: -------------- translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-08 20:22:28 UTC (rev 190) +++ translator/pngenerator.c 2009-07-08 20:25:11 UTC (rev 191) @@ -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/pngenerator.g - * - On : 2009-07-08 15:21:25 + * - On : 2009-07-08 15:24:37 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -535,9 +535,9 @@ // // If the user supplied the scope entries with a free function,then call it first // - if (SCOPE_TOP(proc_definitions)>free != NULL) + if (SCOPE_TOP(proc_definitions)->free != NULL) { - SCOPE_TOP(proc_definitions)>->free(SCOPE_TOP(proc_definitions)); + SCOPE_TOP(proc_definitions)->free(SCOPE_TOP(proc_definitions)); } // Now we decrement the scope's upper limit bound. We do not actually pop the scope as @@ -559,9 +559,9 @@ // // If the user supplied the scope entries with a free function,then call it first // - if (SCOPE_TOP(proc_instantiations)>free != NULL) + if (SCOPE_TOP(proc_instantiations)->free != NULL) { - SCOPE_TOP(proc_instantiations)>->free(SCOPE_TOP(proc_instantiations)); + SCOPE_TOP(proc_instantiations)->free(SCOPE_TOP(proc_instantiations)); } // Now we decrement the scope's upper limit bound. We do not actually pop the scope as @@ -583,9 +583,9 @@ // // If the user supplied the scope entries with a free function,then call it first // - if (SCOPE_TOP(constraints)>free != NULL) + if (SCOPE_TOP(constraints)->free != NULL) { - SCOPE_TOP(constraints)>->free(SCOPE_TOP(constraints)); + SCOPE_TOP(constraints)->free(SCOPE_TOP(constraints)); } // Now we decrement the scope's upper limit bound. We do not actually pop the scope as @@ -1182,13 +1182,11 @@ threads = threadData; output = tmalloc(sizeof(specs)); //copy the file name into the specs structure - printf("Starting...\n"); if(strrchr(fileName, '/')) { fileName = strrchr(fileName, '/')+sizeof(char); } output->name = tcalloc(strlen(fileName), sizeof(char)); strncpy(output->name, fileName, strcspn(fileName, ".")); - printf("Starting...\n"); //prep the pn array output->pn_array = NULL; output->pn_num = 0; @@ -1197,10 +1195,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:161:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:161:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:159:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:159:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:161:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:159:4: ( proc_definitions )+ { int cnt1=0; @@ -1260,7 +1258,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:161:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:159:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1294,7 +1292,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:161:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:159:22: ( proc_instantiations )+ { int cnt2=0; @@ -1340,7 +1338,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:161:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:159:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1375,7 +1373,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:161:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:159:43: ( constraints )* for (;;) { @@ -1393,7 +1391,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:161:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:159:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1416,7 +1414,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:161:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:159:56: ( other_commands )* for (;;) { @@ -1434,7 +1432,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:161:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:159:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1502,7 +1500,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:183:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:181:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1512,8 +1510,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:189:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:189:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:187:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:187:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1533,7 +1531,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:189:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:187:16: ( trans_defs )* for (;;) { @@ -1551,7 +1549,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:187:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1574,7 +1572,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:189:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:187:28: ( select_functions )* for (;;) { @@ -1592,7 +1590,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:187:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1615,7 +1613,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:189:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:187:46: ( nondeterm )? { int alt7=2; { @@ -1628,7 +1626,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:187:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1678,7 +1676,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:190:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:188:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1695,8 +1693,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:194:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:194:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:192:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:192:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1752,7 +1750,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:217:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:215:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1763,7 +1761,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:218:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:216:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1796,7 +1794,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:218:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:216:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1811,7 +1809,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:219:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:217:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1848,7 +1846,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:220:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:218:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1871,11 +1869,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:226:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:226:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:224:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:224:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:226:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:224:6: ( TO | FROM ) { int alt9=2; @@ -1905,7 +1903,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:226:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:224:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -1923,7 +1921,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:229:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:227:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -1950,7 +1948,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:232:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:230:6: ( ID )+ { int cnt10=0; @@ -1970,7 +1968,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:232:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:230:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2037,7 +2035,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:236:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:234:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2074,7 +2072,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:247:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:245:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2150,7 +2148,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:247:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:245:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2192,7 +2190,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:256:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:254:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2213,7 +2211,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:258:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:256:5: (place= ID )+ { int cnt11=0; @@ -2233,7 +2231,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:258:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:256:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2287,7 +2285,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:274:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:272:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2300,7 +2298,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:274:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:272:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2335,7 +2333,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:280:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:278:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2368,7 +2366,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:284:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:282:5: (place= ID )* for (;;) { @@ -2386,7 +2384,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:284:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:282:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2427,7 +2425,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:299:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:297:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2440,7 +2438,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:299:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:297:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2497,7 +2495,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:304:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:302:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2513,8 +2511,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:305:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:305:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:303:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:303:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2580,7 +2578,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:312:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:310:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2594,8 +2592,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:313:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:313:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:311:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:311:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(48, &FOLLOW_48_in_nondeterm288); if (HASEXCEPTION()) @@ -2610,7 +2608,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:313:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:311:34: ( ID )+ { int cnt16=0; @@ -2630,7 +2628,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:313:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:311:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2698,7 +2696,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:320:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:318:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2708,11 +2706,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:326:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:324:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:324:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:324:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2747,7 +2745,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:324:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2762,7 +2760,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:324:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2777,7 +2775,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:324:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2819,7 +2817,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:328:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:326:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2844,7 +2842,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:333:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:331:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -2896,7 +2894,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:333:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:331:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -2927,7 +2925,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:350:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:348:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -2958,7 +2956,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:362:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:360:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -2978,7 +2976,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:362:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:360:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3064,7 +3062,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:377:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:375:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3084,8 +3082,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:382:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:382:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:380:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:380:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3100,7 +3098,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:382:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:380:15: ( group_elements )+ { int cnt20=0; @@ -3120,7 +3118,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:382:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:380:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3234,7 +3232,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:427:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:425:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3248,8 +3246,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:428:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:428:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:426:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:426:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3264,7 +3262,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:428:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:426:12: ( ID )+ { int cnt21=0; @@ -3284,7 +3282,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:428:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:426:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3354,7 +3352,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:436:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:434:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3368,8 +3366,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:443:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:443:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3389,7 +3387,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:443:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:441:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3424,10 +3422,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:443:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:441:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3469,7 +3467,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:462:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3484,7 +3482,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:462:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3499,7 +3497,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:462:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3554,7 +3552,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:465:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:463:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3568,8 +3566,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:466:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:466:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:464:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:464:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3620,7 +3618,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:485:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:483:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3654,7 +3652,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:490:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:488:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3687,7 +3685,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:490:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:488:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3705,10 +3703,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:491:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:489:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:491:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:489:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3738,7 +3736,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:491:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:489:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3755,7 +3753,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:493:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:491:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3864,7 +3862,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:517:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:515:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -3887,8 +3885,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:525:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:525:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:523:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:523:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -3962,7 +3960,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:538:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) | ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) | ^( PLUS additiveExpression[list, flip] ) | ^( MINUS additiveExpression[list, !flip] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:536:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) | ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) | ^( PLUS additiveExpression[list, flip] ) | ^( MINUS additiveExpression[list, !flip] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -3979,7 +3977,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:539:5: ( primary[flip] | ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) | ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) | ^( PLUS additiveExpression[list, flip] ) | ^( MINUS additiveExpression[list, !flip] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:537:5: ( primary[flip] | ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) | ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) | ^( PLUS additiveExpression[list, flip] ) | ^( MINUS additiveExpression[list, !flip] ) ) ANTLR3_UINT32 alt25; @@ -4028,7 +4026,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:539:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:537:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4046,7 +4044,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:540:7: ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:538:7: ^( ADD additiveExpression[list, flip] additiveExpression[list, flip] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4090,7 +4088,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:541:7: ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:539:7: ^( SUB additiveExpression[list, flip] additiveExpression[list, !flip] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4134,7 +4132,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:542:7: ^( PLUS additiveExpression[list, flip] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:540:7: ^( PLUS additiveExpression[list, flip] ) { MATCHT(PLUS, &FOLLOW_PLUS_in_additiveExpression598); if (HASEXCEPTION()) @@ -4169,7 +4167,7 @@ } break; case 5: - // /Users/bion/projects/iordache/translator/pngenerator.g:543:7: ^( MINUS additiveExpression[list, !flip] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:541:7: ^( MINUS additiveExpression[list, !flip] ) { MATCHT(MINUS, &FOLLOW_MINUS_in_additiveExpression611); if (HASEXCEPTION()) @@ -4226,7 +4224,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:545:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:543:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4252,7 +4250,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:546:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:544:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4285,7 +4283,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:546:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:544:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary635); group_elements21=group_elements(ctx); @@ -4309,7 +4307,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:553:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:551:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary646); if (HASEXCEPTION()) @@ -4381,7 +4379,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:560:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:558:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4401,7 +4399,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:564:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:562:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4472,7 +4470,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:564:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:562:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def668); if (HASEXCEPTION()) @@ -4504,7 +4502,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:571:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:569:5: ( ID )* for (;;) { @@ -4522,7 +4520,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:571:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:569:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def675); if (HASEXCEPTION()) @@ -4570,7 +4568,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:584:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:582:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def688); if (HASEXCEPTION()) @@ -4585,7 +4583,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:584:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:582:11: ( ID )+ { int cnt28=0; @@ -4605,7 +4603,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:584:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:582:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def691); if (HASEXCEPTION()) @@ -4676,7 +4674,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:589:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:587:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4690,8 +4688,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:590:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:590:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:588:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:588:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol706); if (HASEXCEPTION()) @@ -4706,7 +4704,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:590:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:588:16: ( ID )+ { int cnt30=0; @@ -4726,7 +4724,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:590:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:588:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol709); if (HASEXCEPTION()) @@ -4794,7 +4792,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:595:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:593:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4808,8 +4806,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:596:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:596:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:594:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:594:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve724); if (HASEXCEPTION()) @@ -4824,7 +4822,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:596:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:594:16: ( ID )+ { int cnt31=0; @@ -4844,7 +4842,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:596:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:594:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve727); if (HASEXCEPTION()) @@ -4912,7 +4910,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:600:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4922,8 +4920,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:603:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:603:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:601:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:601:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands742); print(ctx); @@ -4957,7 +4955,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:604:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -4967,8 +4965,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:605:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:605:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:603:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:603:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print753); if (HASEXCEPTION()) @@ -5028,7 +5026,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:607:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:605:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -5047,8 +5045,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:611:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:611:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:609:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:609:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements778); if (HASEXCEPTION()) @@ -5063,7 +5061,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:611:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:609:12: ( ID )+ { int cnt32=0; @@ -5083,7 +5081,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:611:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:609:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements781); if (HASEXCEPTION()) @@ -5149,7 +5147,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:614:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:612:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5170,7 +5168,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:615:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:613:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5222,7 +5220,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:615:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:613:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID800); if (HASEXCEPTION()) @@ -5241,7 +5239,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:620:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pngenerator.g:618:4: ^( ID INT ) { ID30 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID808); if (HASEXCEPTION()) Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-08 20:22:28 UTC (rev 190) +++ translator/pngenerator.g 2009-07-08 20:25:11 UTC (rev 191) @@ -144,13 +144,11 @@ threads = threadData; output = tmalloc(sizeof(specs)); //copy the file name into the specs structure - printf("Starting...\n"); if(strrchr(fileName, '/')) { fileName = strrchr(fileName, '/')+sizeof(char); } output->name = tcalloc(strlen(fileName), sizeof(char)); strncpy(output->name, fileName, strcspn(fileName, ".")); - printf("Starting...\n"); //prep the pn array output->pn_array = NULL; output->pn_num = 0; Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-08 20:22:28 UTC (rev 190) +++ translator/pngenerator.h 2009-07-08 20:25:11 UTC (rev 191) @@ -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/pngenerator.g - * - On : 2009-07-08 15:21:25 + * - On : 2009-07-08 15:24:37 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-08 20:22:29
|
Revision: 190 http://pntool.svn.sourceforge.net/pntool/?rev=190&view=rev Author: thecodeweasel Date: 2009-07-08 20:22:28 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Fixed a bug in equations involving embeded constants Adding support for <, >, >= Note that there is currently a bug with distributing multiplication across multiple symbols in parenthesis Additional code coverage for the compactor Fixing a bug with file names that do not have a path prefix Modified Paths: -------------- translator/docs/test.txt translator/pncompactor.c translator/pncompactor.g translator/pncompactor.h translator/pncompactor.tokens translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h translator/pngenerator.tokens translator/pnscript.g translator/pnscript.tokens translator/pnscriptLexer.c translator/pnscriptLexer.h translator/pnscriptParser.c translator/pnscriptParser.h translator/pnscript_java_compat.g Modified: translator/docs/test.txt =================================================================== --- translator/docs/test.txt 2009-07-08 17:40:08 UTC (rev 189) +++ translator/docs/test.txt 2009-07-08 20:22:28 UTC (rev 190) @@ -76,8 +76,8 @@ (r_group.p1b <= 0 || w_group.pwr_1 <= 0) && (reader1.p2 <= 0 || writer1.pwr2 <= 0); q.reader1.t1 - writer1.p <= 0; 1*reader1.t1 + 1 + w_group.pwr_2 <= 3 + 2*reader1.t2; -//reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1; -//(reader1.t1 - (reader1.t2 + w_group.pwr_2) >= 0) || (r_group.p1b <= 0 && (w_group.pwr_1 > 0)); -//-3*((reader1.p2+2)-2*w_group.pwr_2) < -(4*r_group.p1b-2*(3*writer1.pwr2-2)); +reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1; +(reader1.t1 - (reader1.t2 + w_group.pwr_2) >= 0) || (r_group.p1b <= 0 && (w_group.pwr_1 > 0)); +-3*((reader1.p2+2)-2*w_group.pwr_2) < -(4*r_group.p1b-2*(3*writer1.pwr2-2)); //################################################ print supervisor to debug.log; \ No newline at end of file Modified: translator/pncompactor.c =================================================================== --- translator/pncompactor.c 2009-07-08 17:40:08 UTC (rev 189) +++ translator/pncompactor.c 2009-07-08 20:22:28 UTC (rev 190) @@ -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 00:29:39 + * - On : 2009-07-08 15:13:37 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -289,6 +289,7 @@ (pANTLR3_UINT8) "FROM", (pANTLR3_UINT8) "GROUP", (pANTLR3_UINT8) "PLACE", + (pANTLR3_UINT8) "SUB", (pANTLR3_UINT8) "EXTERN", (pANTLR3_UINT8) "PROCESS", (pANTLR3_UINT8) "ID", @@ -330,7 +331,6 @@ (pANTLR3_UINT8) "'nondeterministic places: '", (pANTLR3_UINT8) "'to'", (pANTLR3_UINT8) "ADD", - (pANTLR3_UINT8) "SUB", (pANTLR3_UINT8) "NUM" }; @@ -379,7 +379,7 @@ static pncompactor_constraint_block_return constraint_block (ppncompactor ctx); static pncompactor_eq_return eq (ppncompactor ctx); static pncompactor_relationalExpression_return relationalExpression (ppncompactor ctx); -static pncompactor_additiveExpression_return additiveExpression (ppncompactor ctx); +static pncompactor_additiveExpression_return additiveExpression (ppncompactor ctx, bool enableAlt); static pncompactor_primary_return primary (ppncompactor ctx, bool enableAlt); static pncompactor_live_def_return live_def (ppncompactor ctx); static pncompactor_uncontrol_return uncontrol (ppncompactor ctx); @@ -554,382 +554,271 @@ /* Declare the bitsets */ -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_definitions_in_pn100 */ -static ANTLR3_BITWORD FOLLOW_proc_definitions_in_pn100_bits[] = { ANTLR3_UINT64_LIT(0x0000000001800800) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_definitions_in_pn100 = { FOLLOW_proc_definitions_in_pn100_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_instantiations_in_pn103 */ -static ANTLR3_BITWORD FOLLOW_proc_instantiations_in_pn103_bits[] = { ANTLR3_UINT64_LIT(0x0000001001800802) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_instantiations_in_pn103 = { FOLLOW_proc_instantiations_in_pn103_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraints_in_pn106 */ -static ANTLR3_BITWORD FOLLOW_constraints_in_pn106_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_constraints_in_pn106 = { FOLLOW_constraints_in_pn106_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_other_commands_in_pn109 */ -static ANTLR3_BITWORD FOLLOW_other_commands_in_pn109_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_other_commands_in_pn109 = { FOLLOW_other_commands_in_pn109_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_def_start_in_proc_definitions123 */ -static ANTLR3_BITWORD FOLLOW_def_start_in_proc_definitions123_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_def_start_in_proc_definitions123 = { FOLLOW_def_start_in_proc_definitions123_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_defs_in_proc_definitions125 */ -static ANTLR3_BITWORD FOLLOW_trans_defs_in_proc_definitions125_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400868) }; -static ANTLR3_BITSET_LIST FOLLOW_trans_defs_in_proc_definitions125 = { FOLLOW_trans_defs_in_proc_definitions125_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_functions_in_proc_definitions128 */ -static ANTLR3_BITWORD FOLLOW_select_functions_in_proc_definitions128_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400008) }; -static ANTLR3_BITSET_LIST FOLLOW_select_functions_in_proc_definitions128 = { FOLLOW_select_functions_in_proc_definitions128_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_nondeterm_in_proc_definitions131 */ -static ANTLR3_BITWORD FOLLOW_nondeterm_in_proc_definitions131_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_nondeterm_in_proc_definitions131 = { FOLLOW_nondeterm_in_proc_definitions131_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_def_start142 */ -static ANTLR3_BITWORD FOLLOW_ID_in_def_start142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_def_start142 = { FOLLOW_ID_in_def_start142_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_extern_trans_def_in_trans_defs150 */ -static ANTLR3_BITWORD FOLLOW_extern_trans_def_in_trans_defs150_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_extern_trans_def_in_trans_defs150 = { FOLLOW_extern_trans_def_in_trans_defs150_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_def_in_trans_defs155 */ -static ANTLR3_BITWORD FOLLOW_trans_def_in_trans_defs155_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_trans_def_in_trans_defs155 = { FOLLOW_trans_def_in_trans_defs155_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_extern_trans_def165 */ -static ANTLR3_BITWORD FOLLOW_set_in_extern_trans_def165_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_extern_trans_def165 = { FOLLOW_set_in_extern_trans_def165_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_extern_trans_def173 */ -static ANTLR3_BITWORD FOLLOW_ID_in_extern_trans_def173_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_extern_trans_def173 = { FOLLOW_ID_in_extern_trans_def173_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def185 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def185_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def185 = { FOLLOW_ID_in_trans_def185_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def187 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def187_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def187 = { FOLLOW_CODE_BLOCK_in_trans_def187_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def194 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def194_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def194 = { FOLLOW_ID_in_trans_def194_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def196 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def196_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def196 = { FOLLOW_ID_in_trans_def196_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def199 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def199_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def199 = { FOLLOW_CODE_BLOCK_in_trans_def199_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def207 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def207_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def207 = { FOLLOW_ID_in_trans_def207_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLACE_in_trans_def209 */ -static ANTLR3_BITWORD FOLLOW_PLACE_in_trans_def209_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_PLACE_in_trans_def209 = { FOLLOW_PLACE_in_trans_def209_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def211 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def211_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def211 = { FOLLOW_ID_in_trans_def211_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def214 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def214_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def214 = { FOLLOW_CODE_BLOCK_in_trans_def214_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_DEF_in_select_functions225 */ -static ANTLR3_BITWORD FOLLOW_SELECT_DEF_in_select_functions225_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_SELECT_DEF_in_select_functions225 = { FOLLOW_SELECT_DEF_in_select_functions225_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_select_functions227 */ -static ANTLR3_BITWORD FOLLOW_ID_in_select_functions227_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_select_functions227 = { FOLLOW_ID_in_select_functions227_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_select_functions229 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_select_functions229_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_select_functions229 = { FOLLOW_CODE_BLOCK_in_select_functions229_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_47_in_nondeterm240 */ -static ANTLR3_BITWORD FOLLOW_47_in_nondeterm240_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_47_in_nondeterm240 = { FOLLOW_47_in_nondeterm240_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_nondeterm242 */ -static ANTLR3_BITWORD FOLLOW_ID_in_nondeterm242_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_nondeterm242 = { FOLLOW_ID_in_nondeterm242_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_init_in_proc_instantiations254 */ -static ANTLR3_BITWORD FOLLOW_proc_init_in_proc_instantiations254_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_init_in_proc_instantiations254 = { FOLLOW_proc_init_in_proc_instantiations254_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_sync_def_in_proc_instantiations258 */ -static ANTLR3_BITWORD FOLLOW_sync_def_in_proc_instantiations258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_sync_def_in_proc_instantiations258 = { FOLLOW_sync_def_in_proc_instantiations258_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_start_in_proc_instantiations262 */ -static ANTLR3_BITWORD FOLLOW_proc_start_in_proc_instantiations262_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_start_in_proc_instantiations262 = { FOLLOW_proc_start_in_proc_instantiations262_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init271 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init271_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init271 = { FOLLOW_ID_in_proc_init271_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init277 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init277_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init277 = { FOLLOW_ID_in_proc_init277_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init279 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init279_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init279 = { FOLLOW_numbered_ID_in_proc_init279_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def291 */ -static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def291_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def291 = { FOLLOW_SYNC_TOK_in_sync_def291_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def293 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def293_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def293 = { FOLLOW_group_elements_in_sync_def293_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start305 */ -static ANTLR3_BITWORD FOLLOW_START_in_proc_start305_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start305 = { FOLLOW_START_in_proc_start305_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start307 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_start307_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start307 = { FOLLOW_ID_in_proc_start307_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints324 */ -static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints324_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints324 = { FOLLOW_constraint_block_in_constraints324_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints330 */ -static ANTLR3_BITWORD FOLLOW_eq_in_constraints330_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints330 = { FOLLOW_eq_in_constraints330_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints335 */ -static ANTLR3_BITWORD FOLLOW_live_def_in_constraints335_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints335 = { FOLLOW_live_def_in_constraints335_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints337 */ -static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints337_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints337 = { FOLLOW_uncontrol_in_constraints337_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints339 */ -static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints339_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints339 = { FOLLOW_unobserve_in_constraints339_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block350 */ -static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block350_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block350 = { FOLLOW_ID_in_constraint_block350_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq359 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq359_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq359 = { FOLLOW_relationalExpression_in_eq359_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq365 */ -static ANTLR3_BITWORD FOLLOW_set_in_eq365_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_eq365 = { FOLLOW_set_in_eq365_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq371 */ -static ANTLR3_BITWORD FOLLOW_eq_in_eq371_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq371 = { FOLLOW_eq_in_eq371_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq373 */ -static ANTLR3_BITWORD FOLLOW_eq_in_eq373_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq373 = { FOLLOW_eq_in_eq373_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression400 */ -static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression400_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression400 = { FOLLOW_EQ_OP_in_relationalExpression400_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression404 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression404_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression404 = { FOLLOW_additiveExpression_in_relationalExpression404_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression410 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression410_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression410 = { FOLLOW_additiveExpression_in_relationalExpression410_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression507 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression507_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression507 = { FOLLOW_primary_in_additiveExpression507_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression519 */ -static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression519_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression519 = { FOLLOW_PLUS_in_additiveExpression519_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression523 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression523_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression523 = { FOLLOW_additiveExpression_in_additiveExpression523_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression540 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression540_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression540 = { FOLLOW_additiveExpression_in_additiveExpression540_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression671 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression671_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression671 = { FOLLOW_MINUS_in_additiveExpression671_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression675 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression675_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression675 = { FOLLOW_additiveExpression_in_additiveExpression675_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression691 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression691_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression691 = { FOLLOW_additiveExpression_in_additiveExpression691_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary838 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_primary838_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary838 = { FOLLOW_MINUS_in_primary838_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary842 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary842_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary842 = { FOLLOW_eq_in_primary842_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary857 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_primary857_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary857 = { FOLLOW_group_elements_in_primary857_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary898 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary898_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary898 = { FOLLOW_number_in_primary898_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary911 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary911_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary911 = { FOLLOW_MULT_in_primary911_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary913 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary913_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary913 = { FOLLOW_number_in_primary913_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary915 */ -static ANTLR3_BITWORD FOLLOW_primary_in_primary915_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary915 = { FOLLOW_primary_in_primary915_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary946 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary946_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary946 = { FOLLOW_MULT_in_primary946_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary948 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary948_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary948 = { FOLLOW_number_in_primary948_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary952 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary952_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary952 = { FOLLOW_eq_in_primary952_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def976 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def976_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def976 = { FOLLOW_LIVE_in_live_def976_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def978 */ -static ANTLR3_BITWORD FOLLOW_ALL_in_live_def978_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def978 = { FOLLOW_ALL_in_live_def978_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def980 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def980_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def980 = { FOLLOW_ID_in_live_def980_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def988 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def988_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def988 = { FOLLOW_LIVE_in_live_def988_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def990 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def990_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def990 = { FOLLOW_ID_in_live_def990_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1002 */ -static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1002_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1002 = { FOLLOW_UNCONTROL_in_uncontrol1002_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1004 */ -static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1004_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1004 = { FOLLOW_ID_in_uncontrol1004_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1016 */ -static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1016_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1016 = { FOLLOW_UNOBSERVE_in_unobserve1016_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1018 */ -static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1018_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1018 = { FOLLOW_ID_in_unobserve1018_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1030 */ -static ANTLR3_BITWORD FOLLOW_print_in_other_commands1030_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1030 = { FOLLOW_print_in_other_commands1030_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1040 */ -static ANTLR3_BITWORD FOLLOW_PRINT_in_print1040_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1040 = { FOLLOW_PRINT_in_print1040_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1042 */ -static ANTLR3_BITWORD FOLLOW_ID_in_print1042_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1042 = { FOLLOW_ID_in_print1042_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1044 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_print1044_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1044 = { FOLLOW_group_elements_in_print1044_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1063 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1063_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1063 = { FOLLOW_INT_in_number1063_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1076 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_number1076_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1076 = { FOLLOW_MINUS_in_number1076_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1078 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1078_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1078 = { FOLLOW_INT_in_number1078_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1096 */ -static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1096_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1096 = { FOLLOW_GROUP_in_group_elements1096_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1098 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1098_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1098 = { FOLLOW_ID_in_group_elements1098_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1109 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1109_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1109 = { FOLLOW_ID_in_numbered_ID1109_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1115 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1115_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1115 = { FOLLOW_ID_in_numbered_ID1115_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1117 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1117_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1117 = { FOLLOW_INT_in_numbered_ID1117_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_definitions_in_pn92 */ +static ANTLR3_BITWORD FOLLOW_proc_definitions_in_pn92_bits[] = { ANTLR3_UINT64_LIT(0x0000000003001000) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_definitions_in_pn92 = { FOLLOW_proc_definitions_in_pn92_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_instantiations_in_pn95 */ +static ANTLR3_BITWORD FOLLOW_proc_instantiations_in_pn95_bits[] = { ANTLR3_UINT64_LIT(0x0000002003001002) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_instantiations_in_pn95 = { FOLLOW_proc_instantiations_in_pn95_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraints_in_pn98 */ +static ANTLR3_BITWORD FOLLOW_constraints_in_pn98_bits[] = { ANTLR3_UINT64_LIT(0x0000002000001002) }; +static ANTLR3_BITSET_LIST FOLLOW_constraints_in_pn98 = { FOLLOW_constraints_in_pn98_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_other_commands_in_pn101 */ +static ANTLR3_BITWORD FOLLOW_other_commands_in_pn101_bits[] = { ANTLR3_UINT64_LIT(0x0000002000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_other_commands_in_pn101 = { FOLLOW_other_commands_in_pn101_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_def_start_in_proc_definitions115 */ +static ANTLR3_BITWORD FOLLOW_def_start_in_proc_definitions115_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_def_start_in_proc_definitions115 = { FOLLOW_def_start_in_proc_definitions115_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_defs_in_proc_definitions117 */ +static ANTLR3_BITWORD FOLLOW_trans_defs_in_proc_definitions117_bits[] = { ANTLR3_UINT64_LIT(0x0001000000801068) }; +static ANTLR3_BITSET_LIST FOLLOW_trans_defs_in_proc_definitions117 = { FOLLOW_trans_defs_in_proc_definitions117_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_functions_in_proc_definitions120 */ +static ANTLR3_BITWORD FOLLOW_select_functions_in_proc_definitions120_bits[] = { ANTLR3_UINT64_LIT(0x0001000000800008) }; +static ANTLR3_BITSET_LIST FOLLOW_select_functions_in_proc_definitions120 = { FOLLOW_select_functions_in_proc_definitions120_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_nondeterm_in_proc_definitions123 */ +static ANTLR3_BITWORD FOLLOW_nondeterm_in_proc_definitions123_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_nondeterm_in_proc_definitions123 = { FOLLOW_nondeterm_in_proc_definitions123_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_def_start134 */ +static ANTLR3_BITWORD FOLLOW_ID_in_def_start134_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_def_start134 = { FOLLOW_ID_in_def_start134_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_extern_trans_def_in_trans_defs142 */ +static ANTLR3_BITWORD FOLLOW_extern_trans_def_in_trans_defs142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_extern_trans_def_in_trans_defs142 = { FOLLOW_extern_trans_def_in_trans_defs142_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_def_in_trans_defs147 */ +static ANTLR3_BITWORD FOLLOW_trans_def_in_trans_defs147_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_trans_def_in_trans_defs147 = { FOLLOW_trans_def_in_trans_defs147_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_extern_trans_def157 */ +static ANTLR3_BITWORD FOLLOW_set_in_extern_trans_def157_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_set_in_extern_trans_def157 = { FOLLOW_set_in_extern_trans_def157_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_extern_trans_def165 */ +static ANTLR3_BITWORD FOLLOW_ID_in_extern_trans_def165_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_extern_trans_def165 = { FOLLOW_ID_in_extern_trans_def165_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def177 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def177_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def177 = { FOLLOW_ID_in_trans_def177_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def179 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def179_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def179 = { FOLLOW_CODE_BLOCK_in_trans_def179_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def186 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def186_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def186 = { FOLLOW_ID_in_trans_def186_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def188 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def188_bits[] = { ANTLR3_UINT64_LIT(0x0000000000009008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def188 = { FOLLOW_ID_in_trans_def188_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def191 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def191_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def191 = { FOLLOW_CODE_BLOCK_in_trans_def191_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def199 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def199_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def199 = { FOLLOW_ID_in_trans_def199_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLACE_in_trans_def201 */ +static ANTLR3_BITWORD FOLLOW_PLACE_in_trans_def201_bits[] = { ANTLR3_UINT64_LIT(0x0000000000009008) }; +static ANTLR3_BITSET_LIST FOLLOW_PLACE_in_trans_def201 = { FOLLOW_PLACE_in_trans_def201_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def203 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def203_bits[] = { ANTLR3_UINT64_LIT(0x0000000000009008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def203 = { FOLLOW_ID_in_trans_def203_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def206 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def206_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def206 = { FOLLOW_CODE_BLOCK_in_trans_def206_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_DEF_in_select_functions217 */ +static ANTLR3_BITWORD FOLLOW_SELECT_DEF_in_select_functions217_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_SELECT_DEF_in_select_functions217 = { FOLLOW_SELECT_DEF_in_select_functions217_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_select_functions219 */ +static ANTLR3_BITWORD FOLLOW_ID_in_select_functions219_bits[] = { ANTLR3_UINT64_LIT(0x0000000000008000) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_select_functions219 = { FOLLOW_ID_in_select_functions219_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_select_functions221 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_select_functions221_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_select_functions221 = { FOLLOW_CODE_BLOCK_in_select_functions221_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_48_in_nondeterm232 */ +static ANTLR3_BITWORD FOLLOW_48_in_nondeterm232_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_48_in_nondeterm232 = { FOLLOW_48_in_nondeterm232_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_nondeterm234 */ +static ANTLR3_BITWORD FOLLOW_ID_in_nondeterm234_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_nondeterm234 = { FOLLOW_ID_in_nondeterm234_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_init_in_proc_instantiations246 */ +static ANTLR3_BITWORD FOLLOW_proc_init_in_proc_instantiations246_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_init_in_proc_instantiations246 = { FOLLOW_proc_init_in_proc_instantiations246_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_sync_def_in_proc_instantiations250 */ +static ANTLR3_BITWORD FOLLOW_sync_def_in_proc_instantiations250_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_sync_def_in_proc_instantiations250 = { FOLLOW_sync_def_in_proc_instantiations250_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_start_in_proc_instantiations254 */ +static ANTLR3_BITWORD FOLLOW_proc_start_in_proc_instantiations254_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_start_in_proc_instantiations254 = { FOLLOW_proc_start_in_proc_instantiations254_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init263 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init263_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init263 = { FOLLOW_ID_in_proc_init263_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init269 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init269_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init269 = { FOLLOW_ID_in_proc_init269_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init271 */ +static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init271_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init271 = { FOLLOW_numbered_ID_in_proc_init271_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def283 */ +static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def283_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def283 = { FOLLOW_SYNC_TOK_in_sync_def283_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def285 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def285_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def285 = { FOLLOW_group_elements_in_sync_def285_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start297 */ +static ANTLR3_BITWORD FOLLOW_START_in_proc_start297_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start297 = { FOLLOW_START_in_proc_start297_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start299 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_start299_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start299 = { FOLLOW_ID_in_proc_start299_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints316 */ +static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints316_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints316 = { FOLLOW_constraint_block_in_constraints316_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints322 */ +static ANTLR3_BITWORD FOLLOW_eq_in_constraints322_bits[] = { ANTLR3_UINT64_LIT(0x0000001A70000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints322 = { FOLLOW_eq_in_constraints322_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints327 */ +static ANTLR3_BITWORD FOLLOW_live_def_in_constraints327_bits[] = { ANTLR3_UINT64_LIT(0x0000001A70000008) }; +static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints327 = { FOLLOW_live_def_in_constraints327_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints329 */ +static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints329_bits[] = { ANTLR3_UINT64_LIT(0x0000001A70000008) }; +static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints329 = { FOLLOW_uncontrol_in_constraints329_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints331 */ +static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints331_bits[] = { ANTLR3_UINT64_LIT(0x0000001A70000008) }; +static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints331 = { FOLLOW_unobserve_in_constraints331_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block342 */ +static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block342_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block342 = { FOLLOW_ID_in_constraint_block342_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq351 */ +static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq351_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq351 = { FOLLOW_relationalExpression_in_eq351_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq357 */ +static ANTLR3_BITWORD FOLLOW_set_in_eq357_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_set_in_eq357 = { FOLLOW_set_in_eq357_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq363 */ +static ANTLR3_BITWORD FOLLOW_eq_in_eq363_bits[] = { ANTLR3_UINT64_LIT(0x0000000070000000) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq363 = { FOLLOW_eq_in_eq363_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq365 */ +static ANTLR3_BITWORD FOLLOW_eq_in_eq365_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq365 = { FOLLOW_eq_in_eq365_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression392 */ +static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression392_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression392 = { FOLLOW_EQ_OP_in_relationalExpression392_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression396 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression396_bits[] = { ANTLR3_UINT64_LIT(0x0000000184100288) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression396 = { FOLLOW_additiveExpression_in_relationalExpression396_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression403 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression403_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression403 = { FOLLOW_additiveExpression_in_relationalExpression403_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression602 */ +static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression602_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression602 = { FOLLOW_primary_in_additiveExpression602_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression614 */ +static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression614_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression614 = { FOLLOW_PLUS_in_additiveExpression614_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression618 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression618_bits[] = { ANTLR3_UINT64_LIT(0x0000000184100288) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression618 = { FOLLOW_additiveExpression_in_additiveExpression618_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression636 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression636_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression636 = { FOLLOW_additiveExpression_in_additiveExpression636_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression778 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression778_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression778 = { FOLLOW_MINUS_in_additiveExpression778_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression782 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression782_bits[] = { ANTLR3_UINT64_LIT(0x0000000184100288) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression782 = { FOLLOW_additiveExpression_in_additiveExpression782_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression799 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression799_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression799 = { FOLLOW_additiveExpression_in_additiveExpression799_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUB_in_primary957 */ +static ANTLR3_BITWORD FOLLOW_SUB_in_primary957_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_SUB_in_primary957 = { FOLLOW_SUB_in_primary957_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_primary961 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_primary961_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_primary961 = { FOLLOW_additiveExpression_in_primary961_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary977 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_primary977_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary977 = { FOLLOW_group_elements_in_primary977_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary1017 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary1017_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary1017 = { FOLLOW_number_in_primary1017_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary1030 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary1030_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary1030 = { FOLLOW_MULT_in_primary1030_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary1032 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary1032_bits[] = { ANTLR3_UINT64_LIT(0x0000000184100288) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary1032 = { FOLLOW_number_in_primary1032_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_primary1036 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_primary1036_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_primary1036 = { FOLLOW_additiveExpression_in_primary1036_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1064 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1064_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1064 = { FOLLOW_LIVE_in_live_def1064_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def1066 */ +static ANTLR3_BITWORD FOLLOW_ALL_in_live_def1066_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def1066 = { FOLLOW_ALL_in_live_def1066_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1068 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def1068_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1068 = { FOLLOW_ID_in_live_def1068_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1076 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1076_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1076 = { FOLLOW_LIVE_in_live_def1076_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1078 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def1078_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1078 = { FOLLOW_ID_in_live_def1078_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1090 */ +static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1090_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1090 = { FOLLOW_UNCONTROL_in_uncontrol1090_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1092 */ +static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1092_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1092 = { FOLLOW_ID_in_uncontrol1092_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1104 */ +static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1104_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1104 = { FOLLOW_UNOBSERVE_in_unobserve1104_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1106 */ +static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1106_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1106 = { FOLLOW_ID_in_unobserve1106_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1118 */ +static ANTLR3_BITWORD FOLLOW_print_in_other_commands1118_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1118 = { FOLLOW_print_in_other_commands1118_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1128 */ +static ANTLR3_BITWORD FOLLOW_PRINT_in_print1128_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1128 = { FOLLOW_PRINT_in_print1128_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1130 */ +static ANTLR3_BITWORD FOLLOW_ID_in_print1130_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1130 = { FOLLOW_ID_in_print1130_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1132 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_print1132_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1132 = { FOLLOW_group_elements_in_print1132_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1151 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1151_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1151 = { FOLLOW_INT_in_number1151_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1164 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_number1164_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1164 = { FOLLOW_MINUS_in_number1164_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1166 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1166_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1166 = { FOLLOW_INT_in_number1166_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1184 */ +static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1184_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1184 = { FOLLOW_GROUP_in_group_elements1184_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1186 */ +static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1186_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001008) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1186 = { FOLLOW_ID_in_group_elements1186_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1197 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1197_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1197 = { FOLLOW_ID_in_numbered_ID1197_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1203 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1203_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1203 = { FOLLOW_ID_in_numbered_ID1203_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1205 */ +static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1205_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1205 = { FOLLOW_INT_in_numbered_ID1205_bits, 1 }; - -/* ========================================================================= - * DFA tables for the parser - */ -/** Static dfa state tables for Cyclic dfa: - * 212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT NUM[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); - */ -static const ANTLR3_INT32 dfa24_eot[15] = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - }; -static const ANTLR3_INT32 dfa24_eof[15] = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - }; -static const ANTLR3_INT32 dfa24_min[15] = - { - 7, 2, -1, -1, 2, 25, 25, -1, 7, 2, -1, -1, 25, 3, 7 - }; -static const ANTLR3_INT32 dfa24_max[15] = - { - 31, 2, -1, -1, 2, 29, 31, -1, 31, 2, -1, -1, 25, 3, 31 - }; -static const ANTLR3_INT32 dfa24_accept[15] = - { - -1, -1, 2, 3, -1, -1, -1, 1, -1, -1, 5, 4, -1, -1, -1 - }; -static const ANTLR3_INT32 dfa24_special[15] = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 - }; - -/** Used when there is no transition table entry for a particular state */ -#define dfa24_T_empty NULL - -static const ANTLR3_INT32 dfa24_T0[] = - { - 3, -1, 7, 7, 7 - };static const ANTLR3_INT32 dfa24_T1[] = - { - 5 - };static const ANTLR3_INT32 dfa24_T2[]... [truncated message content] |
From: <the...@us...> - 2009-07-08 17:40:09
|
Revision: 189 http://pntool.svn.sourceforge.net/pntool/?rev=189&view=rev Author: thecodeweasel Date: 2009-07-08 17:40:08 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Cleaning up memory in an order that makes sense. Documenting pnscript_java_compat.g Modified Paths: -------------- translator/README.txt translator/main.c Modified: translator/README.txt =================================================================== --- translator/README.txt 2009-07-08 16:32:00 UTC (rev 188) +++ translator/README.txt 2009-07-08 17:40:08 UTC (rev 189) @@ -21,6 +21,8 @@ #ABOUT pnscript.g containts the lexer and parser that handle the initial parsing of input and do semantic validation. +pnscript_java_compat.g is purely the grammar of pnscript.g without any of the C code that primarily does error checking and recovery. This is maintained because it allows the grammar to be debugged in ANTLRWorks. + pncompactor.g reorganizes constraint expressions to be of the form ax1 + bx2 + ... <= c Specifically, it Modified: translator/main.c =================================================================== --- translator/main.c 2009-07-08 16:32:00 UTC (rev 188) +++ translator/main.c 2009-07-08 17:40:08 UTC (rev 189) @@ -243,18 +243,6 @@ fflush(stdout); printf("Starting cleanup...\n"); } - processes ->free (processes); processes = NULL; - if(is_verbose() >= 10) { - printf("Processes dealloced\n"); - } - threads ->free (threads); threads = NULL; - if(is_verbose() >= 10) { - printf("Threads dealloced\n"); - } - nodes ->free (nodes); nodes = NULL; - if(is_verbose() >= 10) { - printf("Nodes freed\n"); - } generator ->free (generator); generator = NULL; if(is_verbose() >= 10) { printf("Generator freed\n"); @@ -266,9 +254,20 @@ } } - // We did not return anything from this parser rule, so we can finish. It only remains - // to close down our open objects, in the reverse order we created them + // Close down our open objects, in the reverse order we created them // + processes ->free (processes); processes = NULL; + if(is_verbose() >= 10) { + printf("Processes dealloced\n"); + } + threads ->free (threads); threads = NULL; + if(is_verbose() >= 10) { + printf("Threads dealloced\n"); + } + nodes ->free (nodes); nodes = NULL; + if(is_verbose() >= 10) { + printf("Nodes freed\n"); + } psr ->free (psr); psr = NULL; if(is_verbose() >= 10) { printf("Parser freed\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-08 16:32:09
|
Revision: 188 http://pntool.svn.sourceforge.net/pntool/?rev=188&view=rev Author: thecodeweasel Date: 2009-07-08 16:32:00 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Removing file path from the spec structure name Modified Paths: -------------- translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-08 16:20:34 UTC (rev 187) +++ translator/pngenerator.c 2009-07-08 16:32:00 UTC (rev 188) @@ -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/pngenerator.g - * - On : 2009-07-08 11:18:31 + * - On : 2009-07-08 11:30:44 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -1176,6 +1176,7 @@ threads = threadData; output = tmalloc(sizeof(specs)); //copy the file name into the specs structure + fileName = strrchr(fileName, '/')+sizeof(char); output->name = tcalloc(strlen(fileName), sizeof(char)); strncpy(output->name, fileName, strcspn(fileName, ".")); //prep the pn array @@ -1186,10 +1187,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:156:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:157:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:157:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:157:4: ( proc_definitions )+ { int cnt1=0; @@ -1249,7 +1250,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:157:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1283,7 +1284,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:157:22: ( proc_instantiations )+ { int cnt2=0; @@ -1329,7 +1330,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:157:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1364,7 +1365,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:157:43: ( constraints )* for (;;) { @@ -1382,7 +1383,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:157:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1405,7 +1406,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:157:56: ( other_commands )* for (;;) { @@ -1423,7 +1424,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:157:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1491,7 +1492,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:178:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:179:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1501,8 +1502,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:184:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:184:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:185:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:185:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1522,7 +1523,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:184:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:185:16: ( trans_defs )* for (;;) { @@ -1540,7 +1541,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:184:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:185:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1563,7 +1564,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:184:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:185:28: ( select_functions )* for (;;) { @@ -1581,7 +1582,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:184:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:185:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1604,7 +1605,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:184:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:185:46: ( nondeterm )? { int alt7=2; { @@ -1617,7 +1618,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:184:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:185:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1667,7 +1668,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:185:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:186:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1684,8 +1685,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:189:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:189:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:190:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:190:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1741,7 +1742,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:212:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:213:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1752,7 +1753,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:213:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:214:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1785,7 +1786,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:213:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:214:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1800,7 +1801,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:214:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:215:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1837,7 +1838,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:215:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:216:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1860,11 +1861,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:221:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:221:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:222:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:222:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:221:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:222:6: ( TO | FROM ) { int alt9=2; @@ -1894,7 +1895,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:221:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:222:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -1912,7 +1913,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:224:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:225:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -1939,7 +1940,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:227:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:228:6: ( ID )+ { int cnt10=0; @@ -1959,7 +1960,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:227:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:228:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2026,7 +2027,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:231:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:232:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2063,7 +2064,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:242:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:243:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2139,7 +2140,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:242:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:243:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2181,7 +2182,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:251:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:252:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2202,7 +2203,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:253:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:254:5: (place= ID )+ { int cnt11=0; @@ -2222,7 +2223,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:253:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:254:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2276,7 +2277,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:269:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:270:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2289,7 +2290,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:269:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:270:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2324,7 +2325,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:275:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:276:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2357,7 +2358,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:279:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:280:5: (place= ID )* for (;;) { @@ -2375,7 +2376,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:279:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:280:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2416,7 +2417,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:294:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:295:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2429,7 +2430,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:294:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:295:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2486,7 +2487,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:299:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:300:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2502,8 +2503,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:300:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:301:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:301:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2569,7 +2570,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:307:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:308:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2583,8 +2584,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:308:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:308:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:309:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:309:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2599,7 +2600,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:308:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:309:34: ( ID )+ { int cnt16=0; @@ -2619,7 +2620,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:308:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:309:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2687,7 +2688,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:315:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:316:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2697,11 +2698,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:321:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:321:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:322:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:322:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:321:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:322:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2736,7 +2737,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:321:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:322:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2751,7 +2752,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:321:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:322:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2766,7 +2767,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:321:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:322:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2808,7 +2809,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:323:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:324:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2833,7 +2834,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:328:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:329:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -2885,7 +2886,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:328:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:329:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -2916,7 +2917,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:345:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:346:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -2947,7 +2948,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:357:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:358:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -2967,7 +2968,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:357:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:358:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3053,7 +3054,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:372:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:373:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3073,8 +3074,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:377:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:377:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:378:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:378:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3089,7 +3090,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:377:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:378:15: ( group_elements )+ { int cnt20=0; @@ -3109,7 +3110,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:377:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:378:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3223,7 +3224,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:422:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:423:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3237,8 +3238,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:423:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:423:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:424:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:424:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3253,7 +3254,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:423:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:424:12: ( ID )+ { int cnt21=0; @@ -3273,7 +3274,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:423:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:424:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3343,7 +3344,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:431:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:432:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3357,8 +3358,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:438:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:438:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:439:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:439:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3378,7 +3379,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:438:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:439:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3413,10 +3414,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:438:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:439:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:438:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:438:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:439:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:439:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3458,7 +3459,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:459:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:460:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3473,7 +3474,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:459:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:460:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3488,7 +3489,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:459:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:460:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3543,7 +3544,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:460:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:461:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3557,8 +3558,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:462:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:462:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3609,7 +3610,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:480:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:481:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3643,7 +3644,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:485:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:486:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3676,7 +3677,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:485:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:486:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3694,10 +3695,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:486:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:487:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:486:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:487:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3727,7 +3728,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:486:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:487:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3744,7 +3745,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:488:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:489:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3853,7 +3854,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:512:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:513:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -3876,8 +3877,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:520:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:520:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:521:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:521:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -3951,7 +3952,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:533:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) | ^( MINUS additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:534:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) | ^( MINUS additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -3968,7 +3969,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:534:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) | ^( MINUS additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:535:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) | ^( MINUS additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4012,7 +4013,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:534:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:535:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4030,7 +4031,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:535:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:536:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4074,7 +4075,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:536:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:537:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4118,7 +4119,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:537:7: ^( MINUS additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:538:7: ^( MINUS additiveExpression[list, true] ) { MATCHT(MINUS, &FOLLOW_MINUS_in_additiveExpression598); if (HASEXCEPTION()) @@ -4175,7 +4176,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:539:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:540:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4201,7 +4202,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:540:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:541:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4234,7 +4235,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:540:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:541:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary622); group_elements21=group_elements(ctx); @@ -4258,7 +4259,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:547:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:548:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary633); if (HASEXCEPTION()) @@ -4330,7 +4331,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:554:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:555:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4350,7 +4351,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:558:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:559:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4421,7 +4422,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:558:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:559:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def655); if (HASEXCEPTION()) @@ -4453,7 +4454,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:565:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:566:5: ( ID )* for (;;) { @@ -4471,7 +4472,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:565:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:566:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def662); if (HASEXCEPTION()) @@ -4519,7 +4520,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:578:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:579:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def675); if (HASEXCEPTION()) @@ -4534,7 +4535,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:578:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:579:11: ( ID )+ { int cnt28=0; @@ -4554,7 +4555,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:578:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:579:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def678); if (HASEXCEPTION()) @@ -4625,7 +4626,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:583:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:584:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4639,8 +4640,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:584:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:584:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol693); if (HASEXCEPTION()) @@ -4655,7 +4656,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:584:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:585:16: ( ID )+ { int cnt30=0; @@ -4675,7 +4676,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:584:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:585:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol696); if (HASEXCEPTION()) @@ -4743,7 +4744,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:589:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:590:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4757,8 +4758,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:590:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:590:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:591:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:591:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve711); if (HASEXCEPTION()) @@ -4773,7 +4774,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:590:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:591:16: ( ID )+ { int cnt31=0; @@ -4793,7 +4794,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:590:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:591:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve714); if (HASEXCEPTION()) @@ -4861,7 +4862,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:596:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:597:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4871,8 +4872,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:597:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:597:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:598:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:598:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands729); print(ctx); @@ -4906,7 +4907,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:598:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:599:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -4916,8 +4917,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:599:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:599:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:600:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:600:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print740); if (HASEXCEPTION()) @@ -4977,7 +4978,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:601:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -4996,8 +4997,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:605:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:605:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:606:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:606:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements765); if (HASEXCEPTION()) @@ -5012,7 +5013,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:605:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:606:12: ( ID )+ { int cnt32=0; @@ -5032,7 +5033,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:605:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:606:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements768); if (HASEXCEPTION()) @@ -5098,7 +5099,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:608:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:609:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5119,7 +5120,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:609:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:610:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5171,7 +5172,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:609:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:610:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID787); if (HASEXCEPTION()) @@ -5190,7 +5191,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:614:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pngenerator.g:615:4: ^( ID INT ) { ID30 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID795); if (HASEXCEPTION()) Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-08 16:20:34 UTC (rev 187) +++ translator/pngenerator.g 2009-07-08 16:32:00 UTC (rev 188) @@ -144,6 +144,7 @@ threads = threadData; output = tmalloc(sizeof(specs)); //copy the file name into the specs structure + fileName = strrchr(fileName, '/')+sizeof(char); output->name = tcalloc(strlen(fileName), sizeof(char)); strncpy(output->name, fileName, strcspn(fileName, ".")); //prep the pn array Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-08 16:20:34 UTC (rev 187) +++ translator/pngenerator.h 2009-07-08 16:32:00 UTC (rev 188) @@ -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/pngenerator.g - * - On : 2009-07-08 11:18:31 + * - On : 2009-07-08 11:30:44 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-08 16:21:01
|
Revision: 187 http://pntool.svn.sourceforge.net/pntool/?rev=187&view=rev Author: thecodeweasel Date: 2009-07-08 16:20:34 +0000 (Wed, 08 Jul 2009) Log Message: ----------- Stripping the extension off the file name Modified Paths: -------------- translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-08 05:32:01 UTC (rev 186) +++ translator/pngenerator.c 2009-07-08 16:20:34 UTC (rev 187) @@ -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/pngenerator.g - * - On : 2009-07-08 00:29:43 + * - On : 2009-07-08 11:18:31 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -1177,7 +1177,7 @@ output = tmalloc(sizeof(specs)); //copy the file name into the specs structure output->name = tcalloc(strlen(fileName), sizeof(char)); - strcpy(output->name, fileName); + strncpy(output->name, fileName, strcspn(fileName, ".")); //prep the pn array output->pn_array = NULL; output->pn_num = 0; Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-08 05:32:01 UTC (rev 186) +++ translator/pngenerator.g 2009-07-08 16:20:34 UTC (rev 187) @@ -145,7 +145,7 @@ output = tmalloc(sizeof(specs)); //copy the file name into the specs structure output->name = tcalloc(strlen(fileName), sizeof(char)); - strcpy(output->name, fileName); + strncpy(output->name, fileName, strcspn(fileName, ".")); //prep the pn array output->pn_array = NULL; output->pn_num = 0; Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-08 05:32:01 UTC (rev 186) +++ translator/pngenerator.h 2009-07-08 16:20:34 UTC (rev 187) @@ -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/pngenerator.g - * - On : 2009-07-08 00:29:43 + * - On : 2009-07-08 11:18:31 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-08 05:32:11
|
Revision: 186 http://pntool.svn.sourceforge.net/pntool/?rev=186&view=rev Author: thecodeweasel Date: 2009-07-08 05:32:01 +0000 (Wed, 08 Jul 2009) Log Message: ----------- The compactor now correctly sorts out symbols and free terms on both sides of constraint equations Modified Paths: -------------- translator/docs/test.txt translator/pncompactor.c translator/pncompactor.g translator/pncompactor.h translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/docs/test.txt =================================================================== --- translator/docs/test.txt 2009-07-07 22:36:31 UTC (rev 185) +++ translator/docs/test.txt 2009-07-08 05:32:01 UTC (rev 186) @@ -75,7 +75,7 @@ (r_group.p2 <= 0) || (w_group.pwr_1 <= 0); (r_group.p1b <= 0 || w_group.pwr_1 <= 0) && (reader1.p2 <= 0 || writer1.pwr2 <= 0); q.reader1.t1 - writer1.p <= 0; -2*reader1.t1 + w_group.pwr_2 <= 2 + 2*reader1.t2; +1*reader1.t1 + 1 + w_group.pwr_2 <= 3 + 2*reader1.t2; //reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1; //(reader1.t1 - (reader1.t2 + w_group.pwr_2) >= 0) || (r_group.p1b <= 0 && (w_group.pwr_1 > 0)); //-3*((reader1.p2+2)-2*w_group.pwr_2) < -(4*r_group.p1b-2*(3*writer1.pwr2-2)); Modified: translator/pncompactor.c =================================================================== --- translator/pncompactor.c 2009-07-07 22:36:31 UTC (rev 185) +++ translator/pncompactor.c 2009-07-08 05:32:01 UTC (rev 186) @@ -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-07 17:34:16 + * - On : 2009-07-08 00:29:39 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -704,120 +704,120 @@ /** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression410 */ static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression410_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression410 = { FOLLOW_additiveExpression_in_relationalExpression410_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression512 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression512_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression512 = { FOLLOW_primary_in_additiveExpression512_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression524 */ -static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression524_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression524 = { FOLLOW_PLUS_in_additiveExpression524_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression528 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression528_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression528 = { FOLLOW_additiveExpression_in_additiveExpression528_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression545 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression545_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression545 = { FOLLOW_additiveExpression_in_additiveExpression545_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression686 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression686_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression686 = { FOLLOW_MINUS_in_additiveExpression686_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression690 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression690_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression690 = { FOLLOW_additiveExpression_in_additiveExpression690_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression706 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression706_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression706 = { FOLLOW_additiveExpression_in_additiveExpression706_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary863 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_primary863_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary863 = { FOLLOW_MINUS_in_primary863_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary867 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary867_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary867 = { FOLLOW_eq_in_primary867_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary882 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_primary882_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary882 = { FOLLOW_group_elements_in_primary882_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary923 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary923_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary923 = { FOLLOW_number_in_primary923_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary936 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary936_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary936 = { FOLLOW_MULT_in_primary936_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary938 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary938_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary938 = { FOLLOW_number_in_primary938_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary940 */ -static ANTLR3_BITWORD FOLLOW_primary_in_primary940_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary940 = { FOLLOW_primary_in_primary940_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary971 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary971_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary971 = { FOLLOW_MULT_in_primary971_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary973 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary973_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary973 = { FOLLOW_number_in_primary973_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary977 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary977_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary977 = { FOLLOW_eq_in_primary977_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1001 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1001_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1001 = { FOLLOW_LIVE_in_live_def1001_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def1003 */ -static ANTLR3_BITWORD FOLLOW_ALL_in_live_def1003_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def1003 = { FOLLOW_ALL_in_live_def1003_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1005 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def1005_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1005 = { FOLLOW_ID_in_live_def1005_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1013 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1013_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1013 = { FOLLOW_LIVE_in_live_def1013_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1015 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def1015_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1015 = { FOLLOW_ID_in_live_def1015_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1027 */ -static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1027_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1027 = { FOLLOW_UNCONTROL_in_uncontrol1027_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1029 */ -static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1029_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1029 = { FOLLOW_ID_in_uncontrol1029_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1041 */ -static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1041_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1041 = { FOLLOW_UNOBSERVE_in_unobserve1041_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1043 */ -static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1043_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1043 = { FOLLOW_ID_in_unobserve1043_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1055 */ -static ANTLR3_BITWORD FOLLOW_print_in_other_commands1055_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1055 = { FOLLOW_print_in_other_commands1055_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1065 */ -static ANTLR3_BITWORD FOLLOW_PRINT_in_print1065_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1065 = { FOLLOW_PRINT_in_print1065_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1067 */ -static ANTLR3_BITWORD FOLLOW_ID_in_print1067_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1067 = { FOLLOW_ID_in_print1067_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1069 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_print1069_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1069 = { FOLLOW_group_elements_in_print1069_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1088 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1088_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1088 = { FOLLOW_INT_in_number1088_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1101 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_number1101_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1101 = { FOLLOW_MINUS_in_number1101_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1103 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1103_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1103 = { FOLLOW_INT_in_number1103_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1121 */ -static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1121_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1121 = { FOLLOW_GROUP_in_group_elements1121_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1123 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1123_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1123 = { FOLLOW_ID_in_group_elements1123_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1134 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1134_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1134 = { FOLLOW_ID_in_numbered_ID1134_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1140 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1140_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1140 = { FOLLOW_ID_in_numbered_ID1140_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1142 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1142 = { FOLLOW_INT_in_numbered_ID1142_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression507 */ +static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression507_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression507 = { FOLLOW_primary_in_additiveExpression507_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression519 */ +static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression519_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression519 = { FOLLOW_PLUS_in_additiveExpression519_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression523 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression523_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression523 = { FOLLOW_additiveExpression_in_additiveExpression523_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression540 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression540_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression540 = { FOLLOW_additiveExpression_in_additiveExpression540_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression671 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression671_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression671 = { FOLLOW_MINUS_in_additiveExpression671_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression675 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression675_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression675 = { FOLLOW_additiveExpression_in_additiveExpression675_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression691 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression691_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression691 = { FOLLOW_additiveExpression_in_additiveExpression691_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary838 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_primary838_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary838 = { FOLLOW_MINUS_in_primary838_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary842 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary842_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary842 = { FOLLOW_eq_in_primary842_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary857 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_primary857_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary857 = { FOLLOW_group_elements_in_primary857_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary898 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary898_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary898 = { FOLLOW_number_in_primary898_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary911 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary911_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary911 = { FOLLOW_MULT_in_primary911_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary913 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary913_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary913 = { FOLLOW_number_in_primary913_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary915 */ +static ANTLR3_BITWORD FOLLOW_primary_in_primary915_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary915 = { FOLLOW_primary_in_primary915_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary946 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary946_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary946 = { FOLLOW_MULT_in_primary946_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary948 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary948_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary948 = { FOLLOW_number_in_primary948_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary952 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary952_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary952 = { FOLLOW_eq_in_primary952_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def976 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def976_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def976 = { FOLLOW_LIVE_in_live_def976_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def978 */ +static ANTLR3_BITWORD FOLLOW_ALL_in_live_def978_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def978 = { FOLLOW_ALL_in_live_def978_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def980 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def980_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def980 = { FOLLOW_ID_in_live_def980_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def988 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def988_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def988 = { FOLLOW_LIVE_in_live_def988_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def990 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def990_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def990 = { FOLLOW_ID_in_live_def990_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1002 */ +static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1002_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1002 = { FOLLOW_UNCONTROL_in_uncontrol1002_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1004 */ +static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1004_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1004 = { FOLLOW_ID_in_uncontrol1004_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1016 */ +static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1016_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1016 = { FOLLOW_UNOBSERVE_in_unobserve1016_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1018 */ +static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1018_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1018 = { FOLLOW_ID_in_unobserve1018_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1030 */ +static ANTLR3_BITWORD FOLLOW_print_in_other_commands1030_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1030 = { FOLLOW_print_in_other_commands1030_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1040 */ +static ANTLR3_BITWORD FOLLOW_PRINT_in_print1040_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1040 = { FOLLOW_PRINT_in_print1040_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1042 */ +static ANTLR3_BITWORD FOLLOW_ID_in_print1042_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1042 = { FOLLOW_ID_in_print1042_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1044 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_print1044_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1044 = { FOLLOW_group_elements_in_print1044_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1063 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1063_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1063 = { FOLLOW_INT_in_number1063_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1076 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_number1076_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1076 = { FOLLOW_MINUS_in_number1076_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1078 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1078_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1078 = { FOLLOW_INT_in_number1078_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1096 */ +static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1096_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1096 = { FOLLOW_GROUP_in_group_elements1096_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1098 */ +static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1098_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1098 = { FOLLOW_ID_in_group_elements1098_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1109 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1109_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1109 = { FOLLOW_ID_in_numbered_ID1109_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1115 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1115_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1115 = { FOLLOW_ID_in_numbered_ID1115_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1117 */ +static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1117_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1117 = { FOLLOW_INT_in_numbered_ID1117_bits, 1 }; @@ -825,7 +825,7 @@ * DFA tables for the parser */ /** Static dfa state tables for Cyclic dfa: - * 212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); + * 212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT NUM[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); */ static const ANTLR3_INT32 dfa24_eot[15] = { @@ -904,7 +904,7 @@ = { 24, /* Decision number of this dfa */ /* Which decision this represents: */ - (const pANTLR3_UCHAR)"212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq );", + (const pANTLR3_UCHAR)"212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT NUM[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq );", (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */ antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */ antlr3dfapredict, /* DFA simulator function is in the runtime */ @@ -3832,7 +3832,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pncompactor.g:104:1: relationalExpression : ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1] $add2) NUM[tok2, str2] ) -> {!$add2.tree}? ^( EQ_OP ^( MINUS[tok1] $add1) NUM[tok2, str2] ) -> ^( EQ_OP ^( SUB[tok1] $add1 $add2) NUM[tok2, str2] ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:104:1: relationalExpression : ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1, \"-\"] $add2) NUM[tok2, str2] ) -> {!$add2.tree}? ^( EQ_OP $add1 NUM[tok2, str2] ) -> ^( EQ_OP ^( SUB[tok1, \"-\"] $add1 $add2) NUM[tok2, str2] ) ; */ static pncompactor_relationalExpression_return relationalExpression(ppncompactor ctx) @@ -3888,7 +3888,7 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:115:5: ( ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1] $add2) NUM[tok2, str2] ) -> {!$add2.tree}? ^( EQ_OP ^( MINUS[tok1] $add1) NUM[tok2, str2] ) -> ^( EQ_OP ^( SUB[tok1] $add1 $add2) NUM[tok2, str2] ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:115:5: ( ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1, \"-\"] $add2) NUM[tok2, str2] ) -> {!$add2.tree}? ^( EQ_OP $add1 NUM[tok2, str2] ) -> ^( EQ_OP ^( SUB[tok1, \"-\"] $add1 $add2) NUM[tok2, str2] ) ) // /Users/bion/projects/iordache/translator/pncompactor.g:115:9: ^( EQ_OP add1= additiveExpression add2= additiveExpression ) { _last = (pANTLR3_BASE_TREE)LT(1); @@ -3953,7 +3953,7 @@ /* AST REWRITE - * elements : EQ_OP, add2, EQ_OP, add1, add2, add1, EQ_OP + * elements : EQ_OP, EQ_OP, add2, add2, EQ_OP, add1, add1 * token labels : * rule labels : add1, add2, retval * token list labels : @@ -3970,22 +3970,22 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); retval.tree = root_0; - // 124:8: -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1] $add2) NUM[tok2, str2] ) + // 124:8: -> {!$add1.tree}? ^( EQ_OP ^( MINUS[tok1, \"-\"] $add2) NUM[tok2, str2] ) if (!(add1.tree)) { - // /Users/bion/projects/iordache/translator/pncompactor.g:124:26: ^( EQ_OP ^( MINUS[tok1] $add2) NUM[tok2, str2] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:124:26: ^( EQ_OP ^( MINUS[tok1, \"-\"] $add2) NUM[tok2, str2] ) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, stream_EQ_OP->nextNode(stream_EQ_OP), root_1)); - // /Users/bion/projects/iordache/translator/pncompactor.g:124:34: ^( MINUS[tok1] $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:124:34: ^( MINUS[tok1, \"-\"] $add2) { pANTLR3_BASE_TREE root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 1 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, MINUS, TOKTEXT(tok1)) + #if 2 == 2 + (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, MINUS, TOKTEXT(tok1, "-")) #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MINUS, (pANTLR3_UINT8)tok1) + (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MINUS, (pANTLR3_UINT8)tok1, "-") #endif , root_2)); @@ -4005,29 +4005,15 @@ } } - else // 125:8: -> {!$add2.tree}? ^( EQ_OP ^( MINUS[tok1] $add1) NUM[tok2, str2] ) + else // 125:8: -> {!$add2.tree}? ^( EQ_OP $add1 NUM[tok2, str2] ) if (!(add2.tree)) { - // /Users/bion/projects/iordache/translator/pncompactor.g:125:26: ^( EQ_OP ^( MINUS[tok1] $add1) NUM[tok2, str2] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:125:26: ^( EQ_OP $add1 NUM[tok2, str2] ) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, stream_EQ_OP->nextNode(stream_EQ_OP), root_1)); - // /Users/bion/projects/iordache/translator/pncompactor.g:125:34: ^( MINUS[tok1] $add1) - { - pANTLR3_BASE_TREE root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 1 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, MINUS, TOKTEXT(tok1)) - #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, MINUS, (pANTLR3_UINT8)tok1) - #endif - , root_2)); - - ADAPTOR->addChild(ADAPTOR, root_2, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); - - ADAPTOR->addChild(ADAPTOR, root_1, root_2); - } + ADAPTOR->addChild(ADAPTOR, root_1, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); ADAPTOR->addChild(ADAPTOR, root_1, #if 2 == 2 (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, NUM, TOKTEXT(tok2, str2)) @@ -4040,21 +4026,21 @@ } } - else // 126:8: -> ^( EQ_OP ^( SUB[tok1] $add1 $add2) NUM[tok2, str2] ) + else // 126:8: -> ^( EQ_OP ^( SUB[tok1, \"-\"] $add1 $add2) NUM[tok2, str2] ) { - // /Users/bion/projects/iordache/translator/pncompactor.g:126:14: ^( EQ_OP ^( SUB[tok1] $add1 $add2) NUM[tok2, str2] ) + // /Users/bion/projects/iordache/translator/pncompactor.g:126:14: ^( EQ_OP ^( SUB[tok1, \"-\"] $add1 $add2) NUM[tok2, str2] ) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, stream_EQ_OP->nextNode(stream_EQ_OP), root_1)); - // /Users/bion/projects/iordache/translator/pncompactor.g:126:22: ^( SUB[tok1] $add1 $add2) + // /Users/bion/projects/iordache/translator/pncompactor.g:126:22: ^( SUB[tok1, \"-\"] $add1 $add2) { pANTLR3_BASE_TREE root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 1 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, SUB, TOKTEXT(tok1)) + #if 2 == 2 + (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, SUB, TOKTEXT(tok1, "-")) #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SUB, (pANTLR3_UINT8)tok1) + (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SUB, (pANTLR3_UINT8)tok1, "-") #endif , root_2)); @@ -4109,7 +4095,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pncompactor.g:128:1: additiveExpression returns [int num, bool numeric] : ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? ^( PLUS[tok, \"+\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ); + * /Users/bion/projects/iordache/translator/pncompactor.g:128:1: additiveExpression returns [int num, bool numeric] : ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? $add2 -> {$add2.numeric}? $add1 -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? $add2 -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? $add1 -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ); */ static pncompactor_additiveExpression_return additiveExpression(ppncompactor ctx) @@ -4180,7 +4166,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:135:5: ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? ^( PLUS[tok, \"+\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:135:5: ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? $add2 -> {$add2.numeric}? $add1 -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? $add2 -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? $add1 -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ) ANTLR3_UINT32 alt23; @@ -4300,7 +4286,7 @@ root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_primary_in_additiveExpression512); + FOLLOWPUSH(FOLLOW_primary_in_additiveExpression507); primary49=primary(ctx, true); FOLLOWPOP(); @@ -4329,7 +4315,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - PLUS50 = (pANTLR3_BASE_TREE) MATCHT(PLUS, &FOLLOW_PLUS_in_additiveExpression524); + PLUS50 = (pANTLR3_BASE_TREE) MATCHT(PLUS, &FOLLOW_PLUS_in_additiveExpression519); if (HASEXCEPTION()) { goto ruleadditiveExpressionEx; @@ -4341,7 +4327,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression528); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression523); add1=additiveExpression(ctx); FOLLOWPOP(); @@ -4364,7 +4350,7 @@ } _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression545); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression540); add2=additiveExpression(ctx); FOLLOWPOP(); @@ -4407,7 +4393,7 @@ /* AST REWRITE - * elements : add2, add2, PLUS, add1, add2, PLUS, add1, add1, add2 + * elements : add2, add2, add1, add2, add1, add1, add2 * token labels : * rule labels : add1, add2, retval * token list labels : @@ -4449,45 +4435,17 @@ } } - else // 172:7: -> {$add1.numeric}? ^( PLUS[tok, \"+\"] $add2) + else // 172:7: -> {$add1.numeric}? $add2 if (add1.numeric) { - // /Users/bion/projects/iordache/translator/pncompactor.g:172:32: ^( PLUS[tok, \"+\"] $add2) - { - pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 2 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, PLUS, TOKTEXT(tok, "+")) - #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PLUS, (pANTLR3_UINT8)tok, "+") - #endif - , root_1)); + ADAPTOR->addChild(ADAPTOR, root_0, stream_add2 == NULL ? NULL : stream_add2->nextTree(stream_add2)); - ADAPTOR->addChild(ADAPTOR, root_1, stream_add2 == NULL ? NULL : stream_add2->nextTree(stream_add2)); - - ADAPTOR->addChild(ADAPTOR, root_0, root_1); - } - } - else // 173:7: -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) + else // 173:7: -> {$add2.numeric}? $add1 if (add2.numeric) { - // /Users/bion/projects/iordache/translator/pncompactor.g:173:32: ^( PLUS[tok, \"+\"] $add1) - { - pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 2 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, PLUS, TOKTEXT(tok, "+")) - #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PLUS, (pANTLR3_UINT8)tok, "+") - #endif - , root_1)); + ADAPTOR->addChild(ADAPTOR, root_0, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); - ADAPTOR->addChild(ADAPTOR, root_1, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); - - ADAPTOR->addChild(ADAPTOR, root_0, root_1); - } - } else // 174:7: -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) if (flipped) @@ -4550,7 +4508,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - MINUS51 = (pANTLR3_BASE_TREE) MATCHT(MINUS, &FOLLOW_MINUS_in_additiveExpression686); + MINUS51 = (pANTLR3_BASE_TREE) MATCHT(MINUS, &FOLLOW_MINUS_in_additiveExpression671); if (HASEXCEPTION()) { goto ruleadditiveExpressionEx; @@ -4562,7 +4520,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression690); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression675); add1=additiveExpression(ctx); FOLLOWPOP(); @@ -4585,7 +4543,7 @@ } _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression706); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression691); add2=additiveExpression(ctx); FOLLOWPOP(); @@ -4624,7 +4582,7 @@ /* AST REWRITE - * elements : add2, MINUS, add2, add2, add1, add1, add1, add2 + * elements : add2, add1, MINUS, add2, add2, add2, add1, add1 * token labels : * rule labels : add1, add2, retval * token list labels : @@ -4646,25 +4604,11 @@ { root_0 = NULL; /* <-- rewriteEmptyAlt()) */ } - else // 207:7: -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) + else // 207:7: -> {$add1.numeric && flipped}? $add2 if (add1.numeric && flipped) { - // /Users/bion/projects/iordache/translator/pncompactor.g:207:40: ^( PLUS[tok, \"+\"] $add2) - { - pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 2 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, PLUS, TOKTEXT(tok, "+")) - #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PLUS, (pANTLR3_UINT8)tok, "+") - #endif - , root_1)); + ADAPTOR->addChild(ADAPTOR, root_0, stream_add2 == NULL ? NULL : stream_add2->nextTree(stream_add2)); - ADAPTOR->addChild(ADAPTOR, root_1, stream_add2 == NULL ? NULL : stream_add2->nextTree(stream_add2)); - - ADAPTOR->addChild(ADAPTOR, root_0, root_1); - } - } else // 208:7: -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) if (add1.numeric) @@ -4686,25 +4630,11 @@ } } - else // 209:7: -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) + else // 209:7: -> {$add2.numeric}? $add1 if (add2.numeric) { - // /Users/bion/projects/iordache/translator/pncompactor.g:209:32: ^( PLUS[tok, \"+\"] $add1) - { - pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, - #if 2 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, PLUS, TOKTEXT(tok, "+")) - #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PLUS, (pANTLR3_UINT8)tok, "+") - #endif - , root_1)); + ADAPTOR->addChild(ADAPTOR, root_0, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); - ADAPTOR->addChild(ADAPTOR, root_1, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); - - ADAPTOR->addChild(ADAPTOR, root_0, root_1); - } - } else // 210:7: -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) if (flipped) @@ -4785,7 +4715,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pncompactor.g:212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); + * /Users/bion/projects/iordache/translator/pncompactor.g:212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT NUM[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); */ static pncompactor_primary_return primary(ppncompactor ctx, bool enableAlt) @@ -4896,7 +4826,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:222:5: ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ) + // /Users/bion/projects/iordache/translator/pncompactor.g:222:5: ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT NUM[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ) ANTLR3_UINT32 alt24; @@ -4920,7 +4850,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - MINUS52 = (pANTLR3_BASE_TREE) MATCHT(MINUS, &FOLLOW_MINUS_in_primary863); + MINUS52 = (pANTLR3_BASE_TREE) MATCHT(MINUS, &FOLLOW_MINUS_in_primary838); if (HASEXCEPTION()) { goto ruleprimaryEx; @@ -4941,7 +4871,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_eq_in_primary867); + FOLLOWPUSH(FOLLOW_eq_in_primary842); eq53=eq(ctx); FOLLOWPOP(); @@ -4999,7 +4929,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:237:7: group_elements { _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_group_elements_in_primary882); + FOLLOWPUSH(FOLLOW_group_elements_in_primary857); group_elements54=group_elements(ctx); FOLLOWPOP(); @@ -5081,7 +5011,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:248:7: number { _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_number_in_primary923); + FOLLOWPUSH(FOLLOW_number_in_primary898); number55=number(ctx); FOLLOWPOP(); @@ -5136,7 +5066,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - MULT56 = (pANTLR3_BASE_TREE) MATCHT(MULT, &FOLLOW_MULT_in_primary936); + MULT56 = (pANTLR3_BASE_TREE) MATCHT(MULT, &FOLLOW_MULT_in_primary911); if (HASEXCEPTION()) { goto ruleprimaryEx; @@ -5148,7 +5078,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_number_in_primary938); + FOLLOWPUSH(FOLLOW_number_in_primary913); number57=number(ctx); FOLLOWPOP(); @@ -5159,7 +5089,7 @@ CREATE_stream_number; stream_number->add(stream_number, number57.tree, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_primary_in_primary940); + FOLLOWPUSH(FOLLOW_primary_in_primary915); primary58=primary(ctx, false); FOLLOWPOP(); @@ -5202,18 +5132,18 @@ { root_0 = NULL; /* <-- rewriteEmptyAlt()) */ } - else // 259:7: -> ^( MULT INT[tok, newVal] primary ) + else // 259:7: -> ^( MULT NUM[tok, newVal] primary ) { - // /Users/bion/projects/iordache/translator/pncompactor.g:259:10: ^( MULT INT[tok, newVal] primary ) + // /Users/bion/projects/iordache/translator/pncompactor.g:259:10: ^( MULT NUM[tok, newVal] primary ) { pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, stream_MULT->nextNode(stream_MULT), root_1)); ADAPTOR->addChild(ADAPTOR, root_1, #if 2 == 2 - (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, INT, TOKTEXT(tok, newVal)) + (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, NUM, TOKTEXT(tok, newVal)) #else - (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, INT, (pANTLR3_UINT8)tok, newVal) + (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, NUM, (pANTLR3_UINT8)tok, newVal) #endif ); ADAPTOR->addChild(ADAPTOR, root_1, stream_primary == NULL ? NULL : stream_primary->nextTree(stream_primary)); @@ -5240,7 +5170,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - MULT59 = (pANTLR3_BASE_TREE) MATCHT(MULT, &FOLLOW_MULT_in_primary971); + MULT59 = (pANTLR3_BASE_TREE) MATCHT(MULT, &FOLLOW_MULT_in_primary946); if (HASEXCEPTION()) { goto ruleprimaryEx; @@ -5252,7 +5182,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_number_in_primary973); + FOLLOWPUSH(FOLLOW_number_in_primary948); number60=number(ctx); FOLLOWPOP(); @@ -5272,7 +5202,7 @@ } _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_eq_in_primary977); + FOLLOWPUSH(FOLLOW_eq_in_primary952); eq61=eq(ctx); FOLLOWPOP(); @@ -5496,7 +5426,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - LIVE62 = (pANTLR3_BASE_TREE) MATCHT(LIVE, &FOLLOW_LIVE_in_live_def1001); + LIVE62 = (pANTLR3_BASE_TREE) MATCHT(LIVE, &FOLLOW_LIVE_in_live_def976); if (HASEXCEPTION()) { goto rulelive_defEx; @@ -5510,7 +5440,7 @@ MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - ALL63 = (pANTLR3_BASE_TREE) MATCHT(ALL, &FOLLOW_ALL_in_live_def1003); + ALL63 = (pANTLR3_BASE_TREE) MATCHT(ALL, &FOLLOW_ALL_in_live_def978); if (HASEXCEPTION()) { goto rulelive_defEx; @@ -5540,7 +5470,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:277:15: ID { _last = (pANTLR3_BASE_TREE)LT(1); - ID64 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def1005); + ID64 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def980); if (HASEXCEPTION()) { goto rulelive_defEx; @@ -5578,7 +5508,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - LIVE65 = (pANTLR3_BASE_TREE) MATCHT(LIVE, &FOLLOW_LIVE_in_live_def1013); + LIVE65 = (pANTLR3_BASE_TREE) MATCHT(LIVE, &FOLLOW_LIVE_in_live_def988); if (HASEXCEPTION()) { goto rulelive_defEx; @@ -5614,7 +5544,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:278:11: ID { _last = (pANTLR3_BASE_TREE)LT(1); - ID66 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def1015); + ID66 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def990); if (HASEXCEPTION()) { goto rulelive_defEx; @@ -5730,7 +5660,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - UNCONTROL67 = (pANTLR3_BASE_TREE) MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol1027); + UNCONTROL67 = (pANTLR3_BASE_TREE) MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol1002); if (HASEXCEPTION()) { goto ruleuncontrolEx; @@ -5766,7 +5696,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:280:16: ID { _last = (pANTLR3_BASE_TREE)LT(1); - ID68 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol1029); + ID68 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol1004); if (HASEXCEPTION()) { goto ruleuncontrolEx; @@ -5879,7 +5809,7 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - UNOBSERVE69 = (pANTLR3_BASE_TREE) MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve1041); + UNOBSERVE69 = (pANTLR3_BASE_TREE) MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve1016); if (HASEXCEPTION()) { goto ruleunobserveEx; @@ -5915,7 +5845,7 @@ // /Users/bion/projects/iordache/translator/pncompactor.g:282:16: ID { _last = (pANTLR3_BASE_TREE)LT(1); - ID70 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve1043); + ID70 = (pANTLR3_BASE_TREE) ... [truncated message content] |
From: <the...@us...> - 2009-07-07 22:36:38
|
Revision: 185 http://pntool.svn.sourceforge.net/pntool/?rev=185&view=rev Author: thecodeweasel Date: 2009-07-07 22:36:31 +0000 (Tue, 07 Jul 2009) Log Message: ----------- The translator now properly fails on errors Additional code coverage for the compactor Fixed a bug in the compactor Modified Paths: -------------- translator/docs/test.txt translator/main.c translator/pncompactor.c translator/pncompactor.g translator/pncompactor.h Modified: translator/docs/test.txt =================================================================== --- translator/docs/test.txt 2009-07-07 21:26:41 UTC (rev 184) +++ translator/docs/test.txt 2009-07-07 22:36:31 UTC (rev 185) @@ -75,7 +75,7 @@ (r_group.p2 <= 0) || (w_group.pwr_1 <= 0); (r_group.p1b <= 0 || w_group.pwr_1 <= 0) && (reader1.p2 <= 0 || writer1.pwr2 <= 0); q.reader1.t1 - writer1.p <= 0; -2*reader1.t1 - 2*reader1.t2 + w_group.pwr_2 <= 2; +2*reader1.t1 + w_group.pwr_2 <= 2 + 2*reader1.t2; //reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1; //(reader1.t1 - (reader1.t2 + w_group.pwr_2) >= 0) || (r_group.p1b <= 0 && (w_group.pwr_1 > 0)); //-3*((reader1.p2+2)-2*w_group.pwr_2) < -(4*r_group.p1b-2*(3*writer1.pwr2-2)); Modified: translator/main.c =================================================================== --- translator/main.c 2009-07-07 21:26:41 UTC (rev 184) +++ translator/main.c 2009-07-07 22:36:31 UTC (rev 185) @@ -91,6 +91,8 @@ ASSOC_ARRAY* processes; ASSOC_ARRAY* threads; + + bool errors = false; // Create the input stream using the supplied file name // (Use antlr3AsciiFileStreamNew for UCS2/16bit input). @@ -186,6 +188,7 @@ // if (psr->pParser->rec->state->errorCount > 0) { fprintf(stderr, "The parser returned %d error(s), tree walking aborted.\n", psr->pParser->rec->state->errorCount); + errors = true; } else { nodes = antlr3CommonTreeNodeStreamNewTree(pnscriptAST.tree, ANTLR3_SIZE_HINT); // sIZE HINT WILL SOON BE DEPRECATED!! @@ -209,6 +212,7 @@ pncompactAST = treePsr->pn(treePsr); if (treePsr->pTreeParser->rec->state->errorCount > 0) { fprintf(stderr, "The parser returned %d error(s), tree walking aborted.\n", treePsr->pTreeParser->rec->state->errorCount); + errors = true; } else { nodes = antlr3CommonTreeNodeStreamNewTree(pncompactAST.tree, ANTLR3_SIZE_HINT); // sIZE HINT WILL SOON BE DEPRECATED!! @@ -231,6 +235,7 @@ output = generator->pn(generator, processes, threads, (char*) fName); if (generator->pTreeParser->rec->state->errorCount > 0) { fprintf(stderr, "The parser returned %d error(s), code generation aborted.\n", generator->pTreeParser->rec->state->errorCount); + errors = true; } if(is_verbose() >= 1) { @@ -300,6 +305,10 @@ } } + if(errors) { + exit(3); + } + if(is_verbose() >= 5) { displaySpec(output); } Modified: translator/pncompactor.c =================================================================== --- translator/pncompactor.c 2009-07-07 21:26:41 UTC (rev 184) +++ translator/pncompactor.c 2009-07-07 22:36:31 UTC (rev 185) @@ -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-07 16:13:45 + * - On : 2009-07-07 17:34:16 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -547,274 +547,277 @@ return pncompactorTokenNames; } + + bool errors; + /* Declare the bitsets */ -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_definitions_in_pn89 */ -static ANTLR3_BITWORD FOLLOW_proc_definitions_in_pn89_bits[] = { ANTLR3_UINT64_LIT(0x0000000001800800) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_definitions_in_pn89 = { FOLLOW_proc_definitions_in_pn89_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_instantiations_in_pn92 */ -static ANTLR3_BITWORD FOLLOW_proc_instantiations_in_pn92_bits[] = { ANTLR3_UINT64_LIT(0x0000001001800802) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_instantiations_in_pn92 = { FOLLOW_proc_instantiations_in_pn92_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraints_in_pn95 */ -static ANTLR3_BITWORD FOLLOW_constraints_in_pn95_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_constraints_in_pn95 = { FOLLOW_constraints_in_pn95_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_other_commands_in_pn98 */ -static ANTLR3_BITWORD FOLLOW_other_commands_in_pn98_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_other_commands_in_pn98 = { FOLLOW_other_commands_in_pn98_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_def_start_in_proc_definitions110 */ -static ANTLR3_BITWORD FOLLOW_def_start_in_proc_definitions110_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_def_start_in_proc_definitions110 = { FOLLOW_def_start_in_proc_definitions110_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_defs_in_proc_definitions112 */ -static ANTLR3_BITWORD FOLLOW_trans_defs_in_proc_definitions112_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400868) }; -static ANTLR3_BITSET_LIST FOLLOW_trans_defs_in_proc_definitions112 = { FOLLOW_trans_defs_in_proc_definitions112_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_functions_in_proc_definitions115 */ -static ANTLR3_BITWORD FOLLOW_select_functions_in_proc_definitions115_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400008) }; -static ANTLR3_BITSET_LIST FOLLOW_select_functions_in_proc_definitions115 = { FOLLOW_select_functions_in_proc_definitions115_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_nondeterm_in_proc_definitions118 */ -static ANTLR3_BITWORD FOLLOW_nondeterm_in_proc_definitions118_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_nondeterm_in_proc_definitions118 = { FOLLOW_nondeterm_in_proc_definitions118_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_def_start129 */ -static ANTLR3_BITWORD FOLLOW_ID_in_def_start129_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_def_start129 = { FOLLOW_ID_in_def_start129_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_extern_trans_def_in_trans_defs137 */ -static ANTLR3_BITWORD FOLLOW_extern_trans_def_in_trans_defs137_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_extern_trans_def_in_trans_defs137 = { FOLLOW_extern_trans_def_in_trans_defs137_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_def_in_trans_defs142 */ -static ANTLR3_BITWORD FOLLOW_trans_def_in_trans_defs142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_trans_def_in_trans_defs142 = { FOLLOW_trans_def_in_trans_defs142_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_extern_trans_def152 */ -static ANTLR3_BITWORD FOLLOW_set_in_extern_trans_def152_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_extern_trans_def152 = { FOLLOW_set_in_extern_trans_def152_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_extern_trans_def160 */ -static ANTLR3_BITWORD FOLLOW_ID_in_extern_trans_def160_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_extern_trans_def160 = { FOLLOW_ID_in_extern_trans_def160_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def172 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def172_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def172 = { FOLLOW_ID_in_trans_def172_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def174 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def174_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def174 = { FOLLOW_CODE_BLOCK_in_trans_def174_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def181 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def181_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def181 = { FOLLOW_ID_in_trans_def181_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def183 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def183_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def183 = { FOLLOW_ID_in_trans_def183_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def186 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def186_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def186 = { FOLLOW_CODE_BLOCK_in_trans_def186_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_definitions_in_pn100 */ +static ANTLR3_BITWORD FOLLOW_proc_definitions_in_pn100_bits[] = { ANTLR3_UINT64_LIT(0x0000000001800800) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_definitions_in_pn100 = { FOLLOW_proc_definitions_in_pn100_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_instantiations_in_pn103 */ +static ANTLR3_BITWORD FOLLOW_proc_instantiations_in_pn103_bits[] = { ANTLR3_UINT64_LIT(0x0000001001800802) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_instantiations_in_pn103 = { FOLLOW_proc_instantiations_in_pn103_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraints_in_pn106 */ +static ANTLR3_BITWORD FOLLOW_constraints_in_pn106_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000802) }; +static ANTLR3_BITSET_LIST FOLLOW_constraints_in_pn106 = { FOLLOW_constraints_in_pn106_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_other_commands_in_pn109 */ +static ANTLR3_BITWORD FOLLOW_other_commands_in_pn109_bits[] = { ANTLR3_UINT64_LIT(0x0000001000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_other_commands_in_pn109 = { FOLLOW_other_commands_in_pn109_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_def_start_in_proc_definitions123 */ +static ANTLR3_BITWORD FOLLOW_def_start_in_proc_definitions123_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_def_start_in_proc_definitions123 = { FOLLOW_def_start_in_proc_definitions123_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_defs_in_proc_definitions125 */ +static ANTLR3_BITWORD FOLLOW_trans_defs_in_proc_definitions125_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400868) }; +static ANTLR3_BITSET_LIST FOLLOW_trans_defs_in_proc_definitions125 = { FOLLOW_trans_defs_in_proc_definitions125_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_functions_in_proc_definitions128 */ +static ANTLR3_BITWORD FOLLOW_select_functions_in_proc_definitions128_bits[] = { ANTLR3_UINT64_LIT(0x0000800000400008) }; +static ANTLR3_BITSET_LIST FOLLOW_select_functions_in_proc_definitions128 = { FOLLOW_select_functions_in_proc_definitions128_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_nondeterm_in_proc_definitions131 */ +static ANTLR3_BITWORD FOLLOW_nondeterm_in_proc_definitions131_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_nondeterm_in_proc_definitions131 = { FOLLOW_nondeterm_in_proc_definitions131_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_def_start142 */ +static ANTLR3_BITWORD FOLLOW_ID_in_def_start142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_def_start142 = { FOLLOW_ID_in_def_start142_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_extern_trans_def_in_trans_defs150 */ +static ANTLR3_BITWORD FOLLOW_extern_trans_def_in_trans_defs150_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_extern_trans_def_in_trans_defs150 = { FOLLOW_extern_trans_def_in_trans_defs150_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_trans_def_in_trans_defs155 */ +static ANTLR3_BITWORD FOLLOW_trans_def_in_trans_defs155_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_trans_def_in_trans_defs155 = { FOLLOW_trans_def_in_trans_defs155_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_extern_trans_def165 */ +static ANTLR3_BITWORD FOLLOW_set_in_extern_trans_def165_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_set_in_extern_trans_def165 = { FOLLOW_set_in_extern_trans_def165_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_extern_trans_def173 */ +static ANTLR3_BITWORD FOLLOW_ID_in_extern_trans_def173_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_extern_trans_def173 = { FOLLOW_ID_in_extern_trans_def173_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def185 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def185_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def185 = { FOLLOW_ID_in_trans_def185_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def187 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def187_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def187 = { FOLLOW_CODE_BLOCK_in_trans_def187_bits, 1 }; /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def194 */ static ANTLR3_BITWORD FOLLOW_ID_in_trans_def194_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def194 = { FOLLOW_ID_in_trans_def194_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLACE_in_trans_def196 */ -static ANTLR3_BITWORD FOLLOW_PLACE_in_trans_def196_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_PLACE_in_trans_def196 = { FOLLOW_PLACE_in_trans_def196_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def198 */ -static ANTLR3_BITWORD FOLLOW_ID_in_trans_def198_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def198 = { FOLLOW_ID_in_trans_def198_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def201 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def201_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def201 = { FOLLOW_CODE_BLOCK_in_trans_def201_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_DEF_in_select_functions212 */ -static ANTLR3_BITWORD FOLLOW_SELECT_DEF_in_select_functions212_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_SELECT_DEF_in_select_functions212 = { FOLLOW_SELECT_DEF_in_select_functions212_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_select_functions214 */ -static ANTLR3_BITWORD FOLLOW_ID_in_select_functions214_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_select_functions214 = { FOLLOW_ID_in_select_functions214_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_select_functions216 */ -static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_select_functions216_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_select_functions216 = { FOLLOW_CODE_BLOCK_in_select_functions216_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_47_in_nondeterm227 */ -static ANTLR3_BITWORD FOLLOW_47_in_nondeterm227_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_47_in_nondeterm227 = { FOLLOW_47_in_nondeterm227_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_nondeterm229 */ -static ANTLR3_BITWORD FOLLOW_ID_in_nondeterm229_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_nondeterm229 = { FOLLOW_ID_in_nondeterm229_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_init_in_proc_instantiations241 */ -static ANTLR3_BITWORD FOLLOW_proc_init_in_proc_instantiations241_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_init_in_proc_instantiations241 = { FOLLOW_proc_init_in_proc_instantiations241_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_sync_def_in_proc_instantiations245 */ -static ANTLR3_BITWORD FOLLOW_sync_def_in_proc_instantiations245_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_sync_def_in_proc_instantiations245 = { FOLLOW_sync_def_in_proc_instantiations245_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_start_in_proc_instantiations249 */ -static ANTLR3_BITWORD FOLLOW_proc_start_in_proc_instantiations249_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_proc_start_in_proc_instantiations249 = { FOLLOW_proc_start_in_proc_instantiations249_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init258 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init258 = { FOLLOW_ID_in_proc_init258_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init264 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init264_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init264 = { FOLLOW_ID_in_proc_init264_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init266 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init266_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init266 = { FOLLOW_numbered_ID_in_proc_init266_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def278 */ -static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def278_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def278 = { FOLLOW_SYNC_TOK_in_sync_def278_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def280 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def280_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def280 = { FOLLOW_group_elements_in_sync_def280_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start292 */ -static ANTLR3_BITWORD FOLLOW_START_in_proc_start292_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start292 = { FOLLOW_START_in_proc_start292_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start294 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_start294_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start294 = { FOLLOW_ID_in_proc_start294_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints311 */ -static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints311_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints311 = { FOLLOW_constraint_block_in_constraints311_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints317 */ -static ANTLR3_BITWORD FOLLOW_eq_in_constraints317_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints317 = { FOLLOW_eq_in_constraints317_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints322 */ -static ANTLR3_BITWORD FOLLOW_live_def_in_constraints322_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints322 = { FOLLOW_live_def_in_constraints322_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints324 */ -static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints324_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints324 = { FOLLOW_uncontrol_in_constraints324_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints326 */ -static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints326_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; -static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints326 = { FOLLOW_unobserve_in_constraints326_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block337 */ -static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block337_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block337 = { FOLLOW_ID_in_constraint_block337_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq346 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq346_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq346 = { FOLLOW_relationalExpression_in_eq346_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq352 */ -static ANTLR3_BITWORD FOLLOW_set_in_eq352_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_eq352 = { FOLLOW_set_in_eq352_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq358 */ -static ANTLR3_BITWORD FOLLOW_eq_in_eq358_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq358 = { FOLLOW_eq_in_eq358_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq360 */ -static ANTLR3_BITWORD FOLLOW_eq_in_eq360_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq360 = { FOLLOW_eq_in_eq360_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression387 */ -static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression387_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression387 = { FOLLOW_EQ_OP_in_relationalExpression387_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression391 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression391_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression391 = { FOLLOW_additiveExpression_in_relationalExpression391_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression397 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression397_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression397 = { FOLLOW_additiveExpression_in_relationalExpression397_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression444 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression444_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression444 = { FOLLOW_primary_in_additiveExpression444_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression456 */ -static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression456_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression456 = { FOLLOW_PLUS_in_additiveExpression456_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression460 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression460_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression460 = { FOLLOW_additiveExpression_in_additiveExpression460_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression477 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression477_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression477 = { FOLLOW_additiveExpression_in_additiveExpression477_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression618 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression618_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression618 = { FOLLOW_MINUS_in_additiveExpression618_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression622 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression622_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression622 = { FOLLOW_additiveExpression_in_additiveExpression622_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression638 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression638_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression638 = { FOLLOW_additiveExpression_in_additiveExpression638_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary795 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_primary795_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary795 = { FOLLOW_MINUS_in_primary795_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary799 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary799_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary799 = { FOLLOW_eq_in_primary799_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary814 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_primary814_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary814 = { FOLLOW_group_elements_in_primary814_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary855 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary855_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary855 = { FOLLOW_number_in_primary855_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary868 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary868_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary868 = { FOLLOW_MULT_in_primary868_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary870 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary870_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary870 = { FOLLOW_number_in_primary870_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary872 */ -static ANTLR3_BITWORD FOLLOW_primary_in_primary872_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary872 = { FOLLOW_primary_in_primary872_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary903 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary903_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary903 = { FOLLOW_MULT_in_primary903_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary905 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary905_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary905 = { FOLLOW_number_in_primary905_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary909 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary909_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary909 = { FOLLOW_eq_in_primary909_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def933 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def933_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def933 = { FOLLOW_LIVE_in_live_def933_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def935 */ -static ANTLR3_BITWORD FOLLOW_ALL_in_live_def935_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def935 = { FOLLOW_ALL_in_live_def935_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def937 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def937_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def937 = { FOLLOW_ID_in_live_def937_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def945 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def945_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def945 = { FOLLOW_LIVE_in_live_def945_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def947 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def947_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def947 = { FOLLOW_ID_in_live_def947_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol959 */ -static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol959_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol959 = { FOLLOW_UNCONTROL_in_uncontrol959_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol961 */ -static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol961_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol961 = { FOLLOW_ID_in_uncontrol961_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve973 */ -static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve973_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve973 = { FOLLOW_UNOBSERVE_in_unobserve973_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve975 */ -static ANTLR3_BITWORD FOLLOW_ID_in_unobserve975_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve975 = { FOLLOW_ID_in_unobserve975_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands987 */ -static ANTLR3_BITWORD FOLLOW_print_in_other_commands987_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands987 = { FOLLOW_print_in_other_commands987_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print997 */ -static ANTLR3_BITWORD FOLLOW_PRINT_in_print997_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print997 = { FOLLOW_PRINT_in_print997_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print999 */ -static ANTLR3_BITWORD FOLLOW_ID_in_print999_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_print999 = { FOLLOW_ID_in_print999_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1001 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_print1001_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1001 = { FOLLOW_group_elements_in_print1001_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1020 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1020_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1020 = { FOLLOW_INT_in_number1020_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1033 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_number1033_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1033 = { FOLLOW_MINUS_in_number1033_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1035 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1035_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1035 = { FOLLOW_INT_in_number1035_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1053 */ -static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1053_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1053 = { FOLLOW_GROUP_in_group_elements1053_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1055 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1055_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1055 = { FOLLOW_ID_in_group_elements1055_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1066 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1066_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1066 = { FOLLOW_ID_in_numbered_ID1066_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1072 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1072_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1072 = { FOLLOW_ID_in_numbered_ID1072_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1074 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1074_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1074 = { FOLLOW_INT_in_numbered_ID1074_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def196 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def196_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def196 = { FOLLOW_ID_in_trans_def196_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def199 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def199_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def199 = { FOLLOW_CODE_BLOCK_in_trans_def199_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def207 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def207_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def207 = { FOLLOW_ID_in_trans_def207_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLACE_in_trans_def209 */ +static ANTLR3_BITWORD FOLLOW_PLACE_in_trans_def209_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; +static ANTLR3_BITSET_LIST FOLLOW_PLACE_in_trans_def209 = { FOLLOW_PLACE_in_trans_def209_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_trans_def211 */ +static ANTLR3_BITWORD FOLLOW_ID_in_trans_def211_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_trans_def211 = { FOLLOW_ID_in_trans_def211_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_trans_def214 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_trans_def214_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_trans_def214 = { FOLLOW_CODE_BLOCK_in_trans_def214_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_DEF_in_select_functions225 */ +static ANTLR3_BITWORD FOLLOW_SELECT_DEF_in_select_functions225_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_SELECT_DEF_in_select_functions225 = { FOLLOW_SELECT_DEF_in_select_functions225_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_select_functions227 */ +static ANTLR3_BITWORD FOLLOW_ID_in_select_functions227_bits[] = { ANTLR3_UINT64_LIT(0x0000000000004000) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_select_functions227 = { FOLLOW_ID_in_select_functions227_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_BLOCK_in_select_functions229 */ +static ANTLR3_BITWORD FOLLOW_CODE_BLOCK_in_select_functions229_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_CODE_BLOCK_in_select_functions229 = { FOLLOW_CODE_BLOCK_in_select_functions229_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_47_in_nondeterm240 */ +static ANTLR3_BITWORD FOLLOW_47_in_nondeterm240_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_47_in_nondeterm240 = { FOLLOW_47_in_nondeterm240_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_nondeterm242 */ +static ANTLR3_BITWORD FOLLOW_ID_in_nondeterm242_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_nondeterm242 = { FOLLOW_ID_in_nondeterm242_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_init_in_proc_instantiations254 */ +static ANTLR3_BITWORD FOLLOW_proc_init_in_proc_instantiations254_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_init_in_proc_instantiations254 = { FOLLOW_proc_init_in_proc_instantiations254_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_sync_def_in_proc_instantiations258 */ +static ANTLR3_BITWORD FOLLOW_sync_def_in_proc_instantiations258_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_sync_def_in_proc_instantiations258 = { FOLLOW_sync_def_in_proc_instantiations258_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_start_in_proc_instantiations262 */ +static ANTLR3_BITWORD FOLLOW_proc_start_in_proc_instantiations262_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_start_in_proc_instantiations262 = { FOLLOW_proc_start_in_proc_instantiations262_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init271 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init271_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init271 = { FOLLOW_ID_in_proc_init271_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init277 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init277_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init277 = { FOLLOW_ID_in_proc_init277_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init279 */ +static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init279_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init279 = { FOLLOW_numbered_ID_in_proc_init279_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def291 */ +static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def291_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def291 = { FOLLOW_SYNC_TOK_in_sync_def291_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def293 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def293_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def293 = { FOLLOW_group_elements_in_sync_def293_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start305 */ +static ANTLR3_BITWORD FOLLOW_START_in_proc_start305_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start305 = { FOLLOW_START_in_proc_start305_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start307 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_start307_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start307 = { FOLLOW_ID_in_proc_start307_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints324 */ +static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints324_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints324 = { FOLLOW_constraint_block_in_constraints324_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints330 */ +static ANTLR3_BITWORD FOLLOW_eq_in_constraints330_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints330 = { FOLLOW_eq_in_constraints330_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints335 */ +static ANTLR3_BITWORD FOLLOW_live_def_in_constraints335_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; +static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints335 = { FOLLOW_live_def_in_constraints335_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints337 */ +static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints337_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; +static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints337 = { FOLLOW_uncontrol_in_constraints337_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints339 */ +static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints339_bits[] = { ANTLR3_UINT64_LIT(0x0000000D38000008) }; +static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints339 = { FOLLOW_unobserve_in_constraints339_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block350 */ +static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block350_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block350 = { FOLLOW_ID_in_constraint_block350_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq359 */ +static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq359_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq359 = { FOLLOW_relationalExpression_in_eq359_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq365 */ +static ANTLR3_BITWORD FOLLOW_set_in_eq365_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_set_in_eq365 = { FOLLOW_set_in_eq365_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq371 */ +static ANTLR3_BITWORD FOLLOW_eq_in_eq371_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq371 = { FOLLOW_eq_in_eq371_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq373 */ +static ANTLR3_BITWORD FOLLOW_eq_in_eq373_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq373 = { FOLLOW_eq_in_eq373_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression400 */ +static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression400_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression400 = { FOLLOW_EQ_OP_in_relationalExpression400_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression404 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression404_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression404 = { FOLLOW_additiveExpression_in_relationalExpression404_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression410 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression410_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression410 = { FOLLOW_additiveExpression_in_relationalExpression410_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression512 */ +static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression512_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression512 = { FOLLOW_primary_in_additiveExpression512_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression524 */ +static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression524_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression524 = { FOLLOW_PLUS_in_additiveExpression524_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression528 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression528_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression528 = { FOLLOW_additiveExpression_in_additiveExpression528_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression545 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression545_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression545 = { FOLLOW_additiveExpression_in_additiveExpression545_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression686 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression686_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression686 = { FOLLOW_MINUS_in_additiveExpression686_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression690 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression690_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression690 = { FOLLOW_additiveExpression_in_additiveExpression690_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression706 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression706_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression706 = { FOLLOW_additiveExpression_in_additiveExpression706_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary863 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_primary863_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary863 = { FOLLOW_MINUS_in_primary863_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary867 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary867_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary867 = { FOLLOW_eq_in_primary867_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary882 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_primary882_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary882 = { FOLLOW_group_elements_in_primary882_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary923 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary923_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary923 = { FOLLOW_number_in_primary923_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary936 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary936_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary936 = { FOLLOW_MULT_in_primary936_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary938 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary938_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary938 = { FOLLOW_number_in_primary938_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary940 */ +static ANTLR3_BITWORD FOLLOW_primary_in_primary940_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary940 = { FOLLOW_primary_in_primary940_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary971 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary971_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary971 = { FOLLOW_MULT_in_primary971_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary973 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary973_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary973 = { FOLLOW_number_in_primary973_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary977 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary977_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary977 = { FOLLOW_eq_in_primary977_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1001 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1001_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1001 = { FOLLOW_LIVE_in_live_def1001_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def1003 */ +static ANTLR3_BITWORD FOLLOW_ALL_in_live_def1003_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def1003 = { FOLLOW_ALL_in_live_def1003_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1005 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def1005_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1005 = { FOLLOW_ID_in_live_def1005_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def1013 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def1013_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def1013 = { FOLLOW_LIVE_in_live_def1013_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def1015 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def1015_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def1015 = { FOLLOW_ID_in_live_def1015_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1027 */ +static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1027_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1027 = { FOLLOW_UNCONTROL_in_uncontrol1027_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1029 */ +static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1029_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1029 = { FOLLOW_ID_in_uncontrol1029_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1041 */ +static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1041_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1041 = { FOLLOW_UNOBSERVE_in_unobserve1041_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1043 */ +static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1043_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1043 = { FOLLOW_ID_in_unobserve1043_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1055 */ +static ANTLR3_BITWORD FOLLOW_print_in_other_commands1055_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1055 = { FOLLOW_print_in_other_commands1055_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1065 */ +static ANTLR3_BITWORD FOLLOW_PRINT_in_print1065_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1065 = { FOLLOW_PRINT_in_print1065_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1067 */ +static ANTLR3_BITWORD FOLLOW_ID_in_print1067_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1067 = { FOLLOW_ID_in_print1067_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1069 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_print1069_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1069 = { FOLLOW_group_elements_in_print1069_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1088 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1088_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1088 = { FOLLOW_INT_in_number1088_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1101 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_number1101_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1101 = { FOLLOW_MINUS_in_number1101_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1103 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1103_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1103 = { FOLLOW_INT_in_number1103_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1121 */ +static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1121_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1121 = { FOLLOW_GROUP_in_group_elements1121_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1123 */ +static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1123_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1123 = { FOLLOW_ID_in_group_elements1123_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1134 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1134_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1134 = { FOLLOW_ID_in_numbered_ID1134_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1140 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1140_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1140 = { FOLLOW_ID_in_numbered_ID1140_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1142 */ +static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1142_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1142 = { FOLLOW_INT_in_numbered_ID1142_bits, 1 }; @@ -822,7 +825,7 @@ * DFA tables for the parser */ /** Static dfa state tables for Cyclic dfa: - * 195:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); + * 212:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); */ static const ANTLR3_INT32 dfa24_eot[15] = { @@ -842,7 +845,7 @@ }; static const ANTLR3_INT32 dfa24_accept[15] = { - -1, -1, 2, 3, -1, -1, -1, 1, -1, -1, 4, 5, -1, -1, -1 + -1, -1, 2, 3, -1, -1, -1, 1, -1, -1, 5, 4, -1, -1, -1 };... [truncated message content] |
From: <the...@us...> - 2009-07-07 21:26:48
|
Revision: 184 http://pntool.svn.sourceforge.net/pntool/?rev=184&view=rev Author: thecodeweasel Date: 2009-07-07 21:26:41 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Moving symbols to the left side of constraint equations and number to the right. Not tested, but it at least doesn't break anything... Modified Paths: -------------- translator/pncompactor.c translator/pncompactor.g translator/pncompactor.h translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pncompactor.c =================================================================== --- translator/pncompactor.c 2009-07-07 20:15:31 UTC (rev 183) +++ translator/pncompactor.c 2009-07-07 21:26:41 UTC (rev 184) @@ -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-05 23:51:33 + * - On : 2009-07-07 16:13:45 * - for the tree parser : pncompactorTreeParser * * Editing it, at least manually, is not wise. * @@ -692,129 +692,129 @@ /** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_eq360 */ static ANTLR3_BITWORD FOLLOW_eq_in_eq360_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; static ANTLR3_BITSET_LIST FOLLOW_eq_in_eq360 = { FOLLOW_eq_in_eq360_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression382 */ -static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression382_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression382 = { FOLLOW_EQ_OP_in_relationalExpression382_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression384 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression384_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression384 = { FOLLOW_additiveExpression_in_relationalExpression384_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression388 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression388_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression388 = { FOLLOW_additiveExpression_in_relationalExpression388_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression409 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression409_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression409 = { FOLLOW_primary_in_additiveExpression409_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression419 */ -static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression419_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression419 = { FOLLOW_PLUS_in_additiveExpression419_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression423 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression423_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression423 = { FOLLOW_additiveExpression_in_additiveExpression423_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression440 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression440_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression440 = { FOLLOW_additiveExpression_in_additiveExpression440_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression490 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression490_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression490 = { FOLLOW_MINUS_in_additiveExpression490_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression494 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression494_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression494 = { FOLLOW_additiveExpression_in_additiveExpression494_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression510 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression510_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression510 = { FOLLOW_additiveExpression_in_additiveExpression510_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary571 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_primary571_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary571 = { FOLLOW_MINUS_in_primary571_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary575 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary575_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary575 = { FOLLOW_eq_in_primary575_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary590 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_primary590_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary590 = { FOLLOW_group_elements_in_primary590_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary631 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary631_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary631 = { FOLLOW_number_in_primary631_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary642 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary642_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary642 = { FOLLOW_MULT_in_primary642_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary644 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary644_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary644 = { FOLLOW_number_in_primary644_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary646 */ -static ANTLR3_BITWORD FOLLOW_primary_in_primary646_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary646 = { FOLLOW_primary_in_primary646_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary681 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary681_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary681 = { FOLLOW_MULT_in_primary681_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary683 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary683_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary683 = { FOLLOW_number_in_primary683_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary687 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary687_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary687 = { FOLLOW_eq_in_primary687_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def711 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def711_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def711 = { FOLLOW_LIVE_in_live_def711_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def713 */ -static ANTLR3_BITWORD FOLLOW_ALL_in_live_def713_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def713 = { FOLLOW_ALL_in_live_def713_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def715 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def715_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def715 = { FOLLOW_ID_in_live_def715_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def723 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def723_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def723 = { FOLLOW_LIVE_in_live_def723_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def725 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def725_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def725 = { FOLLOW_ID_in_live_def725_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol737 */ -static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol737_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol737 = { FOLLOW_UNCONTROL_in_uncontrol737_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol739 */ -static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol739_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol739 = { FOLLOW_ID_in_uncontrol739_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve751 */ -static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve751_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve751 = { FOLLOW_UNOBSERVE_in_unobserve751_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve753 */ -static ANTLR3_BITWORD FOLLOW_ID_in_unobserve753_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve753 = { FOLLOW_ID_in_unobserve753_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands765 */ -static ANTLR3_BITWORD FOLLOW_print_in_other_commands765_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands765 = { FOLLOW_print_in_other_commands765_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print775 */ -static ANTLR3_BITWORD FOLLOW_PRINT_in_print775_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print775 = { FOLLOW_PRINT_in_print775_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print777 */ -static ANTLR3_BITWORD FOLLOW_ID_in_print777_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_print777 = { FOLLOW_ID_in_print777_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print779 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_print779_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print779 = { FOLLOW_group_elements_in_print779_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number798 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number798_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number798 = { FOLLOW_INT_in_number798_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number811 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_number811_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number811 = { FOLLOW_MINUS_in_number811_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number813 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number813_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number813 = { FOLLOW_INT_in_number813_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements831 */ -static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements831_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements831 = { FOLLOW_GROUP_in_group_elements831_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements833 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements833_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements833 = { FOLLOW_ID_in_group_elements833_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID844 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID844_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID844 = { FOLLOW_ID_in_numbered_ID844_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID850 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID850_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID850 = { FOLLOW_ID_in_numbered_ID850_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID852 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID852_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID852 = { FOLLOW_INT_in_numbered_ID852_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression387 */ +static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression387_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression387 = { FOLLOW_EQ_OP_in_relationalExpression387_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression391 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression391_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression391 = { FOLLOW_additiveExpression_in_relationalExpression391_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression397 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression397_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression397 = { FOLLOW_additiveExpression_in_relationalExpression397_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression444 */ +static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression444_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression444 = { FOLLOW_primary_in_additiveExpression444_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_in_additiveExpression456 */ +static ANTLR3_BITWORD FOLLOW_PLUS_in_additiveExpression456_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PLUS_in_additiveExpression456 = { FOLLOW_PLUS_in_additiveExpression456_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression460 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression460_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression460 = { FOLLOW_additiveExpression_in_additiveExpression460_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression477 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression477_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression477 = { FOLLOW_additiveExpression_in_additiveExpression477_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_additiveExpression618 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_additiveExpression618_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_additiveExpression618 = { FOLLOW_MINUS_in_additiveExpression618_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression622 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression622_bits[] = { ANTLR3_UINT64_LIT(0x00000000C2080088) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression622 = { FOLLOW_additiveExpression_in_additiveExpression622_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_additiveExpression638 */ +static ANTLR3_BITWORD FOLLOW_additiveExpression_in_additiveExpression638_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_additiveExpression638 = { FOLLOW_additiveExpression_in_additiveExpression638_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary795 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_primary795_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary795 = { FOLLOW_MINUS_in_primary795_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary799 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary799_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary799 = { FOLLOW_eq_in_primary799_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary814 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_primary814_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary814 = { FOLLOW_group_elements_in_primary814_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary855 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary855_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary855 = { FOLLOW_number_in_primary855_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary868 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary868_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary868 = { FOLLOW_MULT_in_primary868_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary870 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary870_bits[] = { ANTLR3_UINT64_LIT(0x0000000082080088) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary870 = { FOLLOW_number_in_primary870_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary872 */ +static ANTLR3_BITWORD FOLLOW_primary_in_primary872_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary872 = { FOLLOW_primary_in_primary872_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary903 */ +static ANTLR3_BITWORD FOLLOW_MULT_in_primary903_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary903 = { FOLLOW_MULT_in_primary903_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary905 */ +static ANTLR3_BITWORD FOLLOW_number_in_primary905_bits[] = { ANTLR3_UINT64_LIT(0x0000000038000000) }; +static ANTLR3_BITSET_LIST FOLLOW_number_in_primary905 = { FOLLOW_number_in_primary905_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary909 */ +static ANTLR3_BITWORD FOLLOW_eq_in_primary909_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary909 = { FOLLOW_eq_in_primary909_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def933 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def933_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def933 = { FOLLOW_LIVE_in_live_def933_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def935 */ +static ANTLR3_BITWORD FOLLOW_ALL_in_live_def935_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def935 = { FOLLOW_ALL_in_live_def935_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def937 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def937_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def937 = { FOLLOW_ID_in_live_def937_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def945 */ +static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def945_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def945 = { FOLLOW_LIVE_in_live_def945_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def947 */ +static ANTLR3_BITWORD FOLLOW_ID_in_live_def947_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def947 = { FOLLOW_ID_in_live_def947_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol959 */ +static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol959_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol959 = { FOLLOW_UNCONTROL_in_uncontrol959_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol961 */ +static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol961_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol961 = { FOLLOW_ID_in_uncontrol961_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve973 */ +static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve973_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve973 = { FOLLOW_UNOBSERVE_in_unobserve973_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve975 */ +static ANTLR3_BITWORD FOLLOW_ID_in_unobserve975_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve975 = { FOLLOW_ID_in_unobserve975_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands987 */ +static ANTLR3_BITWORD FOLLOW_print_in_other_commands987_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands987 = { FOLLOW_print_in_other_commands987_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print997 */ +static ANTLR3_BITWORD FOLLOW_PRINT_in_print997_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print997 = { FOLLOW_PRINT_in_print997_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print999 */ +static ANTLR3_BITWORD FOLLOW_ID_in_print999_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000088) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_print999 = { FOLLOW_ID_in_print999_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1001 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_print1001_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1001 = { FOLLOW_group_elements_in_print1001_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1020 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1020_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1020 = { FOLLOW_INT_in_number1020_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1033 */ +static ANTLR3_BITWORD FOLLOW_MINUS_in_number1033_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1033 = { FOLLOW_MINUS_in_number1033_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1035 */ +static ANTLR3_BITWORD FOLLOW_INT_in_number1035_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1035 = { FOLLOW_INT_in_number1035_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_in_group_elements1053 */ +static ANTLR3_BITWORD FOLLOW_GROUP_in_group_elements1053_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_GROUP_in_group_elements1053 = { FOLLOW_GROUP_in_group_elements1053_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1055 */ +static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1055_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000808) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1055 = { FOLLOW_ID_in_group_elements1055_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1066 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1066_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1066 = { FOLLOW_ID_in_numbered_ID1066_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID1072 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID1072_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000004) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID1072 = { FOLLOW_ID_in_numbered_ID1072_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID1074 */ +static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID1074_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000008) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID1074 = { FOLLOW_INT_in_numbered_ID1074_bits, 1 }; @@ -822,7 +822,7 @@ * DFA tables for the parser */ /** Static dfa state tables for Cyclic dfa: - * 160:1: primary[bool enableAlt] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT number primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); + * 195:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq ); */ static const ANTLR3_INT32 dfa24_eot[15] = { @@ -854,33 +854,33 @@ static const ANTLR3_INT32 dfa24_T0[] = { - 14 + 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, 3, + -1, -1, -1, -1, -1, 1 };static const ANTLR3_INT32 dfa24_T1[] = { - 3, -1, 7, 7, 7 + 12 };static const ANTLR3_INT32 dfa24_T2[] = { + 5 + };static const ANTLR3_INT32 dfa24_T3[] = + { 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, 10, -1, 11, 11, 11, -1, 10 - };static const ANTLR3_INT32 dfa24_T3[] = + };static const ANTLR3_INT32 dfa24_T4[] = { 13 - };static const ANTLR3_INT32 dfa24_T4[] = - { - 6 };static const ANTLR3_INT32 dfa24_T5[] = { 8, -1, -1, -1, -1, -1, 9 };static const ANTLR3_INT32 dfa24_T6[] = { - 12 + 6 };static const ANTLR3_INT32 dfa24_T7[] = { - 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, 3, - -1, -1, -1, -1, -1, 1 + 14 };static const ANTLR3_INT32 dfa24_T8[] = { - 5 + 3, -1, 7, 7, 7 }; /* Transition tables are a table of sub tables, with some tables @@ -888,9 +888,9 @@ */ static const ANTLR3_INT32 * const dfa24_transitions[] = { - dfa24_T7, dfa24_T8, dfa24_T_empty, dfa24_T_empty, dfa24_T4, dfa24_T1, - dfa24_T5, dfa24_T_empty, dfa24_T2, dfa24_T6, dfa24_T_empty, dfa24_T_empty, - dfa24_T3, dfa24_T0, dfa24_T2 + dfa24_T0, dfa24_T2, dfa24_T_empty, dfa24_T_empty, dfa24_T6, dfa24_T8, + dfa24_T5, dfa24_T_empty, dfa24_T3, dfa24_T1, dfa24_T_empty, dfa24_T_empty, + dfa24_T4, dfa24_T7, dfa24_T3 }; @@ -901,7 +901,7 @@ = { 24, /* Decision number of this dfa */ /* Which decision this represents: */ - (const pANTLR3_UCHAR)"160:1: primary[bool enableAlt] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT number primary ) | ^( MULT number eq ) -> {i == 0}? -> eq );", + (const pANTLR3_UCHAR)"195:1: primary[bool enableAlt] returns [int num, bool numeric] : ( ^( MINUS eq ) -> eq | group_elements -> {!enableAlt || i == 1}? group_elements -> ^( MULT[tok2, newVal2] NUM[tok, newVal] group_elements ) | number -> | ^( MULT number primary[false] ) -> {$number.value == 0}? -> ^( MULT INT[tok, newVal] primary ) | ^( MULT number eq ) -> {i == 0}? -> eq );", (CDFA_SPECIAL_FUNC) antlr3dfaspecialStateTransition, /* Default special state transition function */ antlr3dfaspecialTransition, /* DFA specialTransition is currently just a default function in the runtime */ antlr3dfapredict, /* DFA simulator function is in the runtime */ @@ -3285,7 +3285,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pncompactor.g:69:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:69:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )+ ) ; */ static pncompactor_constraints_return constraints(ppncompactor ctx) @@ -3345,8 +3345,8 @@ retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:74:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:74:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pncompactor.g:74:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )+ ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:74:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )+ ) { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); @@ -3369,149 +3369,160 @@ root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, constraint_block38.tree, root_1)); - if ( LA(1)==ANTLR3_TOKEN_DOWN ) { - MATCHT(ANTLR3_TOKEN_DOWN, NULL); + MATCHT(ANTLR3_TOKEN_DOWN, NULL); + // /Users/bion/projects/iordache/translator/pncompactor.g:74:23: ( ( eq ) | live_def | uncontrol | unobserve )+ + { + int cnt21=0; - // /Users/bion/projects/iordache/translator/pncompactor.g:74:23: ( ( eq ) | live_def | uncontrol | unobserve )* - for (;;) { int alt21=5; - switch ( LA(1) ) - { - case AND_OP: - case OR_OP: - case EQ_OP: - { - alt21=1; - } - break; - case LIVE: - { - alt21=2; - } - break; - case UNCONTROL: - { - alt21=3; - } - break; - case UNOBSERVE: - { - alt21=4; - } - break; + switch ( LA(1) ) + { + case AND_OP: + case OR_OP: + case EQ_OP: + { + alt21=1; + } + break; + case LIVE: + { + alt21=2; + } + break; + case UNCONTROL: + { + alt21=3; + } + break; + case UNOBSERVE: + { + alt21=4; + } + break; - } + } - switch (alt21) - { - case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:74:24: ( eq ) - { - // /Users/bion/projects/iordache/translator/pncompactor.g:74:24: ( eq ) - // /Users/bion/projects/iordache/translator/pncompactor.g:74:25: eq - { - { + switch (alt21) + { + case 1: + // /Users/bion/projects/iordache/translator/pncompactor.g:74:24: ( eq ) + { + // /Users/bion/projects/iordache/translator/pncompactor.g:74:24: ( eq ) + // /Users/bion/projects/iordache/translator/pncompactor.g:74:25: eq + { + { - (SCOPE_TOP(constraints))->dist= antlr3StackNew(ANTLR3_SIZE_HINT); - int j = 1; - (SCOPE_TOP(constraints))->dist->push( (SCOPE_TOP(constraints))->dist, &j, 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)); - } - - } - _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_eq_in_constraints317); - eq39=eq(ctx); + (SCOPE_TOP(constraints))->dist= antlr3StackNew(ANTLR3_SIZE_HINT); + int j = 1; + (SCOPE_TOP(constraints))->dist->push( (SCOPE_TOP(constraints))->dist, &j, 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)); + } + + } + _last = (pANTLR3_BASE_TREE)LT(1); + FOLLOWPUSH(FOLLOW_eq_in_constraints317); + eq39=eq(ctx); - FOLLOWPOP(); - if (HASEXCEPTION()) - { - goto ruleconstraintsEx; - } + FOLLOWPOP(); + if (HASEXCEPTION()) + { + goto ruleconstraintsEx; + } - ADAPTOR->addChild(ADAPTOR, root_1, eq39.tree); - { + ADAPTOR->addChild(ADAPTOR, root_1, eq39.tree); + { - if(DEBUG) { - printf("---------------------\n"); - fflush(stdout); - } - - } + if(DEBUG) { + printf("---------------------\n"); + fflush(stdout); + } + + } - } + } - } - break; - case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:86:6: live_def - { - _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_live_def_in_constraints322); - live_def40=live_def(ctx); + } + break; + case 2: + // /Users/bion/projects/iordache/translator/pncompactor.g:86:6: live_def + { + _last = (pANTLR3_BASE_TREE)LT(1); + FOLLOWPUSH(FOLLOW_live_def_in_constraints322); + live_def40=live_def(ctx); - FOLLOWPOP(); - if (HASEXCEPTION()) - { - goto ruleconstraintsEx; - } + FOLLOWPOP(); + if (HASEXCEPTION()) + { + goto ruleconstraintsEx; + } - ADAPTOR->addChild(ADAPTOR, root_1, live_def40.tree); + ADAPTOR->addChild(ADAPTOR, root_1, live_def40.tree); - } - break; - case 3: - // /Users/bion/projects/iordache/translator/pncompactor.g:86:15: uncontrol - { - _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_uncontrol_in_constraints324); - uncontrol41=uncontrol(ctx); + } + break; + case 3: + // /Users/bion/projects/iordache/translator/pncompactor.g:86:15: uncontrol + { + _last = (pANTLR3_BASE_TREE)LT(1); + FOLLOWPUSH(FOLLOW_uncontrol_in_constraints324); + uncontrol41=uncontrol(ctx); - FOLLOWPOP(); - if (HASEXCEPTION()) - { - goto ruleconstraintsEx; - } + FOLLOWPOP(); + if (HASEXCEPTION()) + { + goto ruleconstraintsEx; + } - ADAPTOR->addChild(ADAPTOR, root_1, uncontrol41.tree); + ADAPTOR->addChild(ADAPTOR, root_1, uncontrol41.tree); - } - break; - case 4: - // /Users/bion/projects/iordache/translator/pncompactor.g:86:25: unobserve - { - _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_unobserve_in_constraints326); - unobserve42=unobserve(ctx); + } + break; + case 4: + // /Users/bion/projects/iordache/translator/pncompactor.g:86:25: unobserve + { + _last = (pANTLR3_BASE_TREE)LT(1); + FOLLOWPUSH(FOLLOW_unobserve_in_constraints326); + unobserve42=unobserve(ctx); - FOLLOWPOP(); - if (HASEXCEPTION()) - { - goto ruleconstraintsEx; - } + FOLLOWPOP(); + if (HASEXCEPTION()) + { + goto ruleconstraintsEx; + } - ADAPTOR->addChild(ADAPTOR, root_1, unobserve42.tree); + ADAPTOR->addChild(ADAPTOR, root_1, unobserve42.tree); - } - break; + } + break; - default: - goto loop21; /* break out of the loop */ - break; - } - } - loop21: ; /* Jump out to here if this rule does not match */ + default: + + if ( cnt21 >= 1 ) + { + goto loop21; + } + /* mismatchedSetEx() + */ + CONSTRUCTEX(); + EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION; + EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME; - MATCHT(ANTLR3_TOKEN_UP, NULL); - }ADAPTOR->addChild(ADAPTOR, root_0, root_1);_last = _save_last_1; + goto ruleconstraintsEx; + } + cnt21++; + } + loop21: ; /* Jump to here if this rule does not match */ } + MATCHT(ANTLR3_TOKEN_UP, NULL); ADAPTOR->addChild(ADAPTOR, root_0, root_1);_last = _save_last_1; + } + } } @@ -3808,7 +3819,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pncompactor.g:93:1: relationalExpression : ^( EQ_OP additiveExpression additiveExpression ) ; + * /Users/bion/projects/iordache/translator/pncompactor.g:93:1: relationalExpression : ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> ^( EQ_OP ^( ADD[tok1] $add1 $add2) NUM[tok2, str2] ) ; */ static pncompactor_relationalExpression_return relationalExpression(ppncompactor ctx) @@ -3822,16 +3833,17 @@ pANTLR3_BASE_TREE _first_0; pANTLR3_BASE_TREE EQ_OP48; - pncompactor_additiveExpression_return additiveExpression49; - #undef RETURN_TYPE_additiveExpression49 - #define RETURN_TYPE_additiveExpression49 pncompactor_additiveExpression_return + pncompactor_additiveExpression_return add1; + #undef RETURN_TYPE_add1 + #define RETURN_TYPE_add1 pncompactor_additiveExpression_return - pncompactor_additiveExpression_return additiveExpression50; - #undef RETURN_TYPE_additiveExpression50 - #define RETURN_TYPE_additiveExpression50 pncompactor_additiveExpression_return + pncompactor_additiveExpression_return add2; + #undef RETURN_TYPE_add2 + #define RETURN_TYPE_add2 pncompactor_additiveExpression_return pANTLR3_BASE_TREE EQ_OP48_tree; - + pANTLR3_REWRITE_RULE_NODE_STREAM stream_EQ_OP; + pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_additiveExpression; /* Initialize rule variables */ @@ -3842,23 +3854,30 @@ _first_0 = NULL; + + pANTLR3_COMMON_TOKEN tok1; + pANTLR3_COMMON_TOKEN tok2; + char* str2; + EQ_OP48 = NULL; - additiveExpression49.tree = NULL; + add1.tree = NULL; - additiveExpression50.tree = NULL; + add2.tree = NULL; retval.start = LT(1); retval.stop = retval.start; EQ_OP48_tree = NULL; + stream_EQ_OP = NULL; + #define CREATE_stream_EQ_OP if (stream_EQ_OP == NULL) {stream_EQ_OP = antlr3RewriteRuleNODEStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token EQ_OP"); } + stream_additiveExpression = NULL; + #define CREATE_stream_additiveExpression if (stream_additiveExpression == NULL) {stream_additiveExpression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule additiveExpression"); } retval.tree = NULL; { - // /Users/bion/projects/iordache/translator/pncompactor.g:99:5: ( ^( EQ_OP additiveExpression additiveExpression ) ) - // /Users/bion/projects/iordache/translator/pncompactor.g:99:9: ^( EQ_OP additiveExpression additiveExpression ) + // /Users/bion/projects/iordache/translator/pncompactor.g:104:5: ( ^( EQ_OP add1= additiveExpression add2= additiveExpression ) -> ^( EQ_OP ^( ADD[tok1] $add1 $add2) NUM[tok2, str2] ) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:104:9: ^( EQ_OP add1= additiveExpression add2= additiveExpression ) { - root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); - _last = (pANTLR3_BASE_TREE)LT(1); { pANTLR3_BASE_TREE _save_last_1; @@ -3866,22 +3885,20 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - EQ_OP48 = (pANTLR3_BASE_TREE) MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression382); + EQ_OP48 = (pANTLR3_BASE_TREE) MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression387); if (HASEXCEPTION()) { goto rulerelationalExpressionEx; } + + CREATE_stream_EQ_OP; stream_EQ_OP->add(stream_EQ_OP, EQ_OP48, NULL); - EQ_OP48_tree = (pANTLR3_BASE_TREE)ADAPTOR->dupNode(ADAPTOR, EQ_OP48); - root_1 = (pANTLR3_BASE_TREE)ADAPTOR->becomeRoot(ADAPTOR, EQ_OP48_tree, root_1); - - MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_relationalExpression384); - additiveExpression49=additiveExpression(ctx); + FOLLOWPUSH(FOLLOW_additiveExpression_in_relationalExpression391); + add1=additiveExpression(ctx); FOLLOWPOP(); if (HASEXCEPTION()) @@ -3889,13 +3906,13 @@ goto rulerelationalExpressionEx; } - ADAPTOR->addChild(ADAPTOR, root_1, additiveExpression49.tree); + CREATE_stream_additiveExpression; stream_additiveExpression->add(stream_additiveExpression, add1.tree, NULL); { if(DEBUG) { printf("#######\n"); } } _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_relationalExpression388); - additiveExpression50=additiveExpression(ctx); + FOLLOWPUSH(FOLLOW_additiveExpression_in_relationalExpression397); + add2=additiveExpression(ctx); FOLLOWPOP(); if (HASEXCEPTION()) @@ -3903,12 +3920,82 @@ goto rulerelationalExpressionEx; } - ADAPTOR->addChild(ADAPTOR, root_1, additiveExpression50.tree); + CREATE_stream_additiveExpression; stream_additiveExpression->add(stream_additiveExpression, add2.tree, NULL); MATCHT(ANTLR3_TOKEN_UP, NULL); ADAPTOR->addChild(ADAPTOR, root_0, root_1);_last = _save_last_1; } + { + str2 = (char*)tcalloc(abs(add1.num + add2.num)%10+2, sizeof(char)); + sprintf(str2, "%d", add1.num+add2.num); + tok1 = ADAPTOR->createToken(ADAPTOR, MINUS, (pANTLR3_UINT8)"+"); + tok2 = ADAPTOR->createToken(ADAPTOR, MINUS, (pANTLR3_UINT8)str2); + + } + + + /* AST REWRITE + * elements : add1, EQ_OP, add2 + * token labels : + * 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_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_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL); + + root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); + retval.tree = root_0; + // 109:8: -> ^( EQ_OP ^( ADD[tok1] $add1 $add2) NUM[tok2, str2] ) + { + // /Users/bion/projects/iordache/translator/pncompactor.g:109:11: ^( EQ_OP ^( ADD[tok1] $add1 $add2) NUM[tok2, str2] ) + { + pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); + root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, stream_EQ_OP->nextNode(stream_EQ_OP), root_1)); + + // /Users/bion/projects/iordache/translator/pncompactor.g:109:19: ^( ADD[tok1] $add1 $add2) + { + pANTLR3_BASE_TREE root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); + root_2 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, + #if 1 == 2 + (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, ADD, TOKTEXT(tok1)) + #else + (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ADD, (pANTLR3_UINT8)tok1) + #endif + , root_2)); + + ADAPTOR->addChild(ADAPTOR, root_2, stream_add1 == NULL ? NULL : stream_add1->nextTree(stream_add1)); + ADAPTOR->addChild(ADAPTOR, root_2, stream_add2 == NULL ? NULL : stream_add2->nextTree(stream_add2)); + + ADAPTOR->addChild(ADAPTOR, root_1, root_2); + } + ADAPTOR->addChild(ADAPTOR, root_1, + #if 2 == 2 + (pANTLR3_BASE_TREE)ADAPTOR->createTypeTokenText(ADAPTOR, NUM, TOKTEXT(tok2, str2)) + #else + (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, NUM, (pANTLR3_UINT8)tok2, str2) + #endif + ); + + ADAPTOR->addChild(ADAPTOR, root_0, root_1); + } + + } + + 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_retval != NULL) stream_retval->free(stream_retval); + + + } } } @@ -3921,8 +4008,8 @@ retval.stop = LT(-1); retval.tree = (pANTLR3_BASE_TREE)ADAPTOR->rulePostProcessing(ADAPTOR, root_0); - - + if (stream_EQ_OP != NULL) stream_EQ_OP->free(stream_EQ_OP); + if (stream_additiveExpression != NULL) stream_additiveExpression->free(stream_additiveExpression); if (HASEXCEPTION()) { PREPORTERROR(); @@ -3935,7 +4022,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pncompactor.g:101:1: additiveExpression : ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ); + * /Users/bion/projects/iordache/translator/pncompactor.g:111:1: additiveExpression returns [int num, bool numeric] : ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? ^( PLUS[tok, \"+\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ); */ static pncompactor_additiveExpression_return additiveExpression(ppncompactor ctx) @@ -3948,8 +4035,8 @@ pANTLR3_BASE_TREE _first_0; - pANTLR3_BASE_TREE PLUS52; - pANTLR3_BASE_TREE MINUS53; + pANTLR3_BASE_TREE PLUS50; + pANTLR3_BASE_TREE MINUS51; pncompactor_additiveExpression_return add1; #undef RETURN_TYPE_add1 #define RETURN_TYPE_add1 pncompactor_additiveExpression_return @@ -3958,12 +4045,12 @@ #undef RETURN_TYPE_add2 #define RETURN_TYPE_add2 pncompactor_additiveExpression_return - pncompactor_primary_return primary51; - #undef RETURN_TYPE_primary51 - #define RETURN_TYPE_primary51 pncompactor_primary_return + pncompactor_primary_return primary49; + #undef RETURN_TYPE_primary49 + #define RETURN_TYPE_primary49 pncompactor_primary_return - pANTLR3_BASE_TREE PLUS52_tree; - pANTLR3_BASE_TREE MINUS53_tree; + pANTLR3_BASE_TREE PLUS50_tree; + pANTLR3_BASE_TREE MINUS51_tree; pANTLR3_REWRITE_RULE_NODE_STREAM stream_MINUS; pANTLR3_REWRITE_RULE_NODE_STREAM stream_PLUS; pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_additiveExpression; @@ -3981,19 +4068,20 @@ bool flipped = false; int i; pANTLR3_COMMON_TOKEN tok; + char* str; - PLUS52 = NULL; - MINUS53 = NULL; + PLUS50 = NULL; + MINUS51 = NULL; add1.tree = NULL; add2.tree = NULL; - primary51.tree = NULL; + primary49.tree = NULL; retval.start = LT(1); retval.stop = retval.start; - PLUS52_tree = NULL; - MINUS53_tree = NULL; + PLUS50_tree = NULL; + MINUS51_tree = NULL; stream_MINUS = NULL; #define CREATE_stream_MINUS if (stream_MINUS == NULL) {stream_MINUS = antlr3RewriteRuleNODEStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token MINUS"); } @@ -4005,7 +4093,7 @@ retval.tree = NULL; { { - // /Users/bion/projects/iordache/translator/pncompactor.g:107:5: ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ) + // /Users/bion/projects/iordache/translator/pncompactor.g:118:5: ( primary[true] | ^( PLUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( MINUS[tok, \"-\"] $add2) -> {$add1.numeric}? ^( PLUS[tok, \"+\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( SUB[tok, \"-\"] $add1 $add2) -> ^( ADD[tok, \"+\"] $add1 $add2) | ^( MINUS add1= additiveExpression add2= additiveExpression ) -> {$add1.numeric && $add2.numeric}? -> {$add1.numeric && flipped}? ^( PLUS[tok, \"+\"] $add2) -> {$add1.numeric}? ^( MINUS[tok, \"-\"] $add2) -> {$add2.numeric}? ^( PLUS[tok, \"+\"] $add1) -> {flipped}? ^( ADD[tok, \"+\"] $add1 $add2) -> ^( SUB[tok, \"-\"] $add1 $add2) ) ANTLR3_UINT32 alt23; @@ -4120,13 +4208,13 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pncompactor.g:107:9: primary[true] + // /Users/bion/projects/iordache/translator/pncompactor.g:118:9: primary[true] { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_primary_in_additiveExpression409); - primary51=primary(ctx, true); + FOLLOWPUSH(FOLLOW_primary_in_additiveExpression444); + primary49=primary(ctx, true); FOLLOWPOP(); if (HASEXCEPTION()) @@ -4134,12 +4222,18 @@ goto ruleadditiveExpressionEx; } - ADAPTOR->addChild(ADAPTOR, root_0, primary51.tree); + ADAPTOR->addChild(ADAPTOR, root_0, primary49.tree); + { + retval.num= primary49.num; + retval.numeric= primary49.numeric; + + } + } break; case 2: - // /Users/bion/projects/iordache/translator/pncompactor.g:108:7: ^( PLUS add1= additiveExpression add2= additiveExpression ) + // /Users/bion/projects/iordache/translator/pncompactor.g:122:7: ^( PLUS add1= additiveExpression add2= additiveExpression ) { _last = (pANTLR3_BASE_TREE)LT(1); { @@ -4148,19 +4242,19 @@ pANTLR3_BASE_TREE root_1;_save_last_1 = _last; _first_last_1 = NULL; root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));_last = (pANTLR3_BASE_TREE)LT(1); - PLUS52 = (pANTLR3_BASE_TREE) MATCHT(PLUS, &FOLLOW_PLUS_in_additiveExpression419); + PLUS50 = (pANTLR3_BASE_TREE) MATCHT(PLUS, &FOLLOW_PLUS_in_additiveExpression456); if (HASEXCEPTION()) { goto ruleadditiveExpressionEx; } - CREATE_stream_PLUS; stream_PLUS->add(stream_PLUS, PLUS52, NULL); + CREATE_stream_PLUS; stream_PLUS->add(stream_PLUS, PLUS50, NULL); MATCHT(ANTLR3_TOKEN_DOWN, NULL); _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression423); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression460); add1=additiveExpression(ctx); FOLLOWPOP(); @@ -4183,7 +4277,7 @@ } _last = (pANTLR3_BASE_TREE)LT(1); - FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression440); + FOLLOWPUSH(FOLLOW_additiveExpression_in_additiveExpression477); add2=additiveExpression(ctx); FOLLOWPOP(); @@ -4213,30 +4307,105 @@ MATCHT(ANTLR3_TOKEN_UP, NULL); ADAPTOR->addChild(ADAPTOR, root_0, root_1);_last = _save_last_1; } + { + if(flipped) { + retval.num= add1.num-add2.num; + } else { + retval.num= add2.num+add1.num; + ... [truncated message content] |
From: <Ste...@us...> - 2009-07-07 20:15:39
|
Revision: 183 http://pntool.svn.sourceforge.net/pntool/?rev=183&view=rev Author: StephenCamp Date: 2009-07-07 20:15:31 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Fixed a bug in DeallocateIlpadm (deallocation.c). Fixed memory leaks in most of the test routines. Added a readme file. Modified Paths: -------------- spnbox/deallocation.c spnbox/spnbox.h spnbox/tests/Makefile spnbox/tests/test-actn.c spnbox/tests/test-ilpadm.c spnbox/tests/test-ipsolve.c spnbox/tests/test-linenf.c spnbox/tests/test-msplit.c spnbox/tests/test-nltrans.c spnbox/tests/test-pn2acpn.c spnbox/tests/test-pn2eacpn.c spnbox/tests/test-reduce.c spnbox/tests/test-supervis.c spnbox/tests/test-tactn.c Modified: spnbox/deallocation.c =================================================================== --- spnbox/deallocation.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/deallocation.c 2009-07-07 20:15:31 UTC (rev 183) @@ -13,7 +13,7 @@ if (m) free(m); } -void DeallocateSupervise(supervis_r *data) +void DeallocateSupervis(supervis_r *data) { FreeMatrixSafe(&data->Dfm); FreeMatrixSafe(&data->Dfp); @@ -37,8 +37,8 @@ FreeMatrixSafe(&data->La); FreeMatrixSafe(&data->R1); FreeMatrixSafe(&data->R2); - FreeMemorySafe(&data->ba); - FreeMemorySafe(&data->dhow); + FreeMemorySafe(data->ba); + FreeMemorySafe(data->dhow); memset(data, 0, sizeof(ilpadm)); } Modified: spnbox/spnbox.h =================================================================== --- spnbox/spnbox.h 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/spnbox.h 2009-07-07 20:15:31 UTC (rev 183) @@ -133,7 +133,7 @@ } issiph_r; /*Functions to free return structures. Implemented in deallocation.c*/ -void DeallocateSupervise(supervis_r *data); +void DeallocateSupervis(supervis_r *data); void DeallocateIpslv(ipslv_r *data); void DeallocateIpsolve(ipsolve_r *data); void DeallocateIlpadm(ilpadm_r *data); Modified: spnbox/tests/Makefile =================================================================== --- spnbox/tests/Makefile 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/Makefile 2009-07-07 20:15:31 UTC (rev 183) @@ -26,10 +26,10 @@ TACTN=tactn.o $(IPSOLVE) #Common test header dependencies. -COMMONHEADER=spnbox.h test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h StructuredIO.h +COMMONHEADER=../spnbox.h test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h StructuredIO.h #Targets -all: ipsolve isadm issiph msplit pn2acpn supervis actn ilpadm linenf nltrans pn2eacpn reduce tactn +all: ipslv ipsolve isadm issiph msplit pn2acpn supervis actn ilpadm linenf nltrans pn2eacpn reduce tactn ipslv: test-ipslv.o $(IPSLV) $(COMPILER) -o ipslv.exe test-ipslv.o $(IPSLV) ipsolve: test-ipsolve.o $(COMMON) $(IPSOLVE) @@ -68,7 +68,7 @@ $(COMPILER) -c ../actn.c chkcons.o: ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../chkcons.c $(COMPILER) -c ../chkcons.c -deallocation.o: ../spnbox.h +deallocation.o: ../deallocation.c ../spnbox.h $(COMPILER) -c ../deallocation.c general.o: ../../pnheaders/general.c ../../pnheaders/general.h $(COMPILER) -c ../../pnheaders/general.c Modified: spnbox/tests/test-actn.c =================================================================== --- spnbox/tests/test-actn.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-actn.c 2009-07-07 20:15:31 UTC (rev 183) @@ -64,6 +64,7 @@ printf("Result:\n"); DisplayStructure(OutputDesc, OutFilled, &Da, &result.Dma, &result.Dpa, &Dra, &result.Dmra, &result.Dpra, result.TA, result.TACount, result.unique); FreeMemory(&memory); + DeallocateActn(&result); memory = CreateMemoryManager(10, 10, 0, 0); printf("-----------------------------------------------------------------\n"); } Modified: spnbox/tests/test-ilpadm.c =================================================================== --- spnbox/tests/test-ilpadm.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-ilpadm.c 2009-07-07 20:15:31 UTC (rev 183) @@ -35,12 +35,10 @@ answer = ilpadm(InFilled[3] ? &L : 0, InFilled[4] ? B : 0, InFilled[0] ? &D : 0, TucCount, InFilled[1] ? Tuc : 0, TuoCount, InFilled[2] ? Tuo : 0, InFilled[5] ? m0 : 0); OutFilled[0] = 1; - OutFilled[1] = 1; - ManageMatrix(&mem, &answer.La); + OutFilled[1] = 1; if (answer.ba) { - OutFilled[2] = 1; - ManageMemory(&mem, answer.ba); + OutFilled[2] = 1; } else { @@ -54,6 +52,7 @@ /*Clear and re-initialize dynamic memory log and loop again.*/ FreeMemory(&mem); + DeallocateIlpadm(&answer); mem = CreateMemoryManager(10, 10, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-ipsolve.c =================================================================== --- spnbox/tests/test-ipsolve.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-ipsolve.c 2009-07-07 20:15:31 UTC (rev 183) @@ -62,6 +62,7 @@ DisplayStructure(OutDesc, OutFilled, result.mhow, result.res, NumberOfColumns(L)); FreeMemory(&mem); + DeallocateIpsolve(&result); mem = CreateMemoryManager(10, 10, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-linenf.c =================================================================== --- spnbox/tests/test-linenf.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-linenf.c 2009-07-07 20:15:31 UTC (rev 183) @@ -62,8 +62,7 @@ OFilled[2] = 1; } if (sol.ms0) - { - ManageMemory(&memory, sol.ms0); + { OFilled[3] = 1; } if (sol.how) @@ -72,19 +71,16 @@ } if (sol.Lf.type) { - ManageMatrix(&memory, &sol.Lf); OFilled[5] = 1; Constraints = NumberOfRows(sol.Lf); } if (sol.Cf.type) { - ManageMatrix(&memory, &sol.Cf); OFilled[6] = 1; Constraints = NumberOfRows(sol.Cf); } if (sol.bf) { - ManageMemory(&memory, sol.bf); OFilled[7] = 1; } @@ -104,6 +100,7 @@ } printf("---------------------------------------------------------------\n"); FreeMemory(&memory); + DeallocateLinenf(&sol); memory = CreateMemoryManager(15, 15, 0, 0); } FreeMemory(&memory); Modified: spnbox/tests/test-msplit.c =================================================================== --- spnbox/tests/test-msplit.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-msplit.c 2009-07-07 20:15:31 UTC (rev 183) @@ -61,7 +61,7 @@ DisplayStructure(SolutionFormat, ResultMask, &Return.Dfm, &Return.Dfp, &Return.Df, &Return.Mf, &Return.L0f, &Return.Lf, Return.iplf, Return.ipCountf, ResultTDVector, OverallTDCount, Return.TDfCount, Transitions); FreeMemory(&memory); - + DeallocateMsplit(&Return); memory = CreateMemoryManager(10, 10, 0, 0); printf("---------------------------------------------\n"); } @@ -87,27 +87,21 @@ if (NumberOfRows(Data->Mf)) { Mask[3] = 1; - ManageMatrix(mem, &Data->Mf); } if (NumberOfRows(Data->L0f)) { Mask[4] = 1; - ManageMatrix(mem, &Data->L0f); } if (NumberOfRows(Data->Lf)) { Mask[5] = 1; - ManageMatrix(mem, &Data->Lf); } if (Data->iplf) { Mask[6] = 1; - ManageMemory(mem, Data->iplf); } if (Data->TDf) { - ManageMemory(mem, Data->TDf); - ManageMemory(mem, Data->TDfCount); Mask[7] = 1; Mask[8] = 1; /*Count the total size of all the TD vectors combined.*/ @@ -115,9 +109,6 @@ for (i = 0; i < NumberOfColumns(Data->Dfm); i++) { c += Data->TDfCount[i]; - /*While we're at it, add the TD arrays to the list of memory to be freed - at the end of the program.*/ - ManageMemory(mem, Data->TDf[i]); } Ret = mcalloc(mem, c, sizeof(int)); *TotalTDCount = c; Modified: spnbox/tests/test-nltrans.c =================================================================== --- spnbox/tests/test-nltrans.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-nltrans.c 2009-07-07 20:15:31 UTC (rev 183) @@ -37,6 +37,7 @@ Filled[1] = 1; DisplayStructure("arrayi FinalURTMask", Filled, solution.dtr, solution.dtrCount); FreeMemory(&mem); + DeallocateNltrans(&solution); mem = CreateMemoryManager(5, 5, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-pn2acpn.c =================================================================== --- spnbox/tests/test-pn2acpn.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-pn2acpn.c 2009-07-07 20:15:31 UTC (rev 183) @@ -73,6 +73,7 @@ DisplayStructure(OutputDesc, ResFilled, &result.Df, &result.Dmf, &result.Dpf, &result.MXF, &result.L0F, &result.LF, result.iplf, result.iplfCount); printf("---------------------------------------------------------------------------\n"); FreeMemory(&mem); + DeallocatePn2acpn(&result); mem = CreateMemoryManager(5, 5, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-pn2eacpn.c =================================================================== --- spnbox/tests/test-pn2eacpn.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-pn2eacpn.c 2009-07-07 20:15:31 UTC (rev 183) @@ -74,6 +74,7 @@ DisplayStructure(OutputDesc, ResFilled, &result.Df, &result.Dmf, &result.Dpf, &result.MXF, &result.L0F, &result.LF, result.iplf, result.iplfCount, result.TD, result.TDCount, NumberOfColumns(result.Df)); printf("---------------------------------------------------------------------------\n"); FreeMemory(&mem); + DeallocatePn2eacpn(&result); mem = CreateMemoryManager(5, 5, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-reduce.c =================================================================== --- spnbox/tests/test-reduce.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-reduce.c 2009-07-07 20:15:31 UTC (rev 183) @@ -32,6 +32,7 @@ printf("Result:\n"); DisplayStructure(OutputDesc, OutFilled, &result.Lf, result.Bf, NumberOfRows(result.Lf), result.indf, NumberOfRows(result.Lf), result.how); FreeMemory(&memory); + DeallocateReduce(&result); memory = CreateMemoryManager(4, 1, 0, 0); printf("-----------------------------------------------------------------\n"); } Modified: spnbox/tests/test-supervis.c =================================================================== --- spnbox/tests/test-supervis.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-supervis.c 2009-07-07 20:15:31 UTC (rev 183) @@ -59,6 +59,7 @@ } printf("---------------------------------------------------------------\n"); FreeMemory(&mem); + DeallocateSupervis(&result); mem = CreateMemoryManager(1, 5, 0, 0); } FreeMemory(&mem); Modified: spnbox/tests/test-tactn.c =================================================================== --- spnbox/tests/test-tactn.c 2009-07-07 19:11:31 UTC (rev 182) +++ spnbox/tests/test-tactn.c 2009-07-07 20:15:31 UTC (rev 183) @@ -62,6 +62,7 @@ printf("Result:\n"); DisplayStructure(OutputDesc, OutFilled, &Da, &result.Dma, &result.Dpa, &Dra, &result.Dmra, &result.Dpra, result.TA, result.TACount, result.unique); + DeallocateTactn(&result); FreeMemory(&memory); memory = CreateMemoryManager(10, 10, 0, 0); printf("-----------------------------------------------------------------\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ste...@us...> - 2009-07-07 19:11:33
|
Revision: 182 http://pntool.svn.sourceforge.net/pntool/?rev=182&view=rev Author: StephenCamp Date: 2009-07-07 19:11:31 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Added issiph.c to implement the is_siph function, along with test routines. It is debugged and passes all tests. Added the function definition and the deallocation functions for issiph. Added ipslv's test program to the test makefile and deleted independent ipslv test makefile. Deleted matrixmath's test routines. New routines may be added later. Modified Paths: -------------- spnbox/deallocation.c spnbox/spnbox.h spnbox/tests/Makefile Added Paths: ----------- spnbox/issiph.c spnbox/tests/test-issiph.c spnbox/tests/test-issiph.txt Removed Paths: ------------- spnbox/tests/test-ipslv.mak spnbox/tests/test-matrixmath.c spnbox/tests/test-matrixmath.mak Modified: spnbox/deallocation.c =================================================================== --- spnbox/deallocation.c 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/deallocation.c 2009-07-07 19:11:31 UTC (rev 182) @@ -145,3 +145,8 @@ { DeallocateTactn(data); } + +void DeallocateIssiph(issiph_r *data) +{ + FreeMemorySafe(data->flag); +} Added: spnbox/issiph.c =================================================================== --- spnbox/issiph.c (rev 0) +++ spnbox/issiph.c 2009-07-07 19:11:31 UTC (rev 182) @@ -0,0 +1,127 @@ +#include "../pnheaders/general.h" +#include "../pnheaders/matrix.h" +#include "spnbox.h" + +static int CheckParams(matrix *Dm, matrix *Dp, void *PlaceSet, int MultiplePlaceSets); +static inline int PlaceSets(void* PlaceSet, int MultiplePlaceSets); +static inline int IsPlaceFlagged(int Place, int SetIndex, void* PlaceSet, int MultiplePlaceSets); + +issiph_r issiph(matrix *Dm, matrix *Dp, void *PlaceSet, int MultiplePlaceSets) +{ + issiph_r result; + int i, j, k, in, out; + + memset(&result, 0, sizeof(issiph_r)); + /*Check parameters and fail if they are bad.*/ + if (! CheckParams(Dm, Dp, PlaceSet, MultiplePlaceSets)) + { + return result; + } + + /*Allocate space and initialize the result set (no flags set by default). The + overall flag is cleared by default.*/ + result.flag = tcalloc(PlaceSets(PlaceSet, MultiplePlaceSets), sizeof(int)); + + /*Iterate through all the place sets to be checked.*/ + for (i = 0; i < PlaceSets(PlaceSet, MultiplePlaceSets); i++) + { + /*The flag for the place set should be set by default.*/ + result.flag[i] = 1; + /*Iterate through each transition and examine it.*/ + for (j = 0; j < NumberOfColumns(*Dm); j++) + { + /*For each transition, find out whether there are + (a) any input arcs coming from places in the current set. + (b) any output arcs coming from places in the current set.*/ + in = 0; + out = 0; + for (k = 0; k < NumberOfRows(*Dm); k++) + { + if (IsPlaceFlagged(k, i, PlaceSet, MultiplePlaceSets)) + { + if (GetMatrixEl(Dp, k, j)) in = 1; + if (GetMatrixEl(Dm, k, j)) out = 1; + } + } + /*If in is set and out is cleared, the current transition is such that + it feeds at least one of the current set of places without being fed by + any of them. If this is the case the current place set is not a siphon. + Clear the flag and break out of the transition loop. Also, set the flx + flag to indicate that there was at least one place set that was not a + siphone.*/ + if (in && ! out) + { + result.flag[i] = 0; + result.flx = 1; + break; + } + } + } + return result; +} + +/******************************************************************************* +IsPlaceFlagged returns nonzero if the given place is a member of (is flagged in) +the current place set. It automatically determines how to treat the PlaceSet +pointer.*/ +inline int IsPlaceFlagged(int Place, int SetIndex, void* PlaceSet, int MultiplePlaceSets) +{ + if (MultiplePlaceSets) + { + return GetMatrixEl((matrix*) PlaceSet, Place, SetIndex); + } + else + { + return ((int*) PlaceSet)[Place]; + } +} + +/******************************************************************************* +PlaceSets returns the number of place sets to be iterated through by examining +the MultiplePlaceSets flag and the PlaceSet pointer.*/ +inline int PlaceSets(void* PlaceSet, int MultiplePlaceSets) +{ + /*If MultiplePlaceSets is set, then PlaceSet points to a matrix such that each + column is a place set (a set of flags, one for each place). The number of sets + is the number of columns.*/ + if (MultiplePlaceSets) + { + return NumberOfColumns(*((matrix*) PlaceSet)); + } + else + { + return 1; + } +} + +/******************************************************************************* +Check the parameters. Dm and Dp must be provided and of the same size. PlaceSet +must not be a null pointer. If MultiplePlaceSets is nonzero, PlaceSet must point +to a matrix with the same number of rows as Dm/Dp.*/ +int CheckParams(matrix *Dm, matrix *Dp, void *PlaceSet, int MultiplePlaceSets) +{ + if (! (Dm && Dp)) + { + merror(0, "ISSIPH: The input or the output matrix pointer was null"); + return 0; + } + if (NumberOfRows(*Dm) != NumberOfRows(*Dp) || NumberOfColumns(*Dm) != NumberOfColumns(*Dp)) + { + merror(0, "ISSIPH: The input and output matrices are not the same size"); + return 0; + } + if (! PlaceSet) + { + merror(0, "ISSIPH: The place set pointer was null"); + return 0; + } + if (MultiplePlaceSets) + { + if (NumberOfRows(*((matrix*) PlaceSet)) != NumberOfRows(*Dm)) + { + merror(0, "ISSIPH: The place set matrix did not have the same number of rows as there were places"); + return 0; + } + } + return 1; +} Modified: spnbox/spnbox.h =================================================================== --- spnbox/spnbox.h 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/spnbox.h 2009-07-07 19:11:31 UTC (rev 182) @@ -126,6 +126,12 @@ type just for consistency's sake.*/ typedef actn_r tactn_r; +typedef struct issiph_r +{ + int* flag; + int flx; +} issiph_r; + /*Functions to free return structures. Implemented in deallocation.c*/ void DeallocateSupervise(supervis_r *data); void DeallocateIpslv(ipslv_r *data); @@ -140,6 +146,7 @@ void DeallocateReduce(reduce_r *data); void DeallocateActn(actn_r *data); void DeallocateTactn(tactn_r *data); +void DeallocateIssiph(issiph_r *data); /*Constants returned in by functions to indicate the nature of the result.*/ #define HOW_ERROR "error" @@ -603,4 +610,24 @@ Converted to C by Marian V. Iordache and Stephen Camp, ste...@le.... */ + +issiph_r issiph(matrix *Dm, matrix *Dp, void *PlaceSet, int MultiplePlaceSets); +/* +IS_SIPH - checks whether a set of places is a siphon + +[flag, flx] = is_siph(Dm, Dp, S) + +S - a set of places represented as a column of zeros and ones + S is allowed to be a matrix, in which case each of the columns + is verified + +Dm, Dp - the incidence matrices + +flag = (S == siphon) +flx = sum(flag == 0) (i.e. flx is nonzero if a column of S is not a siphon) + +Written for Matlab by Marian V. Iordache, mar...@le.... +Converted to C by Marian V. Iordache and Stephen Camp, ste...@le.... +*/ + #endif Modified: spnbox/tests/Makefile =================================================================== --- spnbox/tests/Makefile 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/tests/Makefile 2009-07-07 19:11:31 UTC (rev 182) @@ -7,11 +7,13 @@ COMPILER=gcc -g #The dependencies common to all test executables. -COMMON=StructuredIO.o test.o MemoryManager.o general.o pns.o matrix.o matrixmath.o +COMMON=StructuredIO.o test.o MemoryManager.o general.o pns.o matrix.o matrixmath.o deallocation.o #These symbols define the dependencies of various test executables. -IPSOLVE=ipsolve.o ipslv.o ../liblpsolve55.a +IPSLV=ipslv.o ../liblpsolve55.a +IPSOLVE=ipsolve.o $(IPSLV) ISADM=isadm.o +ISSIPH=issiph.o MSPLIT=msplit.o PN2ACPN=pn2acpn.o SUPERVIS=supervis.o @@ -23,19 +25,19 @@ REDUCE=reduce.o chkcons.o $(IPSOLVE) TACTN=tactn.o $(IPSOLVE) -#All test dependencies. -ALL=$(COMMON) $(IPSOLVE) isadm.o msplit.o pn2acpn.o actn.o ilpadm.o linenf.o nltrans.o pn2eacpn.o reduce.o chkcons.o tactn.o -ALLSRC=isolve.c ipslv.c isadm.c msplit.c pn2acpn.c supervis.c actn.c ilpadm.c linenf.c nltrans.c pn2eacpn.c reduce.c chkcons.c tactn.c - #Common test header dependencies. COMMONHEADER=spnbox.h test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h StructuredIO.h #Targets -all: ipsolve isadm msplit pn2acpn supervis actn ilpadm linenf nltrans pn2eacpn reduce tactn +all: ipsolve isadm issiph msplit pn2acpn supervis actn ilpadm linenf nltrans pn2eacpn reduce tactn +ipslv: test-ipslv.o $(IPSLV) + $(COMPILER) -o ipslv.exe test-ipslv.o $(IPSLV) ipsolve: test-ipsolve.o $(COMMON) $(IPSOLVE) $(COMPILER) -o ipsolve.exe test-ipsolve.o $(COMMON) $(IPSOLVE) isadm: test-isadm.o $(ISADM) $(COMPILER) -o isadm.exe test-isadm.o $(COMMON) $(ISADM) +issiph: test-issiph.o $(COMMON) $(ISSIPH) + $(COMPILER) -o issiph.exe test-issiph.o $(COMMON) $(ISSIPH) msplit: test-msplit.o $(MSPLIT) $(COMPILER) -o msplit.exe test-msplit.o $(COMMON) $(MSPLIT) pn2acpn: test-pn2acpn.o $(COMMON) $(PN2ACPN) @@ -66,12 +68,16 @@ $(COMPILER) -c ../actn.c chkcons.o: ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../chkcons.c $(COMPILER) -c ../chkcons.c +deallocation.o: ../spnbox.h + $(COMPILER) -c ../deallocation.c general.o: ../../pnheaders/general.c ../../pnheaders/general.h $(COMPILER) -c ../../pnheaders/general.c ilpadm.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ilpadm.c $(COMPILER) -c ../ilpadm.c isadm.o: ../isadm.c ../spnbox.h ../../pnheaders/general.h ../MemoryManager.h ../../pnheaders/pns.h ../matrixmath.h $(COMPILER) -c ../isadm.c +issiph.o: ../issiph.c ../spnbox.h ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../issiph.c ipslv.o: ../spnbox.h ../ipslv.c $(COMPILER) -c ../ipslv.c ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c @@ -106,29 +112,31 @@ $(COMPILER) -c test.c #Rules for making the test executable object files. -test-actn.o: test-actn.c $(COMMONHEADERS) +test-actn.o: test-actn.c $(COMMONHEADER) $(COMPILER) -c test-actn.c -test-ilpadm.o: test-ilpadm.c $(COMMONHEADERS) +test-ilpadm.o: test-ilpadm.c $(COMMONHEADER) $(COMPILER) -c test-ilpadm.c -test-ipsolve.o: test-ipsolve.c $(COMMONHEADERS) +test-ipslv.o: test-ipslv.c + $(COMPILER) -c test-ipslv.c +test-ipsolve.o: test-ipsolve.c $(COMMONHEADER) $(COMPILER) -c test-ipsolve.c -test-isadm.o: test-isadm.c $(COMMONHEADERS) +test-isadm.o: test-isadm.c $(COMMONHEADER) $(COMPILER) -c test-isadm.c -test-linenf.o: test-linenf.c $(COMMONHEADERS) +test-linenf.o: test-linenf.c $(COMMONHEADER) $(COMPILER) -c test-linenf.c -test-msplit.o: test-msplit.c $(COMMONHEADERS) +test-msplit.o: test-msplit.c $(COMMONHEADER) $(COMPILER) -c test-msplit.c -test-nltrans.o: test-nltrans.c $(COMMONHEADERS) +test-nltrans.o: test-nltrans.c $(COMMONHEADER) $(COMPILER) -c test-nltrans.c -test-pn2acpn.o: test-pn2acpn.c $(COMMONHEADERS) +test-pn2acpn.o: test-pn2acpn.c $(COMMONHEADER) $(COMPILER) -c test-pn2acpn.c -test-pn2eacpn.o: test-pn2eacpn.c $(COMMONHEADERS) +test-pn2eacpn.o: test-pn2eacpn.c $(COMMONHEADER) $(COMPILER) -c test-pn2eacpn.c -test-supervis.o: test-supervis.c $(COMMONHEADERS) +test-supervis.o: test-supervis.c $(COMMONHEADER) $(COMPILER) -c test-supervis.c -test-reduce.o: test-reduce.c $(COMMONHEADERS) +test-reduce.o: test-reduce.c $(COMMONHEADER) $(COMPILER) -c test-reduce.c -test-tactn.o: test-tactn.c $(COMMONHEADERS) +test-tactn.o: test-tactn.c $(COMMONHEADER) $(COMPILER) -c test-tactn.c #Rules for making the liblpsolve55.a static library for use with ipsolve. Deleted: spnbox/tests/test-ipslv.mak =================================================================== --- spnbox/tests/test-ipslv.mak 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/tests/test-ipslv.mak 2009-07-07 19:11:31 UTC (rev 182) @@ -1,9 +0,0 @@ - -test-ipslv.exe: test-ipslv.o ipslv.o - gcc -g -o test-ipslv.exe ipslv.o test-ipslv.o ../liblpsolve55.a - -test-ipslv.o: test-ipslv.c ../spnbox.h - gcc -g -c test-ipslv.c - -ipslv.o: ../ipslv.c ../spnbox.h - gcc -g -c ../ipslv.c Added: spnbox/tests/test-issiph.c =================================================================== --- spnbox/tests/test-issiph.c (rev 0) +++ spnbox/tests/test-issiph.c 2009-07-07 19:11:31 UTC (rev 182) @@ -0,0 +1,57 @@ +#include "test.h" + +int main(int argc, char *argv[]) +{ + MemoryManager memory; + FILE* input; + int *Filled, *SArray; + int Constraints, Transitions, i, OFilled[2]; + issiph_r result; + + char IDesc[] = "matrix D, matrix Dm, matrix Dp, matrix PlaceSet"; + char ODesc[] = "arrayi IsSiphon, int NonSiphonPresent"; + + matrix D, Dm, Dp, PlaceSet; + + /*Get a pointer to the input file.*/ + if (! (input = GetInput(argc, argv))) + { + return 1; + } + + memory = CreateMemoryManager(5, 6, 0, 0); + + while (ParseStructure(input, IDesc, &Filled, &memory, &D, &Dm, &Dp, &PlaceSet)) + { + /*Display the problem.*/ + DisplayStructure(IDesc, Filled, &D, &Dm, &Dp, &PlaceSet); + + /*If an incidence matrix was supplied fill in the i/o matrices.*/ + FillDmDp(Filled, &D, &Dm, &Dp, &memory); + + /*If there is only one column in the PlaceSet matrix, then convert it to an + array.*/ + if (Filled[3] && NumberOfColumns(PlaceSet) == 1) + { + SArray = mcalloc(&memory, NumberOfRows(PlaceSet), sizeof(int)); + for (i = 0; i < NumberOfRows(PlaceSet); i++) + { + SArray[i] = GetMatrixEl(&PlaceSet, i, 0); + } + } + + /*Solve the problem.*/ + result = issiph(Filled[1] ? &Dm : 0, Filled[2] ? &Dp : 0, Filled[3] ? (NumberOfColumns(PlaceSet) > 1 ? (void*) &PlaceSet : (void*) SArray) : 0, Filled[3] ? NumberOfColumns(PlaceSet) > 1 : 0); + + /*Display the solution.*/ + OFilled[0] = result.flag ? 1 : 0; + OFilled[1] = 1; + DisplayStructure(ODesc, OFilled, result.flag, NumberOfColumns(PlaceSet), result.flx); + DeallocateIssiph(&result); + printf("---------------------------------------------------------------\n"); + FreeMemory(&memory); + memory = CreateMemoryManager(5, 6, 0, 0); + } + FreeMemory(&memory); + return 0; +} Added: spnbox/tests/test-issiph.txt =================================================================== --- spnbox/tests/test-issiph.txt (rev 0) +++ spnbox/tests/test-issiph.txt 2009-07-07 19:11:31 UTC (rev 182) @@ -0,0 +1,66 @@ +rem Keywords: +rem matrix D, matrix Dm, matrix Dp, matrix PlaceSet + +echo A set of places is a siphon if there exists no transition such that it has +echo at least one input arc feeding any of the places in the set and has no +echo output arcs fed by any of the places in the set. +echo That is, all transitions are such that they either have no input arcs +echo feeding the places in the set or have at least one output arc fed by one +echo of the places in the set. +echo Problem 1. +echo flag should be: +echo flag: 1 0 0 + +D 6 4 +0 -1 1 -1 +0 0 -1 2 +0 -1 1 -1 +1 0 -1 2 +0 -1 1 -1 +0 0 0 2 + +PlaceSet 6 3 +1 0 0 +1 0 0 +0 1 0 +0 1 0 +0 0 1 +0 0 1 + +done + +echo Problem 2 +echo This problem tests issiph with an array as the place set instead of a +echo matrix. The place set should be a siphon. + +D 4 3 +0 -1 1 +1 0 0 +0 0 -1 +0 1 1 + +PlaceSet 4 1 +1 +0 +1 +1 + +done + +echo Problem 3 +echo Final verification - Petri net of problem 2 with a different place set. +echo This time the set should not be a siphon. +D 4 3 +0 -1 1 +1 0 0 +0 0 -1 +0 1 1 + +PlaceSet 4 1 +1 +1 +1 +1 +done + +quit Deleted: spnbox/tests/test-matrixmath.c =================================================================== --- spnbox/tests/test-matrixmath.c 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/tests/test-matrixmath.c 2009-07-07 19:11:31 UTC (rev 182) @@ -1,340 +0,0 @@ -#include "../../pnheaders/pns.h" -#include "../matrixmath.h" - -/*This routine tests the add, subtract, and multiply functions in standard usage (pre-allocated result matrices).*/ -void TestAddSubtractMultiply(); - -/*This routine tests the add, subtract, and multiply routines' ability to allocate their own storage space.*/ -void TestAddSubtractMultiplySelfAllocation(); - -/*This routine tests the Concatenate functions.*/ -void TestConcatenations(); - -/*These functions test to make sure that the matrix math functions correctly identify when they are passed an initialized matrix of the wrong dimensions to fill with the result.*/ -void TestAddBadDestinationError(); -void TestSubtractBadDestinationError(); -void TestMultiplyBadDestinationError(); -void TestConcatenateRowsBadDestinationError(); -void TestConcatenateColsBadDestinationError(); - - -int main() -{ - printf("Test menu:\n"); - printf("0. Quit.\n"); - printf("1. Test Addition, Subtraction, and Multiplication with pre-allocated storage.\n"); - printf("2. Test Addition, Subtraction, and Multiplication with self-allocated storage.\n"); - printf("3. Test Concatenation of Rows and Columns, both storage allocation types.\n"); - printf("4. Test bad destination error on Addition.\n"); - printf("5. Test bad destination error on Subtraction.\n"); - printf("6. Test bad destination error on Multiplication.\n"); - printf("7. Test bad destination error on Concatenation of Rows\n"); - printf("8. Test bad destination error on Concatenation of Columns\n"); - printf("Enter your choice: "); - char c = getchar(); - - switch(c) - { - case '1': - TestAddSubtractMultiply(); - break; - case '2': - TestAddSubtractMultiplySelfAllocation(); - break; - case '3': - TestConcatenations(); - break; - case '4': - TestAddBadDestinationError(); - break; - case '5': - TestSubtractBadDestinationError(); - break; - case '6': - TestMultiplyBadDestinationError(); - break; - case '7': - TestConcatenateRowsBadDestinationError(); - break; - case '8': - TestConcatenateColsBadDestinationError(); - break; - } - return 0; -} - -void TestAddBadDestinationError() -{ - int Data[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - matrix DataMatrix, Destination; - //Prepare the data to be added to itself. - DataMatrix = vector2matrix(Data, 4, 4); - - //Allocate a result matrix of the wrong size. - AllocateMatrix(&Destination, 3, 3); - - //Attempt an addition and verify that it fails. - printf("Testing addition of a 4x4 with itself, a 3x3 as the preallocated destination...\n"); - printf("(This should cause an error)\n"); - AddMatrix(&DataMatrix, &DataMatrix, &Destination); - printf("If this point is reached the error was not detected.\n"); -} - -void TestSubtractBadDestinationError() -{ - int Data[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - matrix DataMatrix, Destination; - //Prepare the data to be added to itself. - DataMatrix = vector2matrix(Data, 4, 4); - - //Allocate a result matrix of the wrong size. - AllocateMatrix(&Destination, 3, 3); - - //Attempt an addition and verify that it fails. - printf("Testing subtraction of a 4x4 from itself, a 3x3 as the preallocated destination...\n"); - printf("(This should cause an error)\n"); - SubtractMatrix(&DataMatrix, &DataMatrix, &Destination); - printf("If this point is reached the error was not detected.\n"); -} - -void TestMultiplyBadDestinationError() -{ - int Data[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - matrix DataMatrix, Destination; - //Prepare the data to be added to itself. - DataMatrix = vector2matrix(Data, 4, 4); - - //Allocate a result matrix of the wrong size. - AllocateMatrix(&Destination, 3, 3); - - //Attempt an addition and verify that it fails. - printf("Testing multiplication of a 4x4 with itself, a 3x3 as the preallocated destination...\n"); - printf("(This should cause an error)\n"); - MultiplyMatrix(&DataMatrix, &DataMatrix, &Destination); - printf("If this point is reached the error was not detected.\n"); -} - -void TestConcatenateRowsBadDestinationError() -{ - int Data[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - matrix DataMatrix, Destination; - //Prepare the data to be added to itself. - DataMatrix = vector2matrix(Data, 4, 4); - - //Allocate a result matrix of the wrong size. - AllocateMatrix(&Destination, 3, 3); - - //Attempt an addition and verify that it fails. - printf("Testing concatenation of rows of a 4x4 with itself, a 3x3 as the preallocated destination...\n"); - printf("(This should cause an error)\n"); - ConcatenateMatrixRows(&DataMatrix, &DataMatrix, &Destination); - printf("If this point is reached the error was not detected.\n"); -} - -void TestConcatenateColsBadDestinationError() -{ - int Data[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - matrix DataMatrix, Destination; - //Prepare the data to be added to itself. - DataMatrix = vector2matrix(Data, 4, 4); - - //Allocate a result matrix of the wrong size. - AllocateMatrix(&Destination, 3, 3); - - //Attempt an addition and verify that it fails. - printf("Testing concatenation of cols of a 4x4 with itself, a 3x3 as the preallocated destination...\n"); - printf("(This should cause an error)\n"); - ConcatenateMatrixCols(&DataMatrix, &DataMatrix, &Destination); - printf("If this point is reached the error was not detected.\n"); -} - -void TestAddSubtractMultiplySelfAllocation() -{ - int DataA[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - int DataB[] = { 5, 6, 7, 8,\ - 6, 7, 8, 9,\ - 7, 8, 9, 10, - 8, 9, 10, 11}; - - int DataC[] = { 1, 0, 2,\ - -1, 3, 1}; - int DataD[] = { 3, 1,\ - 2, 1,\ - 1, 0}; - matrix A, B, C, D, SumAA, SumAB, DifferenceAA, DifferenceAB, ProductCD, ProductAB; - //Initialize A and B to matrices that will produce nice patterns for addition and subtraction. - A = vector2matrix(DataA, 4, 4); - B = vector2matrix(DataB, 4, 4); - //Initializae G and H to two matrices - C = vector2matrix(DataC, 2, 3); - D = vector2matrix(DataD, 3, 2); - - //Show the operands matrices for reference. - ShowMatrix(&A, "A"); - ShowMatrix(&B, "B"); - ShowMatrix(&C, "C"); - ShowMatrix(&D, "D"); - - //Take the sum of A and itself, default type. - printf("Testing matrix addition A + A, default type...\n"); - SumAA = AddMatrix(&A, &A, 0); - ShowMatrix(&SumAA, "A + A"); - - //Take the sum of A and B, type 2 - printf("Testing matrix addition A + B, type 2...\n"); - SumAB = AddMatrix(&A, &B, (matrix*) 2); - ShowMatrix(&SumAB, "A + B"); - - //Take A - A, default type. - printf("Testing matrix subtraction A - A, default type...\n"); - DifferenceAA = SubtractMatrix(&A, &A, 0); - ShowMatrix(&DifferenceAA, "A - A"); - - //Take A - B, type 2. - printf("Testing matrix subtraction A - B, type 2...\n"); - DifferenceAB = SubtractMatrix(&A, &B, (matrix*) 2); - ShowMatrix(&DifferenceAB, "A - A"); - - //Take C*D, default type. - printf("Testing matrix multiplication C*D, default type...\n"); - ProductCD = MultiplyMatrix(&C, &D, 0); - ShowMatrix(&ProductCD, "C*D"); - - //Take A*B, type 2 - printf("Testing matrix multiplication A*B, type 2...\n"); - ProductAB = MultiplyMatrix(&A, &B, (matrix*) 2); - ShowMatrix(&ProductAB, "A*B"); - - //Deallocate memory. - DeallocateMatrix(&A); - DeallocateMatrix(&B); - DeallocateMatrix(&C); - DeallocateMatrix(&D); - DeallocateMatrix(&SumAA); - DeallocateMatrix(&SumAB); - DeallocateMatrix(&DifferenceAA); - DeallocateMatrix(&DifferenceAB); - DeallocateMatrix(&ProductCD); - DeallocateMatrix(&ProductAB); -} - -void TestConcatenations() -{ - /*Use patterns for the operands that will yield patterns in the result.*/ - int DataA[] = { 1, 2, 3, 4,\ - 2, 3, 4, 5,\ - 3, 4, 5, 6,\ - 4, 5, 6, 7}; - int DataB[] = { 5, 6, 7, 8,\ - 6, 7, 8, 9,\ - 7, 8, 9, 10, - 8, 9, 10, 11}; - matrix A, B, AllocatedRowConcat, AllocatedColConcat, EmptyRowConcat, EmptyColConcat; - - /*Initialize the operand matrices.*/ - A = vector2matrix(DataA, 4, 4); - B = vector2matrix(DataB, 4, 4); - - /*Allocate storage space for the functions to fill in pre-allocated mode.*/ - AllocateMatrix(&AllocatedRowConcat, 4, 8); - AllocateMatrix(&AllocatedColConcat, 8, 4); - - /*Test the concatenations in pre-allocated mode.*/ - printf("Testing row concatenation in pre-allocated mode...\n"); - ConcatenateMatrixRows(&A, &B, &AllocatedRowConcat); - ShowMatrix(&AllocatedRowConcat, "rows(A) concat rows(B)"); - - printf("Testing column concatenation in pre-allocated mode...\n"); - ConcatenateMatrixCols(&A, &B, &AllocatedColConcat); - ShowMatrix(&AllocatedColConcat, "cols(A) concat cols(B)"); - - /*Testing the concenations with them allocating storage space.*/ - printf("Testing row concatenation with allocation (Default Type)...\n"); - EmptyRowConcat = ConcatenateMatrixRows(&A, &B, 0); - ShowMatrix(&EmptyRowConcat, "rows(A) concat rows(B)"); - printf("The type of matrix 'rows(A) concat rows(B)' is %d.\n", EmptyRowConcat.type); - - printf("Testing column concatenation with allocation (Type 2)...\n"); - EmptyColConcat = ConcatenateMatrixCols(&A, &B, (matrix*) 2); - ShowMatrix(&EmptyColConcat, "cols(A) concat cols(B)"); - printf("The type of matrix 'cols(A) concat cols(B)' is %d.\n", EmptyColConcat.type); -} - -void TestAddSubtractMultiply() -{ - //Declare three matrix objects. We'll use square matrices for the initial tests. To make things easy, we - //use a magic square matrix and its transpose from the Matlab documentation. - int DataA[] = {16, 3, 2, 13,\ - 5, 10, 11, 8,\ - 9, 6, 7, 12,\ - 4, 15, 14, 1}; - int DataB[] = {16, 5, 9, 4,\ - 3, 10, 6, 15,\ - 2, 11, 7, 14,\ - 13, 8, 12, 1}; - int DataG[] = { 1, 0, 2,\ - -1, 3, 1}; - int DataH[] = { 3, 1,\ - 2, 1,\ - 1, 0}; - matrix A, B, C, D, E, F, G, H, I; - //Initialize A and B to the magic square and its transpose. - A = vector2matrix(DataA, 4, 4); - B = vector2matrix(DataB, 4, 4); - //Initializae G and H to two matrices - G = vector2matrix(DataG, 2, 3); - H = vector2matrix(DataH, 3, 2); - - //Allocate memory for the other matrices. - AllocateMatrix(&C, 4, 4); - AllocateMatrix(&D, 4, 4); - AllocateMatrix(&E, 4, 4); - AllocateMatrix(&F, 4, 4); - AllocateMatrix(&I, 2, 2); - - //Display the matrices - ShowMatrix(&A, "A"); - ShowMatrix(&B, "B"); - - //Add A to itself and display the result. - AddMatrix(&A, &A, &C); - ShowMatrix(&C, "A + A"); - - //Add A to B and display the result. - AddMatrix(&A, &B, &D); - ShowMatrix(&D, "A + B"); - - //Subtract A - B and display the result. - SubtractMatrix(&A, &B, &E); - ShowMatrix(&E, "A - B"); - - //Multiply B * A and display the result. - MultiplyMatrix(&B, &A, &F); - ShowMatrix(&F, "B*A"); - - //Show the non-square matrices. - ShowMatrix(&G, "G"); - ShowMatrix(&H, "H"); - - //Multiply the non-square matrices. - MultiplyMatrix(&G, &H, &I); - ShowMatrix(&I, "G*H"); -} Deleted: spnbox/tests/test-matrixmath.mak =================================================================== --- spnbox/tests/test-matrixmath.mak 2009-07-07 15:29:42 UTC (rev 181) +++ spnbox/tests/test-matrixmath.mak 2009-07-07 19:11:31 UTC (rev 182) @@ -1,19 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-matrixmath: test-matrixmath.o pns.o matrix.o general.o matrixmath.o - $(COMPILER) -o test-matrixmath test-matrixmath.o pns.o matrix.o general.o matrixmath.o - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -test-matrixmath.o: test-matrixmath.c ../../pnheaders/pns.h ../matrixmath.h - $(COMPILER) -c test-matrixmath.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ste...@us...> - 2009-07-07 15:29:44
|
Revision: 181 http://pntool.svn.sourceforge.net/pntool/?rev=181&view=rev Author: StephenCamp Date: 2009-07-07 15:29:42 +0000 (Tue, 07 Jul 2009) Log Message: ----------- test-tactn.txt now implements all the test functionality in tactdem.m. tactn.c now debugged and passes all tests. Modified Paths: -------------- spnbox/tactn.c spnbox/tests/test-tactn.txt Modified: spnbox/tactn.c =================================================================== --- spnbox/tactn.c 2009-07-07 13:35:25 UTC (rev 180) +++ spnbox/tactn.c 2009-07-07 15:29:42 UTC (rev 181) @@ -421,20 +421,32 @@ { matrix L; int i, j, k, Cols, Rows; + int *LFlags; short *IntList; double *B; + double *LoBounds; ipsolve_r lpResult; Cols = NumberOfColumns(*D); Rows = NumberOfRows(*D); + MemoryManager mem; /*We will be iterating through each transition in D and doing a linear programming problem. The constraint matrix will be a copy of D with constraint columns for each zeroed element in keepTransition and for the current column removed or zeroed.*/ /*Allocate space and initialize.*/ - AllocateMatrixType(2, &L, Rows, Cols); - CopyMatrix(D, &L); - IntList = tcalloc(Cols, sizeof(short)); - B = tcalloc(Rows, sizeof(double)); + mem = CreateMemoryManager(5, 1, 0, 0); + MAllocateMatrixType(&mem, 2, &L, Rows, Cols); + IntList = mcalloc(&mem, Cols, sizeof(short)); + B = mcalloc(&mem, Rows, sizeof(double)); + LoBounds = mcalloc(&mem, Cols, sizeof(double)); + /*Lo bounds are 0 for columns not flagged in IncludeFlag and 1 for the rest.*/ + for (i = 0; i < Cols; i++) + { + if (IncludeFlag[i]) LoBounds[i] = 1.0; + } + /*This flag array indicates whether a particular column of L has been filled + (flag set) or nulled (flag cleared).*/ + LFlags = mcalloc(&mem, Cols, sizeof(int)); for (i = 0; i < Cols; i++) { @@ -442,21 +454,34 @@ been marked as unkeepable and those which are NOT flagged in IncludeFlag.*/ if (keepTransition[i] && (! IncludeFlag[i])) { - /*Zero the appropriate columns of the constraint matrix.*/ + /*Zero or fill columns of the constraint matrix as appropriate.*/ for (j = 0; j < Cols; j++) { - if ((! keepTransition[j]) || i == j) + /*We zero the current column and any column not flagged in + keepTransition.*/ + if (((! keepTransition[j]) || i == j)) { - for (k = 0; k < Rows; k++) + /*Zero the column only if it has not already been zeroed.*/ + if (LFlags[j]) { - SetMatrixEl(&L, k, j, 0); - } + for (k = 0; k < Rows; k++) + { + SetMatrixEl(&L, k, j, 0); + } + LFlags[j] = 0; + } } + /*Otherwise, the column should be filled if it is not already full.*/ + else if (! LFlags[j]) + { + CopyBlock(Rows, 1, D, 0, j, &L, 0, j); + LFlags[j] = 1; + } } /*Solve the linear programming problem. Cost defaults to all 1s, upper - and lower bounds default to infinity and zero respectively, and constraint - type defaults to >=. No variables should be restricted to being integers.*/ - lpResult = ipsolve(&L, B, 0, IntList, 0, 0, 0); + bounds default to infinity, and constraint type defaults to >=. No + variables should be restricted to being integers.*/ + lpResult = ipsolve(&L, B, 0, IntList, 0, LoBounds, 0); /*If the linear programming problem was infeasible, break, leave the keepTransition flag array as-is, and return immediately.*/ @@ -472,27 +497,19 @@ memset(keepTransition, 0, sizeof(int) * Cols); for (j = 0; j < Cols; j++) { - /*Ignore very small nonzero values in the solution vector.*/ - if (lpResult.res[j] < -HOW_MAX_ERROR || lpResult.res[j] > HOW_MAX_ERROR) + /*Ignore very small nonzero values in the solution vector. Also + examine only solution elements corresponding to non-nulled columns, + as noted in LFlags.*/ + if ((lpResult.res[j] < -HOW_MAX_ERROR || lpResult.res[j] > HOW_MAX_ERROR) && LFlags[j]) { - keepTransition[j] = 0; + keepTransition[j] = 1; } - - /*Take advantage of the loop to restore any columns of the constraint - matrix that need to be restored. Instead of doing a full matrix copy, - just copy columns that were zeroed above.*/ - if ((! keepTransition[j]) || i == j) - { - CopyBlock(Rows, 1, D, 0, j, &L, 0, j); - } } free(lpResult.res); } } } - free(B); - free(IntList); - DeallocateMatrix(&L); + FreeMemory(&mem); } /******************************************************************************* Modified: spnbox/tests/test-tactn.txt =================================================================== --- spnbox/tests/test-tactn.txt 2009-07-07 13:35:25 UTC (rev 180) +++ spnbox/tests/test-tactn.txt 2009-07-07 15:29:42 UTC (rev 181) @@ -61,4 +61,27 @@ echo Problems 4 & 5 echo These problems test update mode. The solutions to the problems should be echo the same. +echo Problem 4...update mode. +D 5 4 +-1 0 0 0 +1 -1 3 -1 +0 1 -1 0 +0 -1 0 1 +1 0 2 -1 + +Dc 3 3 +0 0 0 +0 -2 3 +0 1 -1 + +done +echo Problem 5...normal mode. +D 5 4 +-1 0 0 0 +1 -1 3 -1 +0 1 -1 0 +0 -1 0 1 +1 0 2 -1 +done + quit This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ste...@us...> - 2009-07-07 14:48:59
|
Revision: 180 http://pntool.svn.sourceforge.net/pntool/?rev=180&view=rev Author: StephenCamp Date: 2009-07-07 13:35:25 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Fixed linenf.c's overall status reporting the right way this time. The original matlab code was just fine. linenf.c was erroneously examining partial statuses from ilpadm instead of the overall status, and the two use different sets of status messages. Modified Paths: -------------- spnbox/linenf.c Modified: spnbox/linenf.c =================================================================== --- spnbox/linenf.c 2009-07-07 05:53:03 UTC (rev 179) +++ spnbox/linenf.c 2009-07-07 13:35:25 UTC (rev 180) @@ -57,7 +57,7 @@ /*Variables*/ int i, j, k, Constraints, Places, Transitions, NewPlaces, NewTransitions, NewTucCount, NewCRows; int ldp, ldm; - int NotSolved = 0, Infeasible = 0; + int NotSolved = 0, Impossible = 0; int *NewTuc; matrix D, NewD, NewDm, NewDp, NewL, NewF, NewC; int* Newm0; @@ -251,13 +251,13 @@ } /*If the problem was not solved or was impossible, set the appropriate overall status flag.*/ - if (! strcmp(AdmResult.dhow[0], HOW_NOTSOLVED)) + if (! strcmp(AdmResult.how, HOW_NOTSOLVED)) { NotSolved |= 1; } - if (! strcmp(AdmResult.dhow[0], HOW_INFEASIBLE)) + if (! strcmp(AdmResult.how, HOW_IMPOSSIBLE)) { - Infeasible |= 1; + Impossible |= 1; } } @@ -323,9 +323,9 @@ { Ret.how = HOW_NOTSOLVED; } - if (Infeasible) + if (Impossible) { - Ret.how = HOW_INFEASIBLE; + Ret.how = HOW_IMPOSSIBLE; } //Return return Ret; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ste...@us...> - 2009-07-07 05:53:08
|
Revision: 179 http://pntool.svn.sourceforge.net/pntool/?rev=179&view=rev Author: StephenCamp Date: 2009-07-07 05:53:03 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Added structure deallocation functions in deallocation.c Replaced individual test makefiles with a makefile for all test routines. Fixed bugs in actn.c and tactn.c. tactn.c is NOT fully debugged yet - at least one known error has yet to be resolved. Modified Paths: -------------- spnbox/actn.c spnbox/spnbox.h spnbox/tactn.c spnbox/tests/test-tactn.txt Added Paths: ----------- spnbox/deallocation.c spnbox/tests/Makefile Removed Paths: ------------- spnbox/tests/test-actn.mak spnbox/tests/test-ilpadm.mak spnbox/tests/test-ipsolve.mak spnbox/tests/test-isadm.mak spnbox/tests/test-linenf.mak spnbox/tests/test-msplit.mak spnbox/tests/test-nltrans.mak spnbox/tests/test-pn2acpn.mak spnbox/tests/test-pn2eacpn.mak spnbox/tests/test-reduce.mak spnbox/tests/test-supervis.mak spnbox/tests/test-tactn.mak Modified: spnbox/actn.c =================================================================== --- spnbox/actn.c 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/actn.c 2009-07-07 05:53:03 UTC (rev 179) @@ -10,7 +10,7 @@ static actn_r BuildResult(matrix* Dm, matrix* Dp, int* cullPlace, int* cullTrans); -static int* cullPlaces(matrix* Dm, int* cullTransition); +static int* cullPlaces(matrix* Dp, int* cullTransition); static int* updateURT(matrix* Dm, matrix* Dp, matrix* Dcm, matrix* Dcp); @@ -65,8 +65,8 @@ ManageMemory(&memory, cullTransition); /*Build the cullPlace flags, which will be cleared only for places that - have nonzero output arcs to transitions that are not being culled.*/ - cullPlace = cullPlaces(Dm, cullTransition); + have nonzero input arcs from transitions that are not being culled.*/ + cullPlace = cullPlaces(Dp, cullTransition); ManageMemory(&memory, cullPlace); /*Build the final output.*/ @@ -236,27 +236,27 @@ returns an array of integer flags, one for each place, indicating whether that place should be culled. */ -int* cullPlaces(matrix* Dm, int* cullTransition) +int* cullPlaces(matrix* Dp, int* cullTransition) { int i, j; int *cull; /*Allocate and initialize the return value cull. It will be clear only for places that have nonzero output arcs to transitions that are not being culled.*/ - cull = tcalloc(NumberOfRows(*Dm), sizeof(int)); - for (i = 0; i < NumberOfRows(*Dm); i++) + cull = tcalloc(NumberOfRows(*Dp), sizeof(int)); + for (i = 0; i < NumberOfRows(*Dp); i++) { /*Look to see if the current place has any nonzero output arcs to transitions not being culled.*/ - for (j = 0; j < NumberOfColumns(*Dm); j++) + for (j = 0; j < NumberOfColumns(*Dp); j++) { - if (GetMatrixEl(Dm, i, j) && (! cullTransition[j])) + if (GetMatrixEl(Dp, i, j) && (! cullTransition[j])) { break; } } /*If there were no nonzero output arcs set the place flag.*/ - if (j == NumberOfColumns(*Dm)) + if (j == NumberOfColumns(*Dp)) { cull[i] = 1; } Added: spnbox/deallocation.c =================================================================== --- spnbox/deallocation.c (rev 0) +++ spnbox/deallocation.c 2009-07-07 05:53:03 UTC (rev 179) @@ -0,0 +1,147 @@ +#include "../pnheaders/matrix.h" +#include "spnbox.h" + +inline static void FreeMatrixSafe(matrix* m) +{ + /*If type is zero, it means the matrix hasn't been allocated.*/ + if (m->type) DeallocateMatrix(m); +} + +inline static void FreeMemorySafe(void* m) +{ + /*Don't attempt to free a non-null pointer.*/ + if (m) free(m); +} + +void DeallocateSupervise(supervis_r *data) +{ + FreeMatrixSafe(&data->Dfm); + FreeMatrixSafe(&data->Dfp); + memset(data, 0, sizeof(supervis_r)); +} + +void DeallocateIpslv(ipslv_r *data) +{ + FreeMemorySafe(data->solution); + memset(data, 0, sizeof(ipslv_r)); +} + +void DeallocateIpsolve(ipsolve_r *data) +{ + FreeMemorySafe(data->res); + memset(data, 0, sizeof(ipsolve_r)); +} + +void DeallocateIlpadm(ilpadm_r *data) +{ + FreeMatrixSafe(&data->La); + FreeMatrixSafe(&data->R1); + FreeMatrixSafe(&data->R2); + FreeMemorySafe(&data->ba); + FreeMemorySafe(&data->dhow); + memset(data, 0, sizeof(ilpadm)); +} + +void DeallocateLinenf(linenf_r *data) +{ + FreeMatrixSafe(&data->Dfm); + FreeMatrixSafe(&data->Dfp); + FreeMatrixSafe(&data->Lf); + FreeMatrixSafe(&data->Cf); + FreeMemorySafe(data->ms0); + FreeMemorySafe(data->dhow); + FreeMemorySafe(data->bf); + memset(data, 0, sizeof(linenf_r)); +} + +void DeallocateMsplit(msplit_r *data) +{ + int i; + if (data->Df.type && data->TDf) + { + for (i = 0; i < NumberOfColumns(data->Df); i++) + { + FreeMemorySafe(data->TDf[i]); + } + } + FreeMemorySafe(data->TDf); + FreeMemorySafe(data->iplf); + FreeMemorySafe(data->TDfCount); + FreeMatrixSafe(&data->Df); + FreeMatrixSafe(&data->Dfm); + FreeMatrixSafe(&data->Dfp); + FreeMatrixSafe(&data->Mf); + FreeMatrixSafe(&data->L0f); + FreeMatrixSafe(&data->Lf); + memset(data, 0, sizeof(msplit_r)); +} + +void DeallocateNltrans(nltrans_r *data) +{ + FreeMemorySafe(data->dtr); + memset(data, 0, sizeof(nltrans_r)); +} + +void DeallocatePn2acpn(pn2acpn_r *data) +{ + FreeMatrixSafe(&data->Df); + FreeMatrixSafe(&data->Dmf); + FreeMatrixSafe(&data->Dpf); + FreeMatrixSafe(&data->MXF); + FreeMatrixSafe(&data->L0F); + FreeMatrixSafe(&data->LF); + FreeMemorySafe(data->iplf); + memset(data, 0, sizeof(pn2acpn_r)); +} + +void DeallocatePn2eacpn(pn2eacpn_r *data) +{ + int i; + if (data->Df.type && data->TD) + { + for (i = 0; i < NumberOfColumns(data->Df); i++) + { + FreeMemorySafe(data->TD[i]); + } + } + FreeMemorySafe(data->TD); + FreeMemorySafe(data->TDCount); + FreeMemorySafe(data->iplf); + + FreeMatrixSafe(&data->Df); + FreeMatrixSafe(&data->Dmf); + FreeMatrixSafe(&data->Dpf); + FreeMatrixSafe(&data->MXF); + FreeMatrixSafe(&data->L0F); + FreeMatrixSafe(&data->LF); + memset(data, 0, sizeof(pn2eacpn_r)); +} + +void DeallocateChkcons(chkcons_r *data) +{ + FreeMemorySafe(data->res); + memset(data, 0, sizeof(chkcons_r)); +} + +void DeallocateReduce(reduce_r *data) +{ + FreeMatrixSafe(&data->Lf); + FreeMemorySafe(data->Bf); + FreeMemorySafe(data->indf); + memset(data, 0, sizeof(reduce_r)); +} + +void DeallocateActn(actn_r *data) +{ + FreeMatrixSafe(&data->Dma); + FreeMatrixSafe(&data->Dpa); + FreeMatrixSafe(&data->Dmra); + FreeMatrixSafe(&data->Dpra); + FreeMemorySafe(data->TA); + memset(data, 0, sizeof(actn_r)); +} + +void DeallocateTactn(tactn_r *data) +{ + DeallocateTactn(data); +} Modified: spnbox/spnbox.h =================================================================== --- spnbox/spnbox.h 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/spnbox.h 2009-07-07 05:53:03 UTC (rev 179) @@ -126,6 +126,21 @@ type just for consistency's sake.*/ typedef actn_r tactn_r; +/*Functions to free return structures. Implemented in deallocation.c*/ +void DeallocateSupervise(supervis_r *data); +void DeallocateIpslv(ipslv_r *data); +void DeallocateIpsolve(ipsolve_r *data); +void DeallocateIlpadm(ilpadm_r *data); +void DeallocateLinenf(linenf_r *data); +void DeallocateMsplit(msplit_r *data); +void DeallocateNltrans(nltrans_r *data); +void DeallocatePn2acpn(pn2acpn_r *data); +void DeallocatePn2eacpn(pn2eacpn_r *data); +void DeallocateChkcons(chkcons_r *data); +void DeallocateReduce(reduce_r *data); +void DeallocateActn(actn_r *data); +void DeallocateTactn(tactn_r *data); + /*Constants returned in by functions to indicate the nature of the result.*/ #define HOW_ERROR "error" #define HOW_OK "OK" Modified: spnbox/tactn.c =================================================================== --- spnbox/tactn.c 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tactn.c 2009-07-07 05:53:03 UTC (rev 179) @@ -14,7 +14,7 @@ static int* maxactn(matrix *D, int *IncludeFlag, int *ExcludeFlag); -static int* keepPlaces(matrix* Dm, int* keepTransition); +static int* keepPlaces(matrix* Dp, int* keepTransition); static tactn_r BuildResult(matrix* Dm, matrix* Dp, int* cullPlace, int* cullTrans); @@ -53,7 +53,7 @@ } for (i = 0; i < ExcludeTCount; i++) { - ExcludeFlag[IncludeT[i]] = 1; + ExcludeFlag[ExcludeT[i]] = 1; } if (Dcm && Dcp) @@ -79,9 +79,9 @@ } ManageMemory(&memory, keepTransition); - /*Build the cullPlace flags, which will be cleared only for places that - have nonzero output arcs to transitions that are not being culled.*/ - keepPlace = keepPlaces(Dm, keepTransition); + /*Build the keepPlace flags, which will be set only for places that + have nonzero input arcs from transitions that are being kept.*/ + keepPlace = keepPlaces(Dp, keepTransition); ManageMemory(&memory, keepPlace); /*Build the final output.*/ @@ -256,21 +256,21 @@ keepPlaces examines the Petri net and the list of transitions to keep and returns an array of integer flags, one for each place, indicating whether that place should be kept.*/ -int* keepPlaces(matrix* Dm, int* keepTransition) +int* keepPlaces(matrix* Dp, int* keepTransition) { int i, j; int *keep; /*Allocate and initialize the return value cull. It will be clear only for places that have nonzero output arcs to transitions that are not being culled.*/ - keep = tcalloc(NumberOfRows(*Dm), sizeof(int)); - for (i = 0; i < NumberOfRows(*Dm); i++) + keep = tcalloc(NumberOfRows(*Dp), sizeof(int)); + for (i = 0; i < NumberOfRows(*Dp); i++) { /*Look to see if the current place has any nonzero output arcs to transitions being kept.*/ - for (j = 0; j < NumberOfColumns(*Dm); j++) + for (j = 0; j < NumberOfColumns(*Dp); j++) { - if (GetMatrixEl(Dm, i, j) && (keepTransition[j])) + if (GetMatrixEl(Dp, i, j) && (keepTransition[j])) { keep[i] = 1; break; @@ -311,7 +311,7 @@ /*Allocate space*/ mem = CreateMemoryManager(5, 1, 0, 0); - MAllocateMatrixType(&mem, 2, &L, DRows + 1, DCols + 1); + MAllocateMatrixType(&mem, 2, &L, DRows + 1, DCols); IntList = mcalloc(&mem, DCols, sizeof(short)); B = mcalloc(&mem, DRows + 1, sizeof(double)); oldFlag = mcalloc(&mem, DCols, sizeof(int)); @@ -340,7 +340,7 @@ { if (newFlag[i] && (! oldFlag[i])) { - CopyBlock(DRows, 0, D, 0, i, &L, 0, i); + CopyBlock(DRows, 1, D, 0, i, &L, 0, i); SetMatrixEl(&L, DRows, i, 1); } else if ((! newFlag[i]) && oldFlag[i]) @@ -756,11 +756,11 @@ and vice-versa.*/ if (! *IncludeT) { - *ExcludeTCount = 0; + *IncludeTCount = 0; } - else if (! *ExcludeTCount) + else if (! *IncludeTCount) { - *ExcludeT = 0; + *IncludeT = 0; } /*If IncludeT was not given it defaults to including the indices of every transitions.*/ Added: spnbox/tests/Makefile =================================================================== --- spnbox/tests/Makefile (rev 0) +++ spnbox/tests/Makefile 2009-07-07 05:53:03 UTC (rev 179) @@ -0,0 +1,139 @@ +#Usage: +# make all | clean | <functionname> +#all builds all test routines and executables. +#clean cleans the test routine executables and intermediate files. +#<functionname> is the name of an spnbox function. This builds the test routines for that function. + +COMPILER=gcc -g + +#The dependencies common to all test executables. +COMMON=StructuredIO.o test.o MemoryManager.o general.o pns.o matrix.o matrixmath.o + +#These symbols define the dependencies of various test executables. +IPSOLVE=ipsolve.o ipslv.o ../liblpsolve55.a +ISADM=isadm.o +MSPLIT=msplit.o +PN2ACPN=pn2acpn.o +SUPERVIS=supervis.o +ACTN=actn.o $(NLTRANS) +ILPADM=ilpadm.o $(IPSOLVE) +LINENF=linenf.o $(ILPADM) +NLTRANS=nltrans.o $(IPSOLVE) +PN2EACPN=pn2eacpn.o $(NLTRANS) +REDUCE=reduce.o chkcons.o $(IPSOLVE) +TACTN=tactn.o $(IPSOLVE) + +#All test dependencies. +ALL=$(COMMON) $(IPSOLVE) isadm.o msplit.o pn2acpn.o actn.o ilpadm.o linenf.o nltrans.o pn2eacpn.o reduce.o chkcons.o tactn.o +ALLSRC=isolve.c ipslv.c isadm.c msplit.c pn2acpn.c supervis.c actn.c ilpadm.c linenf.c nltrans.c pn2eacpn.c reduce.c chkcons.c tactn.c + +#Common test header dependencies. +COMMONHEADER=spnbox.h test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h StructuredIO.h + +#Targets +all: ipsolve isadm msplit pn2acpn supervis actn ilpadm linenf nltrans pn2eacpn reduce tactn +ipsolve: test-ipsolve.o $(COMMON) $(IPSOLVE) + $(COMPILER) -o ipsolve.exe test-ipsolve.o $(COMMON) $(IPSOLVE) +isadm: test-isadm.o $(ISADM) + $(COMPILER) -o isadm.exe test-isadm.o $(COMMON) $(ISADM) +msplit: test-msplit.o $(MSPLIT) + $(COMPILER) -o msplit.exe test-msplit.o $(COMMON) $(MSPLIT) +pn2acpn: test-pn2acpn.o $(COMMON) $(PN2ACPN) + $(COMPILER) -o pn2acpn.exe test-pn2acpn.o $(COMMON) $(PN2ACPN) +supervis: test-supervis.o $(COMMON) $(SUPERVIS) + $(COMPILER) -o supervis.exe test-supervis.o $(COMMON) $(SUPERVIS) +actn: test-actn.o $(COMMON) $(ACTN) + $(COMPILER) -o actn.exe test-actn.o $(COMMON) $(ACTN) +ilpadm: test-ilpadm.o $(COMMON) $(ILPADM) + $(COMPILER) -o ilpadm.exe test-ilpadm.o $(COMMON) $(ILPADM) +linenf: test-linenf.o $(COMMON) $(LINENF) + $(COMPILER) -o linenf.exe test-linenf.o $(COMMON) $(LINENF) +nltrans: test-nltrans.o $(COMMON) $(NLTRANS) + $(COMPILER) -o nltrans.exe test-nltrans.o $(COMMON) $(NLTRANS) +pn2eacpn: test-pn2eacpn.o $(COMMON) $(PN2EACPN) + $(COMPILER) -o pn2eacpn.exe test-pn2eacpn.o $(COMMON) $(PN2EACPN) +reduce: test-reduce.o $(COMMON) $(REDUCE) + $(COMPILER) -o reduce.exe test-reduce.o $(COMMON) $(REDUCE) +tactn: test-tactn.o $(COMMON) $(TACTN) + $(COMPILER) -o tactn.exe test-tactn.o $(COMMON) $(TACTN) +clean: + rm -f *.o + rm -f *.exe + rm -f *.stackdump + +#Rules for making the general object files. +actn.o: ../actn.c ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../matrixmath.h ../MemoryManager.h + $(COMPILER) -c ../actn.c +chkcons.o: ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../chkcons.c + $(COMPILER) -c ../chkcons.c +general.o: ../../pnheaders/general.c ../../pnheaders/general.h + $(COMPILER) -c ../../pnheaders/general.c +ilpadm.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ilpadm.c + $(COMPILER) -c ../ilpadm.c +isadm.o: ../isadm.c ../spnbox.h ../../pnheaders/general.h ../MemoryManager.h ../../pnheaders/pns.h ../matrixmath.h + $(COMPILER) -c ../isadm.c +ipslv.o: ../spnbox.h ../ipslv.c + $(COMPILER) -c ../ipslv.c +ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c + $(COMPILER) -c ../ipsolve.c +linenf.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../linenf.c + $(COMPILER) -c ../linenf.c +matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h + $(COMPILER) -c ../../pnheaders/matrix.c +matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../matrixmath.c +MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../MemoryManager.c +msplit.o: ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h ../msplit.c + $(COMPILER) -c ../msplit.c +nltrans.o: ../nltrans.c ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h + $(COMPILER) -c ../nltrans.c +pn2acpn.o: ../spnbox.h ../../pnheaders/matrix.h ../MemoryManager.h ../pn2acpn.c + $(COMPILER) -c ../pn2acpn.c +pn2eacpn.o: ../spnbox.h ../../pnheaders/matrix.h ../MemoryManager.h ../pn2eacpn.c + $(COMPILER) -c ../pn2eacpn.c +pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../../pnheaders/pns.c +reduce.o: ../spnbox.h ../../pnheaders/matrix.h ../reduce.c + $(COMPILER) -c ../reduce.c +supervis.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/ ../../pnheaders/matrix.h ../supervis.c + $(COMPILER) -c ../supervis.c +StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c + $(COMPILER) -c StructuredIO.c +tactn.o: ../tactn.c ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../matrixmath.h ../MemoryManager.h + $(COMPILER) -c ../tactn.c +test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h + $(COMPILER) -c test.c + +#Rules for making the test executable object files. +test-actn.o: test-actn.c $(COMMONHEADERS) + $(COMPILER) -c test-actn.c +test-ilpadm.o: test-ilpadm.c $(COMMONHEADERS) + $(COMPILER) -c test-ilpadm.c +test-ipsolve.o: test-ipsolve.c $(COMMONHEADERS) + $(COMPILER) -c test-ipsolve.c +test-isadm.o: test-isadm.c $(COMMONHEADERS) + $(COMPILER) -c test-isadm.c +test-linenf.o: test-linenf.c $(COMMONHEADERS) + $(COMPILER) -c test-linenf.c +test-msplit.o: test-msplit.c $(COMMONHEADERS) + $(COMPILER) -c test-msplit.c +test-nltrans.o: test-nltrans.c $(COMMONHEADERS) + $(COMPILER) -c test-nltrans.c +test-pn2acpn.o: test-pn2acpn.c $(COMMONHEADERS) + $(COMPILER) -c test-pn2acpn.c +test-pn2eacpn.o: test-pn2eacpn.c $(COMMONHEADERS) + $(COMPILER) -c test-pn2eacpn.c +test-supervis.o: test-supervis.c $(COMMONHEADERS) + $(COMPILER) -c test-supervis.c +test-reduce.o: test-reduce.c $(COMMONHEADERS) + $(COMPILER) -c test-reduce.c +test-tactn.o: test-tactn.c $(COMMONHEADERS) + $(COMPILER) -c test-tactn.c + +#Rules for making the liblpsolve55.a static library for use with ipsolve. +../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a + cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a + +../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: + cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib \ No newline at end of file Deleted: spnbox/tests/test-actn.mak =================================================================== --- spnbox/tests/test-actn.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-actn.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,46 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-actn: test-actn.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o StructuredIO.o nltrans.o actn.o test.o ../liblpsolve55.a - $(COMPILER) -o test-actn.exe pns.o matrix.o general.o matrixmath.o test-actn.o ipsolve.o ipslv.o MemoryManager.o StructuredIO.o nltrans.o actn.o test.o ../liblpsolve55.a - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.h ../../pnheaders/pns.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/pns.c - -general.o: ../../pnheaders/general.h ../../pnheaders/general.c - $(COMPILER) -c ../../pnheaders/general.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test-actn.o: test-actn.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-actn.c - -StructuredIO.o: StructuredIO.c StructuredIO.h ../../pnheaders/matrix.h - $(COMPILER) -c StructuredIO.c - -nltrans.o: ../nltrans.c ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h - $(COMPILER) -c ../nltrans.c - -actn.o: ../actn.c ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../matrixmath.h ../MemoryManager.h - $(COMPILER) -c ../actn.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-ilpadm.mak =================================================================== --- spnbox/tests/test-ilpadm.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-ilpadm.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,43 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-ilpadm: test-ilpadm.o pns.o matrix.o general.o matrixmath.o MemoryManager.o ilpadm.o ipsolve.o ipslv.o StructuredIO.o test.o ../liblpsolve55.a - $(COMPILER) -o test-ilpadm.exe pns.o matrix.o general.o matrixmath.o test-ilpadm.o ilpadm.o ipsolve.o MemoryManager.o StructuredIO.o test.o ipslv.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ilpadm.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ilpadm.c - $(COMPILER) -c ../ilpadm.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -test-ilpadm.o: test-ilpadm.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-ilpadm.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-ipsolve.mak =================================================================== --- spnbox/tests/test-ipsolve.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-ipsolve.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,40 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-ipsolve: test-ipsolve.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o StructuredIO.o test.o ../liblpsolve55.a - $(COMPILER) -o test-ipsolve.exe pns.o matrix.o general.o matrixmath.o test-ipsolve.o ipsolve.o ipslv.o MemoryManager.o StructuredIO.o test.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test-ipsolve.o: test-ipsolve.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-ipsolve.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-isadm.mak =================================================================== --- spnbox/tests/test-isadm.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-isadm.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,31 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-isadm: test-isadm.o pns.o matrix.o general.o matrixmath.o MemoryManager.o isadm.o test.o StructuredIO.o - $(COMPILER) -o test-isadm.exe pns.o matrix.o general.o matrixmath.o test-isadm.o MemoryManager.o test.o StructuredIO.o isadm.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test-isadm.o: test-isadm.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-isadm.c - -isadm.o: ../isadm.c ../spnbox.h ../../pnheaders/general.h ../MemoryManager.h ../../pnheaders/pns.h ../matrixmath.h - $(COMPILER) -c ../isadm.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c Deleted: spnbox/tests/test-linenf.mak =================================================================== --- spnbox/tests/test-linenf.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-linenf.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,46 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-linenf: test-linenf.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o linenf.o test-linenf.o ilpadm.o test.o StructuredIO.o ../liblpsolve55.a - $(COMPILER) -o test-linenf.exe pns.o matrix.o general.o matrixmath.o test-linenf.o ipsolve.o ipslv.o linenf.o ilpadm.o MemoryManager.o test.o StructuredIO.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -linenf.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../linenf.c - $(COMPILER) -c ../linenf.c - -ilpadm.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ilpadm.c - $(COMPILER) -c ../ilpadm.c - -test-linenf.o: test-linenf.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-linenf.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-msplit.mak =================================================================== --- spnbox/tests/test-msplit.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-msplit.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,31 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-mpsplit: test-msplit.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o matrixmath.o msplit.o test.o - $(COMPILER) -o test-msplit.exe test-msplit.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o msplit.o matrixmath.o test.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -test-msplit.o: test-msplit.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-msplit.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -msplit.o: ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h ../msplit.c - $(COMPILER) -c ../msplit.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c Deleted: spnbox/tests/test-nltrans.mak =================================================================== --- spnbox/tests/test-nltrans.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-nltrans.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,43 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-nltrans: test-nltrans.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o StructuredIO.o nltrans.o test.o ../liblpsolve55.a - $(COMPILER) -o test-nltrans.exe pns.o matrix.o general.o matrixmath.o test-nltrans.o ipsolve.o ipslv.o MemoryManager.o StructuredIO.o nltrans.o test.o ../liblpsolve55.a - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.h ../../pnheaders/pns.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/pns.c - -general.o: ../../pnheaders/general.h ../../pnheaders/general.c - $(COMPILER) -c ../../pnheaders/general.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test-nltrans.o: test-nltrans.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-nltrans.c - -StructuredIO.o: StructuredIO.c StructuredIO.h ../../pnheaders/matrix.h - $(COMPILER) -c StructuredIO.c - -nltrans.o: ../nltrans.c ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h - $(COMPILER) -c ../nltrans.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-pn2acpn.mak =================================================================== --- spnbox/tests/test-pn2acpn.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-pn2acpn.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,32 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-pn2acpn: test-pn2acpn.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o matrixmath.o pn2acpn.o test.o - $(COMPILER) -o test-pn2acpn.exe test-pn2acpn.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o pn2acpn.o test.o matrixmath.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -test-pn2acpn.o: test-pn2acpn.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-pn2acpn.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -pn2acpn.o: ../spnbox.h ../../pnheaders/matrix.h ../MemoryManager.h ../pn2acpn.c - $(COMPILER) -c ../pn2acpn.c - \ No newline at end of file Deleted: spnbox/tests/test-pn2eacpn.mak =================================================================== --- spnbox/tests/test-pn2eacpn.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-pn2eacpn.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,47 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-pn2eacpn: test-pn2eacpn.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o matrixmath.o pn2eacpn.o nltrans.o ipsolve.o ipslv.o test.o ../liblpsolve55.a - $(COMPILER) -o test-pn2eacpn.exe test-pn2eacpn.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o pn2eacpn.o matrixmath.o nltrans.o ipsolve.o ipslv.o test.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -test-pn2eacpn.o: test-pn2eacpn.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-pn2eacpn.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -pn2eacpn.o: ../spnbox.h ../../pnheaders/matrix.h ../MemoryManager.h ../pn2eacpn.c - $(COMPILER) -c ../pn2eacpn.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -nltrans.o: ../nltrans.c ../spnbox.h ../../pnheaders/matrix.h ../matrixmath.h ../MemoryManager.h - $(COMPILER) -c ../nltrans.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib - \ No newline at end of file Deleted: spnbox/tests/test-reduce.mak =================================================================== --- spnbox/tests/test-reduce.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-reduce.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,46 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-reduce: test-reduce.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o matrixmath.o chkcons.o reduce.o ipsolve.o ipslv.o test.o ../liblpsolve55.a - $(COMPILER) -o test-reduce.exe test-reduce.o matrix.o StructuredIO.o MemoryManager.o general.o pns.o reduce.o matrixmath.o chkcons.o ipsolve.o ipslv.o test.o ../liblpsolve55.a - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -pns.o: ../../pnheaders/pns.c ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/pns.c - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -test-reduce.o: test-reduce.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-reduce.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -reduce.o: ../spnbox.h ../../pnheaders/matrix.h ../reduce.c - $(COMPILER) -c ../reduce.c - -chkcons.o: ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../chkcons.c - $(COMPILER) -c ../chkcons.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Deleted: spnbox/tests/test-supervis.mak =================================================================== --- spnbox/tests/test-supervis.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-supervis.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,31 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-supervis: test-supervis.o pns.o matrix.o general.o matrixmath.o supervis.o test.o StructuredIO.o MemoryManager.o - $(COMPILER) -o test-supervis.exe pns.o matrix.o general.o matrixmath.o test-supervis.o supervis.o test.o StructuredIO.o MemoryManager.o - -general.o: ../../pnheaders/general.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/general.c - -matrix.o: ../../pnheaders/ ../../pnheaders/matrix.c ../../pnheaders/ ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/ ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/ ../../pnheaders/pns.c ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/ ../../pnheaders/matrix.h - $(COMPILER) -c ../../pnheaders/ ../../pnheaders/pns.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/ ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -supervis.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/ ../../pnheaders/matrix.h ../supervis.c - $(COMPILER) -c ../supervis.c - -test-supervis.o: test-supervis.c test.h ../MemoryManager.h ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c test-supervis.c - -test.o: test.c test.h ../MemoryManager.h ../../pnheaders/pns.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c test.c - -StructuredIO.o: ../MemoryManager.h ../../pnheaders/matrix.h StructuredIO.h StructuredIO.c - $(COMPILER) -c StructuredIO.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c Deleted: spnbox/tests/test-tactn.mak =================================================================== --- spnbox/tests/test-tactn.mak 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-tactn.mak 2009-07-07 05:53:03 UTC (rev 179) @@ -1,43 +0,0 @@ -COMPILER=gcc -g -ggdb - -test-tactn: test-tactn.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o StructuredIO.o tactn.o test.o ../liblpsolve55.a - $(COMPILER) -o test-tactn.exe pns.o matrix.o general.o matrixmath.o test-tactn.o ipsolve.o ipslv.o MemoryManager.o StructuredIO.o tactn.o test.o ../liblpsolve55.a - -matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h - $(COMPILER) -c ../../pnheaders/matrix.c - -pns.o: ../../pnheaders/pns.h ../../pnheaders/pns.c ../../pnheaders/general.h - $(COMPILER) -c ../../pnheaders/pns.c - -general.o: ../../pnheaders/general.h ../../pnheaders/general.c - $(COMPILER) -c ../../pnheaders/general.c - -matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../matrixmath.c - -ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c - $(COMPILER) -c ../ipsolve.c - -ipslv.o: ../spnbox.h ../ipslv.c - $(COMPILER) -c ../ipslv.c - -MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h - $(COMPILER) -c ../MemoryManager.c - -test-tactn.o: test-tactn.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test-tactn.c - -StructuredIO.o: StructuredIO.c StructuredIO.h ../../pnheaders/matrix.h - $(COMPILER) -c StructuredIO.c - -tactn.o: ../tactn.c ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../matrixmath.h ../MemoryManager.h - $(COMPILER) -c ../tactn.c - -test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h - $(COMPILER) -c test.c - -../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a - cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a - -../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: - cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Modified: spnbox/tests/test-tactn.txt =================================================================== --- spnbox/tests/test-tactn.txt 2009-07-07 04:04:54 UTC (rev 178) +++ spnbox/tests/test-tactn.txt 2009-07-07 05:53:03 UTC (rev 179) @@ -5,71 +5,60 @@ rem arrayi IncludeT - Indices of transitions which must be included in the active subnet. echo Problem 1 -echo Using just an incidence matrix. -echo The active subnet should include transitions 4, 5, and 6. -echo Unique should be 0. +echo This problem supplies a 3rd order identity as the Petri net incidence +echo matrix, which should yield an unmodified net as the active subnet. No +echo other parameters are used. -D 6 8 --1 -2 0 0 0 0 0 0 -0 -1 -2 0 0 0 0 0 -0 0 -1 -2 0 0 0 0 -1 1 0 0 6 -2 0 -1 -0 0 1 1 0 -3 6 0 -0 0 0 0 -2 2 -2 0 +D 3 3 +1 0 0 +0 1 0 +0 0 1 done echo Problem 2 -echo Using the same Petri net as before but forcing transition 5 to be -echo unraisable. The active subnet should now be empty. -echo Unique should be 1. +echo This problem adds an excluded transition. +echo The correct answer should have Da: +echo -1 1 0 0 +echo 1 -1 0 0 +echo 0 0 0 0 +echo 0 0 0 0 +echo And Dra: +echo -1 1 +echo 1 -1 -D 6 8 --1 -2 0 0 0 0 0 0 -0 -1 -2 0 0 0 0 0 -0 0 -1 -2 0 0 0 0 -1 1 0 0 6 -2 0 -1 -0 0 1 1 0 -3 6 0 -0 0 0 0 -2 2 -2 0 +D 4 4 +-1 1 0 0 +1 -1 0 0 +0 0 -1 1 +0 0 1 -1 ExcludeT 1 -5 +2 done echo Problem 3 -echo This problem uses the PT-ordinary version of the petri net from problems -echo 1 and 2 with an extra row added. That is, a row has been added, the net has -echo been fed to msplit, and the result used here. It also uses as the -echo precalculated active subnet matrix returned in Problem 1. +echo This problem adds an included transition. +echo Correct answer should have Dra +echo -1 1 +echo 1 -1 +echo And Da with Dra in the upper left corner. -D 14 15 --1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 -0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 -0 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 -1 1 0 0 6 -1 0 -1 0 0 0 0 -1 0 0 -0 0 1 1 0 -1 6 0 0 0 0 0 -1 -1 0 -0 0 0 0 -1 2 -1 0 0 0 0 -1 0 0 -1 -0 0 0 0 1 -1 1 0 0 0 0 0 -1 0 0 -0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 -0 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 -0 0 0 -1 0 0 0 0 0 0 1 0 0 0 0 -0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0 -0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 -0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 -0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 +D 6 6 +-1 1 0 0 0 0 +1 -1 0 0 0 0 +0 0 -1 1 0 0 +0 0 1 -1 0 0 +0 0 0 0 -1 1 +0 0 0 0 1 -1 -Dc 6 8 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -0 0 0 0 6 -2 0 -1 -0 0 0 0 0 -3 6 0 -0 0 0 0 -2 2 -2 0 +IncludeT 1 +1 done -echo The solution should have nonzero arcs in rows: 4, 5, 6, 7, 11, 12, 13, 14 -echo The solution should have nonzero arcs in cols: 5, 6, 7, 8, 12, 13, 14, 15 - -quit \ No newline at end of file +echo Problems 4 & 5 +echo These problems test update mode. The solutions to the problems should be +echo the same. +quit This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-07 04:05:01
|
Revision: 178 http://pntool.svn.sourceforge.net/pntool/?rev=178&view=rev Author: thecodeweasel Date: 2009-07-07 04:04:54 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Reorganized specs display to aid in catching memory bugs Modified Paths: -------------- translator/main.c translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/main.c =================================================================== --- translator/main.c 2009-07-07 03:48:56 UTC (rev 177) +++ translator/main.c 2009-07-07 04:04:54 UTC (rev 178) @@ -11,6 +11,10 @@ #include "dataStructures.h" #include "pns.h" +static void displaySpec(specs* spec); +static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent); +static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent); + // Main entry point for this example // specs* ScanInput(char* fName) @@ -295,6 +299,151 @@ } } } + + if(is_verbose() >= 5) { + displaySpec(output); + } return output; +} + +static void displaySpec(specs* spec) { + pANTLR3_HASH_TABLE procs; + procs = antlr3HashTableNew(spec->pn_num); + int i; + constraint* constraints; + syncc* syncs; + process* proc1; + process* proc2; + printf("***********************\n"); + //display name + printf("Spec Structure: \%s\n", spec->name); + //display pns + //display processes + if(spec->pn_num != spec->process_num) { + fprintf(stderr, "ERROR: pn count does not match process count\n\%i != \%i\n", spec->pn_num, spec->process_num); + exit(2); + } + printf("Found \%i Processes\n", spec->pn_num); + for(i = 0; i < spec->pn_num; i++) { + if(spec->pn_array[i] != spec->process_array[i]->pn) { + fprintf(stderr, "ERROR: pn \%i does not match the petri net in process \%i (\%s)\n", i, i, spec->process_array[i]->name); + exit(2); + } + procs->putI(procs, spec->process_array[i]->pn, spec->process_array[i], NULL); + printf("======================\n"); + if(spec->process_array[i]->type != 0) { + printf("external "); + } + printf("Process: \%s:\%s\n", spec->process_array[i]->name, spec->process_array[i]->instance); + printf("Build: \%s\n", spec->process_array[i]->build); + printf("Include: \%s\n", spec->process_array[i]->include); + if(spec->process_array[i]->start) { + printf("Started\n"); + } else { + printf("Not Started\n"); + } + displaypn(*(spec->process_array[i]->pn), stdout); + } + printf("======================\n"); + printf("Labels in parenthesis\n"); + printf("======================\n"); + //display constraints + constraints = spec->constraint_list; + i = 0; + while(constraints != 0) { + constraints = constraints->next; + i++; + } + printf("Found \%i constraints\n", i); + constraints = spec->constraint_list; + while(constraints != 0) { + displayExpression(constraints->expr, procs, 0, false); + constraints = constraints->next; + } + printf("======================\n"); + //display sync list + syncs = spec->synclist; + i = 0; + while(syncs) { + syncs = syncs->next; + i++; + } + printf("Found \%i sync statements\n", i); + syncs = spec->synclist; + while(syncs) { + proc1 = (process*) procs->getI(procs, syncs->pn1); + proc2 = (process*) procs->getI(procs, syncs->pn2); + printf("Syncing \%s.t\%i(\%s) and \%s.t\%i(\%s)\n", proc1->instance, syncs->t1, proc1->pn->trans_name[syncs->t1], proc2->instance, syncs->t2, proc2->pn->trans_name[syncs->t2]); + syncs = syncs->next; + } + printf("***********************\n\n"); +} + +static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent) { + bool ret = false; + if(indent) { + int i; + //indentation + for(i = 0; i < depth; i++) { + printf(" "); + } + } + printf("expr->"); + if(expr->left_expr) { + indent = displayExpression(expr->left_expr, procs, depth+1, false); + } else if(expr->left_ineq) { + displayInequality(expr->left_ineq, procs, depth+1, false); + indent = true; + } else { + fprintf(stderr, "ERROR: No left component to expression\n"); + exit(2); + } + if(expr->right_expr) { + ret = displayExpression(expr->right_expr, procs, depth+1, true); + } else if(expr->right_ineq) { + displayInequality(expr->right_ineq, procs, depth+1, indent); + ret = true; + } + return ret; +} + +static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent) { + variable* var; + process* proc; + var = ineq->variable_list; + if(indent) { + int i; + //indentation + for(i = 0; i < depth; i++) { + printf(" "); + } + } + printf("ineq: "); + while(var) { + proc = (process*) procs->getI(procs, var->pn); + if(var->coefficient != 1) { + printf("\%i*", var->coefficient); + } + if(var->type == PARIKHV) { + printf("q."); + } + printf("\%s.", proc->instance); + if(var->type == MARKINGV) { + printf("p"); + } else { + printf("t"); + } + printf("\%i", var->index); + if(var->type == MARKINGV) { + printf("(\%s)", proc->pn->place_name[var->index]); + } else { + printf("(\%s)", proc->pn->trans_name[var->index]); + } + if(var->next) { + printf(" + "); + } + var = var->next; + } + printf(" <= \%i\n", ineq->free_term); } \ No newline at end of file Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-07 03:48:56 UTC (rev 177) +++ translator/pngenerator.c 2009-07-07 04:04:54 UTC (rev 178) @@ -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/pngenerator.g - * - On : 2009-07-06 21:18:20 + * - On : 2009-07-06 23:03:05 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -803,9 +803,6 @@ static void showContext(pANTLR3_BASE_TREE tree); static process* copyProcess(process* proc); static variable* handlePrimary(pANTLR3_VECTOR data, int coef, pns* pn, ASSOC_ARRAY* places, ASSOC_ARRAY* trans); - static void displaySpec(specs* spec); - static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent); - static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent); //see kDEFINES in pnscript.g ASSOC_ARRAY* processes; @@ -899,147 +896,6 @@ return ret; } - - static void displaySpec(specs* spec) { - pANTLR3_HASH_TABLE procs; - procs = antlr3HashTableNew(spec->pn_num); - int i; - constraint* constraints; - syncc* syncs; - process* proc1; - process* proc2; - printf("***********************\n"); - //display name - printf("Spec Structure: %s\n", spec->name); - //display pns - //display processes - if(spec->pn_num != spec->process_num) { - fprintf(stderr, "ERROR: pn count does not match process count\n%i != %i\n", spec->pn_num, spec->process_num); - exit(2); - } - printf("Found %i Processes\n", spec->pn_num); - for(i = 0; i < spec->pn_num; i++) { - if(spec->pn_array[i] != spec->process_array[i]->pn) { - fprintf(stderr, "ERROR: pn %i does not match the petri net in process %i (%s)\n", i, i, spec->process_array[i]->name); - exit(2); - } - procs->putI(procs, spec->process_array[i]->pn, spec->process_array[i], NULL); - printf("======================\n"); - if(spec->process_array[i]->type != 0) { - printf("external "); - } - printf("Process: %s:%s\n", spec->process_array[i]->name, spec->process_array[i]->instance); - printf("Build: %s\n", spec->process_array[i]->build); - printf("Include: %s\n", spec->process_array[i]->include); - if(spec->process_array[i]->start) { - printf("Started\n"); - } else { - printf("Not Started\n"); - } - displaypn(*(spec->process_array[i]->pn), stdout); - } - printf("======================\n"); - printf("Labels in parenthesis\n"); - printf("======================\n"); - //display constraints - constraints = spec->constraint_list; - i = 0; - while(constraints != 0) { - constraints = constraints->next; - i++; - } - printf("Found %i constraints\n", i); - constraints = spec->constraint_list; - while(constraints != 0) { - displayExpression(constraints->expr, procs, 0, false); - constraints = constraints->next; - } - printf("======================\n"); - //display sync list - syncs = spec->synclist; - i = 0; - while(syncs) { - syncs = syncs->next; - i++; - } - printf("Found %i sync statements\n", i); - syncs = spec->synclist; - while(syncs) { - proc1 = (process*) procs->getI(procs, syncs->pn1); - proc2 = (process*) procs->getI(procs, syncs->pn2); - printf("Syncing %s.t%i(%s) and %s.t%i(%s)\n", proc1->instance, syncs->t1, proc1->pn->trans_name[syncs->t1], proc2->instance, syncs->t2, proc2->pn->trans_name[syncs->t2]); - syncs = syncs->next; - } - printf("***********************\n\n"); - } - - static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent) { - bool ret = false; - if(indent) { - int i; - //indentation - for(i = 0; i < depth; i++) { - printf(" "); - } - } - printf("expr->"); - if(expr->left_expr) { - indent = displayExpression(expr->left_expr, procs, depth+1, false); - } else if(expr->left_ineq) { - displayInequality(expr->left_ineq, procs, depth+1, false); - indent = true; - } else { - fprintf(stderr, "ERROR: No left component to expression\n"); - exit(2); - } - if(expr->right_expr) { - ret = displayExpression(expr->right_expr, procs, depth+1, true); - } else if(expr->right_ineq) { - displayInequality(expr->right_ineq, procs, depth+1, indent); - ret = true; - } - return ret; - } - - static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent) { - variable* var; - process* proc; - var = ineq->variable_list; - if(indent) { - int i; - //indentation - for(i = 0; i < depth; i++) { - printf(" "); - } - } - printf("ineq: "); - while(var) { - proc = (process*) procs->getI(procs, var->pn); - if(var->coefficient != 1) { - printf("%i*", var->coefficient); - } - if(var->type == PARIKHV) { - printf("q."); - } - printf("%s.", proc->instance); - if(var->type == MARKINGV) { - printf("p"); - } else { - printf("t"); - } - printf("%i", var->index); - if(var->type == MARKINGV) { - printf("(%s)", proc->pn->place_name[var->index]); - } else { - printf("(%s)", proc->pn->trans_name[var->index]); - } - if(var->next) { - printf(" + "); - } - var = var->next; - } - printf(" <= %i\n", ineq->free_term); - } /* Declare the bitsets @@ -1297,7 +1153,7 @@ */ /** * $ANTLR start pn - * /Users/bion/projects/iordache/translator/pngenerator.g:284:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; + * /Users/bion/projects/iordache/translator/pngenerator.g:140:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; */ static specs* pn(ppngenerator ctx, ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName) @@ -1324,10 +1180,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:300:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:156:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ { int cnt1=0; @@ -1387,7 +1243,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1421,7 +1277,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:300:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: ( proc_instantiations )+ { int cnt2=0; @@ -1467,7 +1323,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:300:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1502,7 +1358,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:300:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: ( constraints )* for (;;) { @@ -1520,7 +1376,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:300:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1543,7 +1399,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:300:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: ( other_commands )* for (;;) { @@ -1561,7 +1417,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:300:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1603,9 +1459,6 @@ //tie off the synclist free(synclist->next); synclist->next = 0; - if(is_verbose() >= 5) { - displaySpec(output); - } ret= output; } @@ -1632,7 +1485,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:325:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:178:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1642,8 +1495,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:331:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:331:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:184:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:184:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1663,7 +1516,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:331:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:184:16: ( trans_defs )* for (;;) { @@ -1681,7 +1534,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:331:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:184:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1704,7 +1557,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:331:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:184:28: ( select_functions )* for (;;) { @@ -1722,7 +1575,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:331:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:184:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1745,7 +1598,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:331:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:184:46: ( nondeterm )? { int alt7=2; { @@ -1758,7 +1611,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:331:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:184:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1808,7 +1661,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:332:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:185:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1825,8 +1678,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:336:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:336:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:189:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:189:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1882,7 +1735,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:359:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:212:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1893,7 +1746,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:360:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:213:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1926,7 +1779,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:360:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:213:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1941,7 +1794,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:361:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:214:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1978,7 +1831,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:362:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:215:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -2001,11 +1854,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:368:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:368:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:221:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:221:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:368:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:221:6: ( TO | FROM ) { int alt9=2; @@ -2035,7 +1888,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:368:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:221:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -2053,7 +1906,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:371:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:224:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -2080,7 +1933,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:374:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:227:6: ( ID )+ { int cnt10=0; @@ -2100,7 +1953,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:374:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:227:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2167,7 +2020,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:378:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:231:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2204,7 +2057,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:389:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:242:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2280,7 +2133,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:389:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:242:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2322,7 +2175,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:398:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:251:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2343,7 +2196,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:400:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:253:5: (place= ID )+ { int cnt11=0; @@ -2363,7 +2216,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:400:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:253:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2417,7 +2270,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:416:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:269:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2430,7 +2283,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:416:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:269:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2465,7 +2318,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:422:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:275:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2498,7 +2351,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:426:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:279:5: (place= ID )* for (;;) { @@ -2516,7 +2369,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:426:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:279:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2557,7 +2410,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:441:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:294:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2570,7 +2423,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:441:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:294:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2627,7 +2480,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:446:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:299:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2643,8 +2496,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:447:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:447:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:300:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2710,7 +2563,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:454:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:307:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2724,8 +2577,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:455:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:455:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:308:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:308:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2740,7 +2593,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:455:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:308:34: ( ID )+ { int cnt16=0; @@ -2760,7 +2613,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:455:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:308:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2828,7 +2681,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:462:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:315:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2838,11 +2691,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:468:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:321:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:321:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:321:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2877,7 +2730,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:468:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:321:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2892,7 +2745,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:468:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:321:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2907,7 +2760,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:468:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:321:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2949,7 +2802,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:470:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:323:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2974,7 +2827,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:475:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:328:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -3026,7 +2879,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:475:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:328:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -3057,7 +2910,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:492:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:345:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -3088,7 +2941,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:504:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:357:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -3108,7 +2961,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:504:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:357:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3194,7 +3047,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:519:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:372:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3214,8 +3067,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:524:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:524:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:377:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:377:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3230,7 +3083,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:524:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:377:15: ( group_elements )+ { int cnt20=0; @@ -3250,7 +3103,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:524:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:377:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3364,7 +3217,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:569:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:422:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3378,8 +3231,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:570:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:570:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:423:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:423:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3394,7 +3247,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:570:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:423:12: ( ID )+ { int cnt21=0; @@ -3414,7 +3267,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:570:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:423:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3484,7 +3337,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:578:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:431:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3498,8 +3351,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:585:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:585:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:438:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:438:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3519,7 +3372,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:585:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:438:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3554,10 +3407,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:585:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:438:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:585:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:585:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:438:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:438:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3599,7 +3452,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:606:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:459:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3614,7 +3467,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:606:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:459:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3629,7 +3482,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:606:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:459:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3684,7 +3537,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:607:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:460:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3698,8 +3551,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:608:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:608:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3750,7 +3603,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:627:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:480:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3784,7 +3637,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:632:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:485:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3817,7 +3670,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:632:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:485:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3835,10 +3688,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:633:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:486:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:633:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:486:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3868,7 +3721,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:633:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:486:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3885,7 +3738,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:635:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:488:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3994,7 +3847,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:659:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:512:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -4017,8 +3870,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:667:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:667:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:520:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:520:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -4092,7 +3945,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:680:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:533:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -4109,7 +3962,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:681:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:534:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4148,7 +4001,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:681:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:534:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4166,7 +4019,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:682:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:535:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4210,7 +4063,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:683:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:536:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4276,7 +4129,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:685:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:538:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4302,7 +4155,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:686:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:539:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4335,7 +4188,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:686:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:539:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary609); group_elements21=group_elements(ctx); @@ -4359,7 +4212,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:693:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:546:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary620); if (HASEXCEPTION()) @@ -4431,7 +4284,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:700:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:553:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4451,7 +4304,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:704:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:557:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4522,7 +4375,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:704:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:557:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def642); if (HASEXCEPTION()) @@ -4554,7 +4407,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:711:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:564:5: ( ID )* for (;;) { @@ -4572,7 +4425,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:711:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:564:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def649); if (HASEXCEPTION()) @@ -4620,7 +4473,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:724:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:577:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def662); if (HASEXCEPTION()) @@ -4635,7 +4488,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:724:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:577:11: ( ID )+ { int cnt28=0; @@ -4655,7 +4508,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:724:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:577:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def665); if (HASEXCEPTION()) @@ -4726,7 +4579,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:729:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:582:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4740,8 +4593,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:730:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:730:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:583:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:583:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol680); if (HASEXCEPTION()) @@ -4756,7 +4609,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:730:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:583:16: ( ID )+ { int cnt30=0; @@ -4776,7 +4629,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:730:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:583:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol683); if (HASEXCEPTION()) @@ -4844,7 +4697,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:735:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:588:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4858,8 +4711,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:736:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:736:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:589:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:589:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve698); if (HASEXCEPTION()) @@ -4874,7 +4727,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:736:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:589:16: ( ID )+ { int cnt31=0; @@ -4894,7 +4747,7 @@ ... [truncated message content] |
From: <the...@us...> - 2009-07-07 03:49:01
|
Revision: 177 http://pntool.svn.sourceforge.net/pntool/?rev=177&view=rev Author: thecodeweasel Date: 2009-07-07 03:48:56 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Fixing the single-line process\thread\thing definition to actually work Modified Paths: -------------- translator/docs/test.txt translator/pnscript.g translator/pnscriptLexer.c translator/pnscriptLexer.h translator/pnscriptParser.c translator/pnscriptParser.h Modified: translator/docs/test.txt =================================================================== --- translator/docs/test.txt 2009-07-07 03:00:22 UTC (rev 176) +++ translator/docs/test.txt 2009-07-07 03:48:56 UTC (rev 177) @@ -77,7 +77,7 @@ q.reader1.t1 - writer1.p <= 0; 2*reader1.t1 - 2*reader1.t2 + w_group.pwr_2 <= 2; //reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1; -//(reader1.t1 - (reader1.t2 + w_group.pwr_2) > -1) || (r_group.p1b <= 0 && (w_group.pwr_1 <= 0)); +//(reader1.t1 - (reader1.t2 + w_group.pwr_2) >= 0) || (r_group.p1b <= 0 && (w_group.pwr_1 > 0)); //-3*((reader1.p2+2)-2*w_group.pwr_2) < -(4*r_group.p1b-2*(3*writer1.pwr2-2)); //################################################ print supervisor to debug.log; \ No newline at end of file Modified: translator/pnscript.g =================================================================== --- translator/pnscript.g 2009-07-07 03:00:22 UTC (rev 176) +++ translator/pnscript.g 2009-07-07 03:48:56 UTC (rev 177) @@ -332,25 +332,29 @@ proc_instantiations : (proc_init | sync_def | proc_start) SEMICOLON!; proc_init + : ID! proc_init_helper[(char*) $ID.text->chars]+; + +proc_init_helper[char* proc] @init { void** list; ASSOC_ARRAY* places; } - : proc=ID (name=ID { - if(0 == strcasecmp((char*) $name.text->chars, (char*) "global")) { - fprintf(stderr, "ERROR: Sorry, you cannot name a thread \"\%s\".\n", $name.text->chars); - FAIL_AT($name); + : ID { + if(0 == strcasecmp((char*) $ID.text->chars, (char*) "global")) { + fprintf(stderr, "ERROR: Sorry, you cannot name a thread \"\%s\".\n", $ID.text->chars); + FAIL_AT($ID); } - list = copy_list((void**) processes->get(processes, (char*) $proc.text->chars)); + list = copy_list((void**) processes->get(processes, $proc)); if(list == NULL) { - fprintf(stderr, "ERROR: You didn't declare a process type \%s...?\n", (char*) $proc.text->chars); + fprintf(stderr, "ERROR: You didn't declare a process type \%s...?\n", $proc); FAIL_AT($proc); } places = (ASSOC_ARRAY*) list[kPLACES]; //when processes gets cleaned up by the ANTLR libraries, this list pointer will get //deallocated. Really, it will. Don't try to free it here, because you can't free memory twice - threads->add(threads, (char*) $name.text->chars, list, NULL); - } ('(' ids+=numbered_ID[places, $name.text] (',' ids+=numbered_ID[places, $name.text])* ')')?)+ -> ^($name $ids*)+; + threads->add(threads, (char*) $ID.text->chars, list, NULL); + } ('(' ids+=numbered_ID[places, $ID.text] (',' ids+=numbered_ID[places, $ID.text])* ')')? -> ^(ID $ids*); + sync_def : SYNC_TOK (group_elements { int size; Modified: translator/pnscriptLexer.c =================================================================== --- translator/pnscriptLexer.c 2009-07-07 03:00:22 UTC (rev 176) +++ translator/pnscriptLexer.c 2009-07-07 03:48:56 UTC (rev 177) @@ -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/pnscript.g - * - On : 2009-07-06 21:52:27 + * - On : 2009-07-06 22:46:36 * - for the lexer : pnscriptLexerLexer * * Editing it, at least manually, is not wise. * @@ -1295,7 +1295,7 @@ } // $ANTLR end T__48 -// Comes from: 562:2: ( 'extern' ) +// Comes from: 566:2: ( 'extern' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start EXTERN @@ -1315,8 +1315,8 @@ _type = EXTERN; - // /Users/bion/projects/iordache/translator/pnscript.g:562:2: ( 'extern' ) - // /Users/bion/projects/iordache/translator/pnscript.g:562:4: 'extern' + // /Users/bion/projects/iordache/translator/pnscript.g:566:2: ( 'extern' ) + // /Users/bion/projects/iordache/translator/pnscript.g:566:4: 'extern' { MATCHS(lit_4); if (HASEXCEPTION()) @@ -1338,7 +1338,7 @@ } // $ANTLR end EXTERN -// Comes from: 564:2: ( 'process' ( 'type' )? ) +// Comes from: 568:2: ( 'process' ( 'type' )? ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PROCESS @@ -1358,8 +1358,8 @@ _type = PROCESS; - // /Users/bion/projects/iordache/translator/pnscript.g:564:2: ( 'process' ( 'type' )? ) - // /Users/bion/projects/iordache/translator/pnscript.g:564:4: 'process' ( 'type' )? + // /Users/bion/projects/iordache/translator/pnscript.g:568:2: ( 'process' ( 'type' )? ) + // /Users/bion/projects/iordache/translator/pnscript.g:568:4: 'process' ( 'type' )? { MATCHS(lit_5); if (HASEXCEPTION()) @@ -1369,7 +1369,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:564:14: ( 'type' )? + // /Users/bion/projects/iordache/translator/pnscript.g:568:14: ( 'type' )? { int alt1=2; { @@ -1382,7 +1382,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:564:14: 'type' + // /Users/bion/projects/iordache/translator/pnscript.g:568:14: 'type' { MATCHS(lit_6); if (HASEXCEPTION()) @@ -1410,7 +1410,7 @@ } // $ANTLR end PROCESS -// Comes from: 566:2: ( 'build' ':' ) +// Comes from: 570:2: ( 'build' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start BUILD @@ -1430,8 +1430,8 @@ _type = BUILD; - // /Users/bion/projects/iordache/translator/pnscript.g:566:2: ( 'build' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:566:4: 'build' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:570:2: ( 'build' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:570:4: 'build' ':' { MATCHS(lit_7); if (HASEXCEPTION()) @@ -1459,7 +1459,7 @@ } // $ANTLR end BUILD -// Comes from: 568:2: ( 'include' ':' ) +// Comes from: 572:2: ( 'include' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start INCLUDE @@ -1479,8 +1479,8 @@ _type = INCLUDE; - // /Users/bion/projects/iordache/translator/pnscript.g:568:2: ( 'include' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:568:4: 'include' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:572:2: ( 'include' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:572:4: 'include' ':' { MATCHS(lit_8); if (HASEXCEPTION()) @@ -1508,7 +1508,7 @@ } // $ANTLR end INCLUDE -// Comes from: 571:2: ( '.PN:' ) +// Comes from: 575:2: ( '.PN:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PNDEF @@ -1528,8 +1528,8 @@ _type = PNDEF; - // /Users/bion/projects/iordache/translator/pnscript.g:571:2: ( '.PN:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:571:4: '.PN:' + // /Users/bion/projects/iordache/translator/pnscript.g:575:2: ( '.PN:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:575:4: '.PN:' { MATCHS(lit_9); if (HASEXCEPTION()) @@ -1551,7 +1551,7 @@ } // $ANTLR end PNDEF -// Comes from: 573:2: ( 'places' ':' ) +// Comes from: 577:2: ( 'places' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PLACES @@ -1571,8 +1571,8 @@ _type = PLACES; - // /Users/bion/projects/iordache/translator/pnscript.g:573:2: ( 'places' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:573:4: 'places' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:577:2: ( 'places' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:577:4: 'places' ':' { MATCHS(lit_10); if (HASEXCEPTION()) @@ -1600,7 +1600,7 @@ } // $ANTLR end PLACES -// Comes from: 575:2: ( 'trans' ( 'itions' )? ':' ) +// Comes from: 579:2: ( 'trans' ( 'itions' )? ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start TRANS @@ -1620,8 +1620,8 @@ _type = TRANS; - // /Users/bion/projects/iordache/translator/pnscript.g:575:2: ( 'trans' ( 'itions' )? ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:575:4: 'trans' ( 'itions' )? ':' + // /Users/bion/projects/iordache/translator/pnscript.g:579:2: ( 'trans' ( 'itions' )? ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:579:4: 'trans' ( 'itions' )? ':' { MATCHS(lit_11); if (HASEXCEPTION()) @@ -1631,7 +1631,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:575:12: ( 'itions' )? + // /Users/bion/projects/iordache/translator/pnscript.g:579:12: ( 'itions' )? { int alt2=2; { @@ -1644,7 +1644,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:575:12: 'itions' + // /Users/bion/projects/iordache/translator/pnscript.g:579:12: 'itions' { MATCHS(lit_12); if (HASEXCEPTION()) @@ -1678,7 +1678,7 @@ } // $ANTLR end TRANS -// Comes from: 577:2: ( '.code:' ) +// Comes from: 581:2: ( '.code:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CODE @@ -1698,8 +1698,8 @@ _type = CODE; - // /Users/bion/projects/iordache/translator/pnscript.g:577:2: ( '.code:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:577:4: '.code:' + // /Users/bion/projects/iordache/translator/pnscript.g:581:2: ( '.code:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:581:4: '.code:' { MATCHS(lit_13); if (HASEXCEPTION()) @@ -1721,7 +1721,7 @@ } // $ANTLR end CODE -// Comes from: 579:2: ( 'select function' ) +// Comes from: 583:2: ( 'select function' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SELECT_DEF @@ -1741,8 +1741,8 @@ _type = SELECT_DEF; - // /Users/bion/projects/iordache/translator/pnscript.g:579:2: ( 'select function' ) - // /Users/bion/projects/iordache/translator/pnscript.g:579:4: 'select function' + // /Users/bion/projects/iordache/translator/pnscript.g:583:2: ( 'select function' ) + // /Users/bion/projects/iordache/translator/pnscript.g:583:4: 'select function' { MATCHS(lit_14); if (HASEXCEPTION()) @@ -1764,7 +1764,7 @@ } // $ANTLR end SELECT_DEF -// Comes from: 582:2: ( 'sync' ) +// Comes from: 586:2: ( 'sync' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SYNC_TOK @@ -1784,8 +1784,8 @@ _type = SYNC_TOK; - // /Users/bion/projects/iordache/translator/pnscript.g:582:2: ( 'sync' ) - // /Users/bion/projects/iordache/translator/pnscript.g:582:4: 'sync' + // /Users/bion/projects/iordache/translator/pnscript.g:586:2: ( 'sync' ) + // /Users/bion/projects/iordache/translator/pnscript.g:586:4: 'sync' { MATCHS(lit_15); if (HASEXCEPTION()) @@ -1807,7 +1807,7 @@ } // $ANTLR end SYNC_TOK -// Comes from: 584:2: ( 'start' ) +// Comes from: 588:2: ( 'start' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start START @@ -1827,8 +1827,8 @@ _type = START; - // /Users/bion/projects/iordache/translator/pnscript.g:584:2: ( 'start' ) - // /Users/bion/projects/iordache/translator/pnscript.g:584:4: 'start' + // /Users/bion/projects/iordache/translator/pnscript.g:588:2: ( 'start' ) + // /Users/bion/projects/iordache/translator/pnscript.g:588:4: 'start' { MATCHS(lit_16); if (HASEXCEPTION()) @@ -1850,7 +1850,7 @@ } // $ANTLR end START -// Comes from: 587:2: ( '.constraints:' ) +// Comes from: 591:2: ( '.constraints:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CONSTRAINTS @@ -1870,8 +1870,8 @@ _type = CONSTRAINTS; - // /Users/bion/projects/iordache/translator/pnscript.g:587:2: ( '.constraints:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:587:4: '.constraints:' + // /Users/bion/projects/iordache/translator/pnscript.g:591:2: ( '.constraints:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:591:4: '.constraints:' { MATCHS(lit_17); if (HASEXCEPTION()) @@ -1893,7 +1893,7 @@ } // $ANTLR end CONSTRAINTS -// Comes from: 589:2: ( '&&' | 'and' | 'AND' ) +// Comes from: 593:2: ( '&&' | 'and' | 'AND' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start AND_OP @@ -1914,7 +1914,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:589:2: ( '&&' | 'and' | 'AND' ) + // /Users/bion/projects/iordache/translator/pnscript.g:593:2: ( '&&' | 'and' | 'AND' ) ANTLR3_UINT32 alt3; @@ -1952,7 +1952,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:589:4: '&&' + // /Users/bion/projects/iordache/translator/pnscript.g:593:4: '&&' { MATCHS(lit_18); if (HASEXCEPTION()) @@ -1965,7 +1965,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:589:9: 'and' + // /Users/bion/projects/iordache/translator/pnscript.g:593:9: 'and' { MATCHS(lit_19); if (HASEXCEPTION()) @@ -1978,7 +1978,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:589:15: 'AND' + // /Users/bion/projects/iordache/translator/pnscript.g:593:15: 'AND' { MATCHS(lit_20); if (HASEXCEPTION()) @@ -2003,7 +2003,7 @@ } // $ANTLR end AND_OP -// Comes from: 591:2: ( '||' | 'or' | 'OR' ) +// Comes from: 595:2: ( '||' | 'or' | 'OR' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start OR_OP @@ -2024,7 +2024,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:591:2: ( '||' | 'or' | 'OR' ) + // /Users/bion/projects/iordache/translator/pnscript.g:595:2: ( '||' | 'or' | 'OR' ) ANTLR3_UINT32 alt4; @@ -2062,7 +2062,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:591:4: '||' + // /Users/bion/projects/iordache/translator/pnscript.g:595:4: '||' { MATCHS(lit_21); if (HASEXCEPTION()) @@ -2075,7 +2075,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:591:9: 'or' + // /Users/bion/projects/iordache/translator/pnscript.g:595:9: 'or' { MATCHS(lit_22); if (HASEXCEPTION()) @@ -2088,7 +2088,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:591:14: 'OR' + // /Users/bion/projects/iordache/translator/pnscript.g:595:14: 'OR' { MATCHS(lit_23); if (HASEXCEPTION()) @@ -2113,7 +2113,7 @@ } // $ANTLR end OR_OP -// Comes from: 593:2: ( '<=' ) +// Comes from: 597:2: ( '<=' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start EQ_OP @@ -2133,8 +2133,8 @@ _type = EQ_OP; - // /Users/bion/projects/iordache/translator/pnscript.g:593:2: ( '<=' ) - // /Users/bion/projects/iordache/translator/pnscript.g:593:4: '<=' + // /Users/bion/projects/iordache/translator/pnscript.g:597:2: ( '<=' ) + // /Users/bion/projects/iordache/translator/pnscript.g:597:4: '<=' { MATCHS(lit_24); if (HASEXCEPTION()) @@ -2156,7 +2156,7 @@ } // $ANTLR end EQ_OP -// Comes from: 595:2: ( '*' ) +// Comes from: 599:2: ( '*' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start MULT @@ -2176,8 +2176,8 @@ _type = MULT; - // /Users/bion/projects/iordache/translator/pnscript.g:595:2: ( '*' ) - // /Users/bion/projects/iordache/translator/pnscript.g:595:4: '*' + // /Users/bion/projects/iordache/translator/pnscript.g:599:2: ( '*' ) + // /Users/bion/projects/iordache/translator/pnscript.g:599:4: '*' { MATCHC('*'); if (HASEXCEPTION()) @@ -2198,7 +2198,7 @@ } // $ANTLR end MULT -// Comes from: 597:2: ( 'live:' ) +// Comes from: 601:2: ( 'live:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start LIVE @@ -2218,8 +2218,8 @@ _type = LIVE; - // /Users/bion/projects/iordache/translator/pnscript.g:597:2: ( 'live:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:597:4: 'live:' + // /Users/bion/projects/iordache/translator/pnscript.g:601:2: ( 'live:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:601:4: 'live:' { MATCHS(lit_25); if (HASEXCEPTION()) @@ -2241,7 +2241,7 @@ } // $ANTLR end LIVE -// Comes from: 598:5: ( 'all' | 'All' | 'ALL' ) +// Comes from: 602:5: ( 'all' | 'All' | 'ALL' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start ALL @@ -2262,7 +2262,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:598:5: ( 'all' | 'All' | 'ALL' ) + // /Users/bion/projects/iordache/translator/pnscript.g:602:5: ( 'all' | 'All' | 'ALL' ) ANTLR3_UINT32 alt5; @@ -2318,7 +2318,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:598:7: 'all' + // /Users/bion/projects/iordache/translator/pnscript.g:602:7: 'all' { MATCHS(lit_26); if (HASEXCEPTION()) @@ -2331,7 +2331,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:598:13: 'All' + // /Users/bion/projects/iordache/translator/pnscript.g:602:13: 'All' { MATCHS(lit_27); if (HASEXCEPTION()) @@ -2344,7 +2344,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:598:19: 'ALL' + // /Users/bion/projects/iordache/translator/pnscript.g:602:19: 'ALL' { MATCHS(lit_28); if (HASEXCEPTION()) @@ -2369,7 +2369,7 @@ } // $ANTLR end ALL -// Comes from: 600:2: ( 'uncontrollable: ' ) +// Comes from: 604:2: ( 'uncontrollable: ' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start UNCONTROL @@ -2389,8 +2389,8 @@ _type = UNCONTROL; - // /Users/bion/projects/iordache/translator/pnscript.g:600:2: ( 'uncontrollable: ' ) - // /Users/bion/projects/iordache/translator/pnscript.g:600:4: 'uncontrollable: ' + // /Users/bion/projects/iordache/translator/pnscript.g:604:2: ( 'uncontrollable: ' ) + // /Users/bion/projects/iordache/translator/pnscript.g:604:4: 'uncontrollable: ' { MATCHS(lit_29); if (HASEXCEPTION()) @@ -2412,7 +2412,7 @@ } // $ANTLR end UNCONTROL -// Comes from: 602:2: ( 'unobservable: ' ) +// Comes from: 606:2: ( 'unobservable: ' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start UNOBSERVE @@ -2432,8 +2432,8 @@ _type = UNOBSERVE; - // /Users/bion/projects/iordache/translator/pnscript.g:602:2: ( 'unobservable: ' ) - // /Users/bion/projects/iordache/translator/pnscript.g:602:4: 'unobservable: ' + // /Users/bion/projects/iordache/translator/pnscript.g:606:2: ( 'unobservable: ' ) + // /Users/bion/projects/iordache/translator/pnscript.g:606:4: 'unobservable: ' { MATCHS(lit_30); if (HASEXCEPTION()) @@ -2455,7 +2455,7 @@ } // $ANTLR end UNOBSERVE -// Comes from: 605:2: ( 'print' ) +// Comes from: 609:2: ( 'print' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PRINT @@ -2475,8 +2475,8 @@ _type = PRINT; - // /Users/bion/projects/iordache/translator/pnscript.g:605:2: ( 'print' ) - // /Users/bion/projects/iordache/translator/pnscript.g:605:4: 'print' + // /Users/bion/projects/iordache/translator/pnscript.g:609:2: ( 'print' ) + // /Users/bion/projects/iordache/translator/pnscript.g:609:4: 'print' { MATCHS(lit_31); if (HASEXCEPTION()) @@ -2498,7 +2498,7 @@ } // $ANTLR end PRINT -// Comes from: 610:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) +// Comes from: 614:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CODE_BLOCK @@ -2518,8 +2518,8 @@ _type = CODE_BLOCK; - // /Users/bion/projects/iordache/translator/pnscript.g:610:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) - // /Users/bion/projects/iordache/translator/pnscript.g:610:4: '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' + // /Users/bion/projects/iordache/translator/pnscript.g:614:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) + // /Users/bion/projects/iordache/translator/pnscript.g:614:4: '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' { MATCHC('{'); if (HASEXCEPTION()) @@ -2528,7 +2528,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:610:8: ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:614:8: ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* for (;;) { @@ -2554,9 +2554,9 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:610:10: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pnscript.g:614:10: CODE_BLOCK { - /* 610:10: CODE_BLOCK */ + /* 614:10: CODE_BLOCK */ mCODE_BLOCK(ctx ); if (HASEXCEPTION()) { @@ -2567,9 +2567,9 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:610:23: STRING + // /Users/bion/projects/iordache/translator/pnscript.g:614:23: STRING { - /* 610:23: STRING */ + /* 614:23: STRING */ mSTRING(ctx ); if (HASEXCEPTION()) { @@ -2580,7 +2580,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:610:32: ~ ( '{' | '}' | '\\\"' | '\\'' ) + // /Users/bion/projects/iordache/translator/pnscript.g:614:32: ~ ( '{' | '}' | '\\\"' | '\\'' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '&')) || ((LA(1) >= '(') && (LA(1) <= 'z')) || LA(1) == '|' || ((LA(1) >= '~') && (LA(1) <= 0xFFFF)) ) { @@ -2626,7 +2626,7 @@ } // $ANTLR end CODE_BLOCK -// Comes from: 613:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) +// Comes from: 617:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start STRING @@ -2647,7 +2647,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:613:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:617:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) ANTLR3_UINT32 alt9; @@ -2680,7 +2680,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:613:4: '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' + // /Users/bion/projects/iordache/translator/pnscript.g:617:4: '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' { MATCHC('\''); if (HASEXCEPTION()) @@ -2689,7 +2689,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:613:9: ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:617:9: ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* for (;;) { @@ -2711,9 +2711,9 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:613:10: CHAR_ESC + // /Users/bion/projects/iordache/translator/pnscript.g:617:10: CHAR_ESC { - /* 613:10: CHAR_ESC */ + /* 617:10: CHAR_ESC */ mCHAR_ESC(ctx ); if (HASEXCEPTION()) { @@ -2724,7 +2724,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:613:19: ~ ( '\\\\' | '\\'' ) + // /Users/bion/projects/iordache/translator/pnscript.g:617:19: ~ ( '\\\\' | '\\'' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '&')) || ((LA(1) >= '(') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) ) { @@ -2761,7 +2761,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:614:4: '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' + // /Users/bion/projects/iordache/translator/pnscript.g:618:4: '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' { MATCHC('\"'); if (HASEXCEPTION()) @@ -2770,7 +2770,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:614:9: ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:618:9: ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* for (;;) { @@ -2792,9 +2792,9 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:614:10: CHAR_ESC + // /Users/bion/projects/iordache/translator/pnscript.g:618:10: CHAR_ESC { - /* 614:10: CHAR_ESC */ + /* 618:10: CHAR_ESC */ mCHAR_ESC(ctx ); if (HASEXCEPTION()) { @@ -2805,7 +2805,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:614:19: ~ ( '\\\\' | '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:618:19: ~ ( '\\\\' | '\\\"' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) ) { @@ -2854,7 +2854,7 @@ } // $ANTLR end STRING -// Comes from: 616:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) +// Comes from: 620:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CHAR_ESC @@ -2875,7 +2875,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:616:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) + // /Users/bion/projects/iordache/translator/pnscript.g:620:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) ANTLR3_UINT32 alt10; @@ -2931,7 +2931,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:616:4: '\\\\\\'' + // /Users/bion/projects/iordache/translator/pnscript.g:620:4: '\\\\\\'' { MATCHS(lit_32); if (HASEXCEPTION()) @@ -2944,7 +2944,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:617:4: '\\\\\\\"' + // /Users/bion/projects/iordache/translator/pnscript.g:621:4: '\\\\\\\"' { MATCHS(lit_33); if (HASEXCEPTION()) @@ -2957,7 +2957,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:618:4: '\\\\' ~ ( '\\'' | '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:622:4: '\\\\' ~ ( '\\'' | '\\\"' ) { MATCHC('\\'); if (HASEXCEPTION()) @@ -2995,7 +2995,7 @@ } // $ANTLR end CHAR_ESC -// Comes from: 621:2: ( '.' ) +// Comes from: 625:2: ( '.' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start DOT @@ -3015,8 +3015,8 @@ _type = DOT; - // /Users/bion/projects/iordache/translator/pnscript.g:621:2: ( '.' ) - // /Users/bion/projects/iordache/translator/pnscript.g:621:4: '.' + // /Users/bion/projects/iordache/translator/pnscript.g:625:2: ( '.' ) + // /Users/bion/projects/iordache/translator/pnscript.g:625:4: '.' { MATCHC('.'); if (HASEXCEPTION()) @@ -3037,7 +3037,7 @@ } // $ANTLR end DOT -// Comes from: 623:2: ( '+' ) +// Comes from: 627:2: ( '+' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PLUS @@ -3057,8 +3057,8 @@ _type = PLUS; - // /Users/bion/projects/iordache/translator/pnscript.g:623:2: ( '+' ) - // /Users/bion/projects/iordache/translator/pnscript.g:623:4: '+' + // /Users/bion/projects/iordache/translator/pnscript.g:627:2: ( '+' ) + // /Users/bion/projects/iordache/translator/pnscript.g:627:4: '+' { MATCHC('+'); if (HASEXCEPTION()) @@ -3079,7 +3079,7 @@ } // $ANTLR end PLUS -// Comes from: 625:2: ( '-' ) +// Comes from: 629:2: ( '-' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start MINUS @@ -3099,8 +3099,8 @@ _type = MINUS; - // /Users/bion/projects/iordache/translator/pnscript.g:625:2: ( '-' ) - // /Users/bion/projects/iordache/translator/pnscript.g:625:4: '-' + // /Users/bion/projects/iordache/translator/pnscript.g:629:2: ( '-' ) + // /Users/bion/projects/iordache/translator/pnscript.g:629:4: '-' { MATCHC('-'); if (HASEXCEPTION()) @@ -3121,7 +3121,7 @@ } // $ANTLR end MINUS -// Comes from: 627:2: ( ( '0' .. '9' )+ ) +// Comes from: 631:2: ( ( '0' .. '9' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start INT @@ -3141,10 +3141,10 @@ _type = INT; - // /Users/bion/projects/iordache/translator/pnscript.g:627:2: ( ( '0' .. '9' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:627:5: ( '0' .. '9' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:631:2: ( ( '0' .. '9' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:631:5: ( '0' .. '9' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:627:5: ( '0' .. '9' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:631:5: ( '0' .. '9' )+ { int cnt11=0; @@ -3164,7 +3164,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:627:5: '0' .. '9' + // /Users/bion/projects/iordache/translator/pnscript.g:631:5: '0' .. '9' { MATCHRANGE('0', '9'); if (HASEXCEPTION()) @@ -3208,7 +3208,7 @@ } // $ANTLR end INT -// Comes from: 629:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) +// Comes from: 633:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start ID @@ -3228,8 +3228,8 @@ _type = ID; - // /Users/bion/projects/iordache/translator/pnscript.g:629:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) - // /Users/bion/projects/iordache/translator/pnscript.g:629:4: ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* + // /Users/bion/projects/iordache/translator/pnscript.g:633:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) + // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* { if ( ((LA(1) >= 'A') && (LA(1) <= 'Z')) || ((LA(1) >= 'a') && (LA(1) <= 'z')) ) { @@ -3246,7 +3246,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:629:24: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* + // /Users/bion/projects/iordache/translator/pnscript.g:633:24: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* for (;;) { @@ -3304,7 +3304,7 @@ } // $ANTLR end ID -// Comes from: 633:2: ( ( ';' )+ ) +// Comes from: 637:2: ( ( ';' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SEMICOLON @@ -3324,10 +3324,10 @@ _type = SEMICOLON; - // /Users/bion/projects/iordache/translator/pnscript.g:633:2: ( ( ';' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ( ';' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:637:2: ( ( ';' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:637:4: ( ';' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ( ';' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:637:4: ( ';' )+ { int cnt13=0; @@ -3347,7 +3347,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ';' + // /Users/bion/projects/iordache/translator/pnscript.g:637:4: ';' { MATCHC(';'); if (HASEXCEPTION()) @@ -3391,7 +3391,7 @@ } // $ANTLR end SEMICOLON -// Comes from: 637:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) +// Comes from: 641:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start WS @@ -3411,10 +3411,10 @@ _type = WS; - // /Users/bion/projects/iordache/translator/pnscript.g:637:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:637:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:641:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:641:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:637:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:641:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ { int cnt14=0; @@ -3489,7 +3489,7 @@ } // $ANTLR end WS -// Comes from: 640:2: ( '//' ( . )* '\\n' ) +// Comes from: 644:2: ( '//' ( . )* '\\n' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start COMMENT @@ -3509,8 +3509,8 @@ _type = COMMENT; - // /Users/bion/projects/iordache/translator/pnscript.g:640:2: ( '//' ( . )* '\\n' ) - // /Users/bion/projects/iordache/translator/pnscript.g:640:5: '//' ( . )* '\\n' + // /Users/bion/projects/iordache/translator/pnscript.g:644:2: ( '//' ( . )* '\\n' ) + // /Users/bion/projects/iordache/translator/pnscript.g:644:5: '//' ( . )* '\\n' { MATCHS(lit_34); if (HASEXCEPTION()) @@ -3520,7 +3520,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:640:10: ( . )* + // /Users/bion/projects/iordache/translator/pnscript.g:644:10: ( . )* for (;;) { @@ -3542,7 +3542,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:640:10: . + // /Users/bion/projects/iordache/translator/pnscript.g:644:10: . { MATCHANY(); if (HASEXCEPTION()) @@ -3583,7 +3583,7 @@ } // $ANTLR end COMMENT -// Comes from: 643:2: ( '/*' ( . )* '*/' ) +// Comes from: 647:2: ( '/*' ( . )* '*/' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start BLOCK_COMMENT @@ -3603,8 +3603,8 @@ _type = BLOCK_COMMENT; - // /Users/bion/projects/iordache/translator/pnscript.g:643:2: ( '/*' ( . )* '*/' ) - // /Users/bion/projects/iordache/translator/pnscript.g:643:5: '/*' ( . )* '*/' + // /Users/bion/projects/iordache/translator/pnscript.g:647:2: ( '/*' ( . )* '*/' ) + // /Users/bion/projects/iordache/translator/pnscript.g:647:5: '/*' ( . )* '*/' { MATCHS(lit_35); if (HASEXCEPTION()) @@ -3614,7 +3614,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:643:10: ( . )* + // /Users/bion/projects/iordache/translator/pnscript.g:647:10: ( . )* for (;;) { @@ -3649,7 +3649,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:643:10: . + // /Users/bion/projects/iordache/translator/pnscript.g:647:10: . { MATCHANY(); if (HASEXCEPTION()) Modified: translator/pnscriptLexer.h =================================================================== --- translator/pnscriptLexer.h 2009-07-07 03:00:22 UTC (rev 176) +++ translator/pnscriptLexer.h 2009-07-07 03:48:56 UTC (rev 177) @@ -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/pnscript.g - * - On : 2009-07-06 21:52:27 + * - On : 2009-07-06 22:46:36 * - for the lexer : pnscriptLexerLexer * * Editing it, at least manually, is not wise. * Modified: translator/pnscriptParser.c =================================================================== --- translator/pnscriptParser.c 2009-07-07 03:00:22 UTC (rev 176) +++ translator/pnscriptParser.c 2009-07-07 03:48:56 UTC (rev 177) @@ -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/pnscript.g - * - On : 2009-07-06 21:52:26 + * - On : 2009-07-06 22:46:35 * - for the parser : pnscriptParserParser * * Editing it, at least manually, is not wise. * @@ -607,6 +607,7 @@ static pnscriptParser_nondeterm_return nondeterm (ppnscriptParser ctx); static pnscriptParser_proc_instantiations_return proc_instantiations (ppnscriptParser ctx); static pnscriptParser_proc_init_return proc_init (ppnscriptParser ctx); +static pnscriptParser_proc_init_helper_return proc_init_helper (ppnscriptParser ctx, char* proc); static pnscriptParser_sync_def_return sync_def (ppnscriptParser ctx); static pnscriptParser_proc_start_return proc_start (ppnscriptParser ctx); static pnscriptParser_numbered_ID_return numbered_ID (ppnscriptParser ctx, ASSOC_ARRAY* places, pANTLR3_STRING name); @@ -709,6 +710,7 @@ ctx->nondeterm = nondeterm; ctx->proc_instantiations = proc_instantiations; ctx->proc_init = proc_init; + ctx->proc_init_helper = proc_init_helper; ctx->sync_def = sync_def; ctx->proc_start = proc_start; ctx->numbered_ID = numbered_ID; @@ -1066,201 +1068,204 @@ /** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_proc_instantiations610 */ static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_proc_instantiations610_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_proc_instantiations610 = { FOLLOW_SEMICOLON_in_proc_instantiations610_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init627 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init627_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init627 = { FOLLOW_ID_in_proc_init627_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init632 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init632_bits[] = { ANTLR3_UINT64_LIT(0x0000100000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init632 = { FOLLOW_ID_in_proc_init632_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_proc_init637 */ -static ANTLR3_BITWORD FOLLOW_44_in_proc_init637_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_44_in_proc_init637 = { FOLLOW_44_in_proc_init637_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init641 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init641_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init641 = { FOLLOW_numbered_ID_in_proc_init641_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_proc_init645 */ -static ANTLR3_BITWORD FOLLOW_45_in_proc_init645_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_45_in_proc_init645 = { FOLLOW_45_in_proc_init645_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init649 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init649_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init649 = { FOLLOW_numbered_ID_in_proc_init649_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_46_in_proc_init654 */ -static ANTLR3_BITWORD FOLLOW_46_in_proc_init654_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_46_in_proc_init654 = { FOLLOW_46_in_proc_init654_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def679 */ -static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def679_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def679 = { FOLLOW_SYNC_TOK_in_sync_def679_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def682 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def682_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def682 = { FOLLOW_group_elements_in_sync_def682_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start704 */ -static ANTLR3_BITWORD FOLLOW_START_in_proc_start704_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start704 = { FOLLOW_START_in_proc_start704_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start708 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_start708_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start708 = { FOLLOW_ID_in_proc_start708_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID722 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID722_bits[] = { ANTLR3_UINT64_LIT(0x0000040000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID722 = { FOLLOW_ID_in_numbered_ID722_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_numbered_ID727 */ -static ANTLR3_BITWORD FOLLOW_42_in_numbered_ID727_bits[] = { ANTLR3_UINT64_LIT(0x0000000002000000) }; -static ANTLR3_BITSET_LIST FOLLOW_42_in_numbered_ID727 = { FOLLOW_42_in_numbered_ID727_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID728 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID728_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID728 = { FOLLOW_INT_in_numbered_ID728_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints758 */ -static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints758_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints758 = { FOLLOW_constraint_block_in_constraints758_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints763 */ -static ANTLR3_BITWORD FOLLOW_eq_in_constraints763_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints763 = { FOLLOW_eq_in_constraints763_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraints765 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraints765_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraints765 = { FOLLOW_SEMICOLON_in_constraints765_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints769 */ -static ANTLR3_BITWORD FOLLOW_live_def_in_constraints769_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints769 = { FOLLOW_live_def_in_constraints769_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints771 */ -static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints771_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints771 = { FOLLOW_uncontrol_in_constraints771_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints773 */ -static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints773_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints773 = { FOLLOW_unobserve_in_constraints773_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block783 */ -static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block783_bits[] = { ANTLR3_UINT64_LIT(0x0000000004000000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block783 = { FOLLOW_ID_in_constraint_block783_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINTS_in_constraint_block787 */ -static ANTLR3_BITWORD FOLLOW_CONSTRAINTS_in_constraint_block787_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) }; -static ANTLR3_BITSET_LIST FOLLOW_CONSTRAINTS_in_constraint_block787 = { FOLLOW_CONSTRAINTS_in_constraint_block787_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraint_block789 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraint_block789_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraint_block789 = { FOLLOW_SEMICOLON_in_constraint_block789_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq805 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq805_bits[] = { ANTLR3_UINT64_LIT(0x0000000018000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq805 = { FOLLOW_relationalExpression_in_eq805_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq808 */ -static ANTLR3_BITWORD FOLLOW_set_in_eq808_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_eq808 = { FOLLOW_set_in_eq808_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq815 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq815_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq815 = { FOLLOW_relationalExpression_in_eq815_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression831 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression831_bits[] = { ANTLR3_UINT64_LIT(0x0000000020000002) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression831 = { FOLLOW_additiveExpression_in_relationalExpression831_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression834 */ -static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression834_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression834 = { FOLLOW_EQ_OP_in_relationalExpression834_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init620 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init620_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init620 = { FOLLOW_ID_in_proc_init620_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_proc_init_helper_in_proc_init623 */ +static ANTLR3_BITWORD FOLLOW_proc_init_helper_in_proc_init623_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; +static ANTLR3_BITSET_LIST FOLLOW_proc_init_helper_in_proc_init623 = { FOLLOW_proc_init_helper_in_proc_init623_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init_helper641 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_init_helper641_bits[] = { ANTLR3_UINT64_LIT(0x0000100000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init_helper641 = { FOLLOW_ID_in_proc_init_helper641_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_proc_init_helper646 */ +static ANTLR3_BITWORD FOLLOW_44_in_proc_init_helper646_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; +static ANTLR3_BITSET_LIST FOLLOW_44_in_proc_init_helper646 = { FOLLOW_44_in_proc_init_helper646_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init_helper650 */ +static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init_helper650_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; +static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init_helper650 = { FOLLOW_numbered_ID_in_proc_init_helper650_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_proc_init_helper654 */ +static ANTLR3_BITWORD FOLLOW_45_in_proc_init_helper654_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; +static ANTLR3_BITSET_LIST FOLLOW_45_in_proc_init_helper654 = { FOLLOW_45_in_proc_init_helper654_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init_helper658 */ +static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init_helper658_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; +static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init_helper658 = { FOLLOW_numbered_ID_in_proc_init_helper658_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_46_in_proc_init_helper663 */ +static ANTLR3_BITWORD FOLLOW_46_in_proc_init_helper663_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_46_in_proc_init_helper663 = { FOLLOW_46_in_proc_init_helper663_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def685 */ +static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def685_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; +static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def685 = { FOLLOW_SYNC_TOK_in_sync_def685_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def688 */ +static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def688_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; +static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def688 = { FOLLOW_group_elements_in_sync_def688_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start710 */ +static ANTLR3_BITWORD FOLLOW_START_in_proc_start710_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; +static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start710 = { FOLLOW_START_in_proc_start710_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start714 */ +static ANTLR3_BITWORD FOLLOW_ID_in_proc_start714_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start714 = { FOLLOW_ID_in_proc_start714_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID728 */ +static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID728_bits[] = { ANTLR3_UINT64_LIT(0x0000040000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID728 = { FOLLOW_ID_in_numbered_ID728_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_numbered_ID733 */ +static ANTLR3_BITWORD FOLLOW_42_in_numbered_ID733_bits[] = { ANTLR3_UINT64_LIT(0x0000000002000000) }; +static ANTLR3_BITSET_LIST FOLLOW_42_in_numbered_ID733 = { FOLLOW_42_in_numbered_ID733_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID734 */ +static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID734_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID734 = { FOLLOW_INT_in_numbered_ID734_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints764 */ +static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints764_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; +static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints764 = { FOLLOW_constraint_block_in_constraints764_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints769 */ +static ANTLR3_BITWORD FOLLOW_eq_in_constraints769_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001000) }; +static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints769 = { FOLLOW_eq_in_constraints769_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraints771 */ +static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraints771_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; +static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraints771 = { FOLLOW_SEMICOLON_in_constraints771_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints775 */ +static ANTLR3_BITWORD FOLLOW_live_def_in_constraints775_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; +static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints775 = { FOLLOW_live_def_in_constraints775_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints777 */ +static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints777_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; +static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints777 = { FOLLOW_uncontrol_in_constraints777_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints779 */ +static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints779_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; +static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints779 = { FOLLOW_unobserve_in_constraints779_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block789 */ +static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block789_bits[] = { ANTLR3_UINT64_LIT(0x0000000004000000) }; +static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block789 = { FOLLOW_ID_in_constraint_block789_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINTS_in_constraint_block793 */ +static ANTLR3_BITWORD FOLLOW_CONSTRAINTS_in_constraint_block793_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) }; +static ANTLR3_BITSET_LIST FOLLOW_CONSTRAINTS_in_constraint_block793 = { FOLLOW_CONSTRAINTS_in_constraint_block793_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraint_block795 */ +static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraint_block795_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraint_block795 = { FOLLOW_SEMICOLON_in_constraint_block795_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq811 */ +static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq811_bits[] = { ANTLR3_UINT64_LIT(0x0000000018000002) }; +static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq811 = { FOLLOW_relationalExpression_in_eq811_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq814 */ +static ANTLR3_BITWORD FOLLOW_set_in_eq814_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; +static ANTLR3_BITSET_LIST FOLLOW_set_in_eq814 = { FOLLOW_set_in_eq814_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq821 */ +static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq821_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; +static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq821 = { FOLLOW_relationalExpression_in_eq821_bits, 1 }; /** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression837 */ static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression837_bits[] = { ANTLR3_UINT64_LIT(0x0000000020000002) }; static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression837 = { FOLLOW_additiveExpression_in_relationalExpression837_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression848 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression848_bits[] = { ANTLR3_UINT64_LIT(0x00000000C0000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression848 = { FOLLOW_primary_in_additiveExpression848_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_additiveExpression851 */ -static ANTLR3_BITWORD FOLLOW_set_in_additiveExpression851_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_additiveExpression851 = { FOLLOW_set_in_additiveExpression851_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression858 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression858_bits[] = { ANTLR3_UINT64_LIT(0x00000000C0000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression858 = { FOLLOW_primary_in_additiveExpression858_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_primary874 */ -static ANTLR3_BITWORD FOLLOW_44_in_primary874_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_44_in_primary874 = { FOLLOW_44_in_primary874_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary877 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary877_bits[] = { ANTLR3_UINT64_LIT(0x0000400000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary877 = { FOLLOW_eq_in_primary877_bits, 1 }; -/** Bitset de... [truncated message content] |
From: <the...@us...> - 2009-07-07 03:00:30
|
Revision: 176 http://pntool.svn.sourceforge.net/pntool/?rev=176&view=rev Author: thecodeweasel Date: 2009-07-07 03:00:22 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Allowing multiple threads (processes, process instances, however you refer to them) to be declared on a single line. Example: WRITER writer1(p) w_group(p:2); Modified Paths: -------------- translator/docs/test.txt translator/pnscript.g translator/pnscriptLexer.c translator/pnscriptLexer.h translator/pnscriptParser.c translator/pnscriptParser.h Modified: translator/docs/test.txt =================================================================== --- translator/docs/test.txt 2009-07-07 02:56:50 UTC (rev 175) +++ translator/docs/test.txt 2009-07-07 03:00:22 UTC (rev 176) @@ -54,8 +54,7 @@ //################################################ READER r_group(p1:2, p3:1); READER reader1(p1b); -WRITER writer1(p); -WRITER w_group(p:2); +WRITER writer1(p) w_group(p:2); ARBITER arbiter(p1); //------------------------------------------------ sync reader1.t1 arbiter.t1; Modified: translator/pnscript.g =================================================================== --- translator/pnscript.g 2009-07-07 02:56:50 UTC (rev 175) +++ translator/pnscript.g 2009-07-07 03:00:22 UTC (rev 176) @@ -336,7 +336,7 @@ void** list; ASSOC_ARRAY* places; } - : proc=ID name=ID { + : proc=ID (name=ID { if(0 == strcasecmp((char*) $name.text->chars, (char*) "global")) { fprintf(stderr, "ERROR: Sorry, you cannot name a thread \"\%s\".\n", $name.text->chars); FAIL_AT($name); @@ -346,25 +346,11 @@ fprintf(stderr, "ERROR: You didn't declare a process type \%s...?\n", (char*) $proc.text->chars); FAIL_AT($proc); } - //when processes gets cleaned up by the ANTLR libraries, this list pointer will get - //deallocated. Really, it will. Don't try to free it here, because you can't free memory twice - threads->add(threads, (char*) $name.text->chars, list, NULL); - } -> $name - | proc=ID name=ID { - if(0 == strcasecmp((char*) $name.text->chars, (char*) "global")) { - fprintf(stderr, "ERROR: Sorry, you cannot name a thread \"\%s\".\n", $name.text->chars); - FAIL_AT($name); - } - list = copy_list((void**) processes->get(processes, (char*) $proc.text->chars)); - if(list == NULL) { - fprintf(stderr, "ERROR: You didn't declare a process type \%s...?\n", (char*) $proc.text->chars); - FAIL_AT($proc); - } places = (ASSOC_ARRAY*) list[kPLACES]; //when processes gets cleaned up by the ANTLR libraries, this list pointer will get //deallocated. Really, it will. Don't try to free it here, because you can't free memory twice threads->add(threads, (char*) $name.text->chars, list, NULL); - } '(' ids+=numbered_ID[places, $name.text] (',' ids+=numbered_ID[places, $name.text])* ')' -> ^($name $ids+); + } ('(' ids+=numbered_ID[places, $name.text] (',' ids+=numbered_ID[places, $name.text])* ')')?)+ -> ^($name $ids*)+; sync_def : SYNC_TOK (group_elements { int size; Modified: translator/pnscriptLexer.c =================================================================== --- translator/pnscriptLexer.c 2009-07-07 02:56:50 UTC (rev 175) +++ translator/pnscriptLexer.c 2009-07-07 03:00:22 UTC (rev 176) @@ -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/pnscript.g - * - On : 2009-07-05 23:45:09 + * - On : 2009-07-06 21:52:27 * - for the lexer : pnscriptLexerLexer * * Editing it, at least manually, is not wise. * @@ -1295,7 +1295,7 @@ } // $ANTLR end T__48 -// Comes from: 576:2: ( 'extern' ) +// Comes from: 562:2: ( 'extern' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start EXTERN @@ -1315,8 +1315,8 @@ _type = EXTERN; - // /Users/bion/projects/iordache/translator/pnscript.g:576:2: ( 'extern' ) - // /Users/bion/projects/iordache/translator/pnscript.g:576:4: 'extern' + // /Users/bion/projects/iordache/translator/pnscript.g:562:2: ( 'extern' ) + // /Users/bion/projects/iordache/translator/pnscript.g:562:4: 'extern' { MATCHS(lit_4); if (HASEXCEPTION()) @@ -1338,7 +1338,7 @@ } // $ANTLR end EXTERN -// Comes from: 578:2: ( 'process' ( 'type' )? ) +// Comes from: 564:2: ( 'process' ( 'type' )? ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PROCESS @@ -1358,8 +1358,8 @@ _type = PROCESS; - // /Users/bion/projects/iordache/translator/pnscript.g:578:2: ( 'process' ( 'type' )? ) - // /Users/bion/projects/iordache/translator/pnscript.g:578:4: 'process' ( 'type' )? + // /Users/bion/projects/iordache/translator/pnscript.g:564:2: ( 'process' ( 'type' )? ) + // /Users/bion/projects/iordache/translator/pnscript.g:564:4: 'process' ( 'type' )? { MATCHS(lit_5); if (HASEXCEPTION()) @@ -1369,7 +1369,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:578:14: ( 'type' )? + // /Users/bion/projects/iordache/translator/pnscript.g:564:14: ( 'type' )? { int alt1=2; { @@ -1382,7 +1382,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:578:14: 'type' + // /Users/bion/projects/iordache/translator/pnscript.g:564:14: 'type' { MATCHS(lit_6); if (HASEXCEPTION()) @@ -1410,7 +1410,7 @@ } // $ANTLR end PROCESS -// Comes from: 580:2: ( 'build' ':' ) +// Comes from: 566:2: ( 'build' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start BUILD @@ -1430,8 +1430,8 @@ _type = BUILD; - // /Users/bion/projects/iordache/translator/pnscript.g:580:2: ( 'build' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:580:4: 'build' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:566:2: ( 'build' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:566:4: 'build' ':' { MATCHS(lit_7); if (HASEXCEPTION()) @@ -1459,7 +1459,7 @@ } // $ANTLR end BUILD -// Comes from: 582:2: ( 'include' ':' ) +// Comes from: 568:2: ( 'include' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start INCLUDE @@ -1479,8 +1479,8 @@ _type = INCLUDE; - // /Users/bion/projects/iordache/translator/pnscript.g:582:2: ( 'include' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:582:4: 'include' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:568:2: ( 'include' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:568:4: 'include' ':' { MATCHS(lit_8); if (HASEXCEPTION()) @@ -1508,7 +1508,7 @@ } // $ANTLR end INCLUDE -// Comes from: 585:2: ( '.PN:' ) +// Comes from: 571:2: ( '.PN:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PNDEF @@ -1528,8 +1528,8 @@ _type = PNDEF; - // /Users/bion/projects/iordache/translator/pnscript.g:585:2: ( '.PN:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:585:4: '.PN:' + // /Users/bion/projects/iordache/translator/pnscript.g:571:2: ( '.PN:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:571:4: '.PN:' { MATCHS(lit_9); if (HASEXCEPTION()) @@ -1551,7 +1551,7 @@ } // $ANTLR end PNDEF -// Comes from: 587:2: ( 'places' ':' ) +// Comes from: 573:2: ( 'places' ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PLACES @@ -1571,8 +1571,8 @@ _type = PLACES; - // /Users/bion/projects/iordache/translator/pnscript.g:587:2: ( 'places' ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:587:4: 'places' ':' + // /Users/bion/projects/iordache/translator/pnscript.g:573:2: ( 'places' ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:573:4: 'places' ':' { MATCHS(lit_10); if (HASEXCEPTION()) @@ -1600,7 +1600,7 @@ } // $ANTLR end PLACES -// Comes from: 589:2: ( 'trans' ( 'itions' )? ':' ) +// Comes from: 575:2: ( 'trans' ( 'itions' )? ':' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start TRANS @@ -1620,8 +1620,8 @@ _type = TRANS; - // /Users/bion/projects/iordache/translator/pnscript.g:589:2: ( 'trans' ( 'itions' )? ':' ) - // /Users/bion/projects/iordache/translator/pnscript.g:589:4: 'trans' ( 'itions' )? ':' + // /Users/bion/projects/iordache/translator/pnscript.g:575:2: ( 'trans' ( 'itions' )? ':' ) + // /Users/bion/projects/iordache/translator/pnscript.g:575:4: 'trans' ( 'itions' )? ':' { MATCHS(lit_11); if (HASEXCEPTION()) @@ -1631,7 +1631,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:589:12: ( 'itions' )? + // /Users/bion/projects/iordache/translator/pnscript.g:575:12: ( 'itions' )? { int alt2=2; { @@ -1644,7 +1644,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:589:12: 'itions' + // /Users/bion/projects/iordache/translator/pnscript.g:575:12: 'itions' { MATCHS(lit_12); if (HASEXCEPTION()) @@ -1678,7 +1678,7 @@ } // $ANTLR end TRANS -// Comes from: 591:2: ( '.code:' ) +// Comes from: 577:2: ( '.code:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CODE @@ -1698,8 +1698,8 @@ _type = CODE; - // /Users/bion/projects/iordache/translator/pnscript.g:591:2: ( '.code:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:591:4: '.code:' + // /Users/bion/projects/iordache/translator/pnscript.g:577:2: ( '.code:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:577:4: '.code:' { MATCHS(lit_13); if (HASEXCEPTION()) @@ -1721,7 +1721,7 @@ } // $ANTLR end CODE -// Comes from: 593:2: ( 'select function' ) +// Comes from: 579:2: ( 'select function' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SELECT_DEF @@ -1741,8 +1741,8 @@ _type = SELECT_DEF; - // /Users/bion/projects/iordache/translator/pnscript.g:593:2: ( 'select function' ) - // /Users/bion/projects/iordache/translator/pnscript.g:593:4: 'select function' + // /Users/bion/projects/iordache/translator/pnscript.g:579:2: ( 'select function' ) + // /Users/bion/projects/iordache/translator/pnscript.g:579:4: 'select function' { MATCHS(lit_14); if (HASEXCEPTION()) @@ -1764,7 +1764,7 @@ } // $ANTLR end SELECT_DEF -// Comes from: 596:2: ( 'sync' ) +// Comes from: 582:2: ( 'sync' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SYNC_TOK @@ -1784,8 +1784,8 @@ _type = SYNC_TOK; - // /Users/bion/projects/iordache/translator/pnscript.g:596:2: ( 'sync' ) - // /Users/bion/projects/iordache/translator/pnscript.g:596:4: 'sync' + // /Users/bion/projects/iordache/translator/pnscript.g:582:2: ( 'sync' ) + // /Users/bion/projects/iordache/translator/pnscript.g:582:4: 'sync' { MATCHS(lit_15); if (HASEXCEPTION()) @@ -1807,7 +1807,7 @@ } // $ANTLR end SYNC_TOK -// Comes from: 598:2: ( 'start' ) +// Comes from: 584:2: ( 'start' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start START @@ -1827,8 +1827,8 @@ _type = START; - // /Users/bion/projects/iordache/translator/pnscript.g:598:2: ( 'start' ) - // /Users/bion/projects/iordache/translator/pnscript.g:598:4: 'start' + // /Users/bion/projects/iordache/translator/pnscript.g:584:2: ( 'start' ) + // /Users/bion/projects/iordache/translator/pnscript.g:584:4: 'start' { MATCHS(lit_16); if (HASEXCEPTION()) @@ -1850,7 +1850,7 @@ } // $ANTLR end START -// Comes from: 601:2: ( '.constraints:' ) +// Comes from: 587:2: ( '.constraints:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CONSTRAINTS @@ -1870,8 +1870,8 @@ _type = CONSTRAINTS; - // /Users/bion/projects/iordache/translator/pnscript.g:601:2: ( '.constraints:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:601:4: '.constraints:' + // /Users/bion/projects/iordache/translator/pnscript.g:587:2: ( '.constraints:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:587:4: '.constraints:' { MATCHS(lit_17); if (HASEXCEPTION()) @@ -1893,7 +1893,7 @@ } // $ANTLR end CONSTRAINTS -// Comes from: 603:2: ( '&&' | 'and' | 'AND' ) +// Comes from: 589:2: ( '&&' | 'and' | 'AND' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start AND_OP @@ -1914,7 +1914,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:603:2: ( '&&' | 'and' | 'AND' ) + // /Users/bion/projects/iordache/translator/pnscript.g:589:2: ( '&&' | 'and' | 'AND' ) ANTLR3_UINT32 alt3; @@ -1952,7 +1952,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:603:4: '&&' + // /Users/bion/projects/iordache/translator/pnscript.g:589:4: '&&' { MATCHS(lit_18); if (HASEXCEPTION()) @@ -1965,7 +1965,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:603:9: 'and' + // /Users/bion/projects/iordache/translator/pnscript.g:589:9: 'and' { MATCHS(lit_19); if (HASEXCEPTION()) @@ -1978,7 +1978,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:603:15: 'AND' + // /Users/bion/projects/iordache/translator/pnscript.g:589:15: 'AND' { MATCHS(lit_20); if (HASEXCEPTION()) @@ -2003,7 +2003,7 @@ } // $ANTLR end AND_OP -// Comes from: 605:2: ( '||' | 'or' | 'OR' ) +// Comes from: 591:2: ( '||' | 'or' | 'OR' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start OR_OP @@ -2024,7 +2024,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:605:2: ( '||' | 'or' | 'OR' ) + // /Users/bion/projects/iordache/translator/pnscript.g:591:2: ( '||' | 'or' | 'OR' ) ANTLR3_UINT32 alt4; @@ -2062,7 +2062,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:605:4: '||' + // /Users/bion/projects/iordache/translator/pnscript.g:591:4: '||' { MATCHS(lit_21); if (HASEXCEPTION()) @@ -2075,7 +2075,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:605:9: 'or' + // /Users/bion/projects/iordache/translator/pnscript.g:591:9: 'or' { MATCHS(lit_22); if (HASEXCEPTION()) @@ -2088,7 +2088,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:605:14: 'OR' + // /Users/bion/projects/iordache/translator/pnscript.g:591:14: 'OR' { MATCHS(lit_23); if (HASEXCEPTION()) @@ -2113,7 +2113,7 @@ } // $ANTLR end OR_OP -// Comes from: 607:2: ( '<=' ) +// Comes from: 593:2: ( '<=' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start EQ_OP @@ -2133,8 +2133,8 @@ _type = EQ_OP; - // /Users/bion/projects/iordache/translator/pnscript.g:607:2: ( '<=' ) - // /Users/bion/projects/iordache/translator/pnscript.g:607:4: '<=' + // /Users/bion/projects/iordache/translator/pnscript.g:593:2: ( '<=' ) + // /Users/bion/projects/iordache/translator/pnscript.g:593:4: '<=' { MATCHS(lit_24); if (HASEXCEPTION()) @@ -2156,7 +2156,7 @@ } // $ANTLR end EQ_OP -// Comes from: 609:2: ( '*' ) +// Comes from: 595:2: ( '*' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start MULT @@ -2176,8 +2176,8 @@ _type = MULT; - // /Users/bion/projects/iordache/translator/pnscript.g:609:2: ( '*' ) - // /Users/bion/projects/iordache/translator/pnscript.g:609:4: '*' + // /Users/bion/projects/iordache/translator/pnscript.g:595:2: ( '*' ) + // /Users/bion/projects/iordache/translator/pnscript.g:595:4: '*' { MATCHC('*'); if (HASEXCEPTION()) @@ -2198,7 +2198,7 @@ } // $ANTLR end MULT -// Comes from: 611:2: ( 'live:' ) +// Comes from: 597:2: ( 'live:' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start LIVE @@ -2218,8 +2218,8 @@ _type = LIVE; - // /Users/bion/projects/iordache/translator/pnscript.g:611:2: ( 'live:' ) - // /Users/bion/projects/iordache/translator/pnscript.g:611:4: 'live:' + // /Users/bion/projects/iordache/translator/pnscript.g:597:2: ( 'live:' ) + // /Users/bion/projects/iordache/translator/pnscript.g:597:4: 'live:' { MATCHS(lit_25); if (HASEXCEPTION()) @@ -2241,7 +2241,7 @@ } // $ANTLR end LIVE -// Comes from: 612:5: ( 'all' | 'All' | 'ALL' ) +// Comes from: 598:5: ( 'all' | 'All' | 'ALL' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start ALL @@ -2262,7 +2262,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:612:5: ( 'all' | 'All' | 'ALL' ) + // /Users/bion/projects/iordache/translator/pnscript.g:598:5: ( 'all' | 'All' | 'ALL' ) ANTLR3_UINT32 alt5; @@ -2318,7 +2318,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:612:7: 'all' + // /Users/bion/projects/iordache/translator/pnscript.g:598:7: 'all' { MATCHS(lit_26); if (HASEXCEPTION()) @@ -2331,7 +2331,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:612:13: 'All' + // /Users/bion/projects/iordache/translator/pnscript.g:598:13: 'All' { MATCHS(lit_27); if (HASEXCEPTION()) @@ -2344,7 +2344,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:612:19: 'ALL' + // /Users/bion/projects/iordache/translator/pnscript.g:598:19: 'ALL' { MATCHS(lit_28); if (HASEXCEPTION()) @@ -2369,7 +2369,7 @@ } // $ANTLR end ALL -// Comes from: 614:2: ( 'uncontrollable: ' ) +// Comes from: 600:2: ( 'uncontrollable: ' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start UNCONTROL @@ -2389,8 +2389,8 @@ _type = UNCONTROL; - // /Users/bion/projects/iordache/translator/pnscript.g:614:2: ( 'uncontrollable: ' ) - // /Users/bion/projects/iordache/translator/pnscript.g:614:4: 'uncontrollable: ' + // /Users/bion/projects/iordache/translator/pnscript.g:600:2: ( 'uncontrollable: ' ) + // /Users/bion/projects/iordache/translator/pnscript.g:600:4: 'uncontrollable: ' { MATCHS(lit_29); if (HASEXCEPTION()) @@ -2412,7 +2412,7 @@ } // $ANTLR end UNCONTROL -// Comes from: 616:2: ( 'unobservable: ' ) +// Comes from: 602:2: ( 'unobservable: ' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start UNOBSERVE @@ -2432,8 +2432,8 @@ _type = UNOBSERVE; - // /Users/bion/projects/iordache/translator/pnscript.g:616:2: ( 'unobservable: ' ) - // /Users/bion/projects/iordache/translator/pnscript.g:616:4: 'unobservable: ' + // /Users/bion/projects/iordache/translator/pnscript.g:602:2: ( 'unobservable: ' ) + // /Users/bion/projects/iordache/translator/pnscript.g:602:4: 'unobservable: ' { MATCHS(lit_30); if (HASEXCEPTION()) @@ -2455,7 +2455,7 @@ } // $ANTLR end UNOBSERVE -// Comes from: 619:2: ( 'print' ) +// Comes from: 605:2: ( 'print' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PRINT @@ -2475,8 +2475,8 @@ _type = PRINT; - // /Users/bion/projects/iordache/translator/pnscript.g:619:2: ( 'print' ) - // /Users/bion/projects/iordache/translator/pnscript.g:619:4: 'print' + // /Users/bion/projects/iordache/translator/pnscript.g:605:2: ( 'print' ) + // /Users/bion/projects/iordache/translator/pnscript.g:605:4: 'print' { MATCHS(lit_31); if (HASEXCEPTION()) @@ -2498,7 +2498,7 @@ } // $ANTLR end PRINT -// Comes from: 624:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) +// Comes from: 610:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CODE_BLOCK @@ -2518,8 +2518,8 @@ _type = CODE_BLOCK; - // /Users/bion/projects/iordache/translator/pnscript.g:624:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) - // /Users/bion/projects/iordache/translator/pnscript.g:624:4: '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' + // /Users/bion/projects/iordache/translator/pnscript.g:610:2: ( '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' ) + // /Users/bion/projects/iordache/translator/pnscript.g:610:4: '{' ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* '}' { MATCHC('{'); if (HASEXCEPTION()) @@ -2528,7 +2528,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:624:8: ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:610:8: ( CODE_BLOCK | STRING | ~ ( '{' | '}' | '\\\"' | '\\'' ) )* for (;;) { @@ -2554,9 +2554,9 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:624:10: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pnscript.g:610:10: CODE_BLOCK { - /* 624:10: CODE_BLOCK */ + /* 610:10: CODE_BLOCK */ mCODE_BLOCK(ctx ); if (HASEXCEPTION()) { @@ -2567,9 +2567,9 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:624:23: STRING + // /Users/bion/projects/iordache/translator/pnscript.g:610:23: STRING { - /* 624:23: STRING */ + /* 610:23: STRING */ mSTRING(ctx ); if (HASEXCEPTION()) { @@ -2580,7 +2580,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:624:32: ~ ( '{' | '}' | '\\\"' | '\\'' ) + // /Users/bion/projects/iordache/translator/pnscript.g:610:32: ~ ( '{' | '}' | '\\\"' | '\\'' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '&')) || ((LA(1) >= '(') && (LA(1) <= 'z')) || LA(1) == '|' || ((LA(1) >= '~') && (LA(1) <= 0xFFFF)) ) { @@ -2626,7 +2626,7 @@ } // $ANTLR end CODE_BLOCK -// Comes from: 627:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) +// Comes from: 613:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start STRING @@ -2647,7 +2647,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:627:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:613:2: ( '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' | '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' ) ANTLR3_UINT32 alt9; @@ -2680,7 +2680,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:627:4: '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' + // /Users/bion/projects/iordache/translator/pnscript.g:613:4: '\\'' ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* '\\'' { MATCHC('\''); if (HASEXCEPTION()) @@ -2689,7 +2689,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:627:9: ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:613:9: ( CHAR_ESC | ~ ( '\\\\' | '\\'' ) )* for (;;) { @@ -2711,9 +2711,9 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:627:10: CHAR_ESC + // /Users/bion/projects/iordache/translator/pnscript.g:613:10: CHAR_ESC { - /* 627:10: CHAR_ESC */ + /* 613:10: CHAR_ESC */ mCHAR_ESC(ctx ); if (HASEXCEPTION()) { @@ -2724,7 +2724,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:627:19: ~ ( '\\\\' | '\\'' ) + // /Users/bion/projects/iordache/translator/pnscript.g:613:19: ~ ( '\\\\' | '\\'' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '&')) || ((LA(1) >= '(') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) ) { @@ -2761,7 +2761,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:628:4: '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' + // /Users/bion/projects/iordache/translator/pnscript.g:614:4: '\\\"' ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* '\\\"' { MATCHC('\"'); if (HASEXCEPTION()) @@ -2770,7 +2770,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:628:9: ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* + // /Users/bion/projects/iordache/translator/pnscript.g:614:9: ( CHAR_ESC | ~ ( '\\\\' | '\\\"' ) )* for (;;) { @@ -2792,9 +2792,9 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:628:10: CHAR_ESC + // /Users/bion/projects/iordache/translator/pnscript.g:614:10: CHAR_ESC { - /* 628:10: CHAR_ESC */ + /* 614:10: CHAR_ESC */ mCHAR_ESC(ctx ); if (HASEXCEPTION()) { @@ -2805,7 +2805,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:628:19: ~ ( '\\\\' | '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:614:19: ~ ( '\\\\' | '\\\"' ) { if ( ((LA(1) >= 0x0000) && (LA(1) <= '!')) || ((LA(1) >= '#') && (LA(1) <= '[')) || ((LA(1) >= ']') && (LA(1) <= 0xFFFF)) ) { @@ -2854,7 +2854,7 @@ } // $ANTLR end STRING -// Comes from: 630:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) +// Comes from: 616:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start CHAR_ESC @@ -2875,7 +2875,7 @@ { - // /Users/bion/projects/iordache/translator/pnscript.g:630:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) + // /Users/bion/projects/iordache/translator/pnscript.g:616:2: ( '\\\\\\'' | '\\\\\\\"' | '\\\\' ~ ( '\\'' | '\\\"' ) ) ANTLR3_UINT32 alt10; @@ -2931,7 +2931,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:630:4: '\\\\\\'' + // /Users/bion/projects/iordache/translator/pnscript.g:616:4: '\\\\\\'' { MATCHS(lit_32); if (HASEXCEPTION()) @@ -2944,7 +2944,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pnscript.g:631:4: '\\\\\\\"' + // /Users/bion/projects/iordache/translator/pnscript.g:617:4: '\\\\\\\"' { MATCHS(lit_33); if (HASEXCEPTION()) @@ -2957,7 +2957,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pnscript.g:632:4: '\\\\' ~ ( '\\'' | '\\\"' ) + // /Users/bion/projects/iordache/translator/pnscript.g:618:4: '\\\\' ~ ( '\\'' | '\\\"' ) { MATCHC('\\'); if (HASEXCEPTION()) @@ -2995,7 +2995,7 @@ } // $ANTLR end CHAR_ESC -// Comes from: 635:2: ( '.' ) +// Comes from: 621:2: ( '.' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start DOT @@ -3015,8 +3015,8 @@ _type = DOT; - // /Users/bion/projects/iordache/translator/pnscript.g:635:2: ( '.' ) - // /Users/bion/projects/iordache/translator/pnscript.g:635:4: '.' + // /Users/bion/projects/iordache/translator/pnscript.g:621:2: ( '.' ) + // /Users/bion/projects/iordache/translator/pnscript.g:621:4: '.' { MATCHC('.'); if (HASEXCEPTION()) @@ -3037,7 +3037,7 @@ } // $ANTLR end DOT -// Comes from: 637:2: ( '+' ) +// Comes from: 623:2: ( '+' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start PLUS @@ -3057,8 +3057,8 @@ _type = PLUS; - // /Users/bion/projects/iordache/translator/pnscript.g:637:2: ( '+' ) - // /Users/bion/projects/iordache/translator/pnscript.g:637:4: '+' + // /Users/bion/projects/iordache/translator/pnscript.g:623:2: ( '+' ) + // /Users/bion/projects/iordache/translator/pnscript.g:623:4: '+' { MATCHC('+'); if (HASEXCEPTION()) @@ -3079,7 +3079,7 @@ } // $ANTLR end PLUS -// Comes from: 639:2: ( '-' ) +// Comes from: 625:2: ( '-' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start MINUS @@ -3099,8 +3099,8 @@ _type = MINUS; - // /Users/bion/projects/iordache/translator/pnscript.g:639:2: ( '-' ) - // /Users/bion/projects/iordache/translator/pnscript.g:639:4: '-' + // /Users/bion/projects/iordache/translator/pnscript.g:625:2: ( '-' ) + // /Users/bion/projects/iordache/translator/pnscript.g:625:4: '-' { MATCHC('-'); if (HASEXCEPTION()) @@ -3121,7 +3121,7 @@ } // $ANTLR end MINUS -// Comes from: 641:2: ( ( '0' .. '9' )+ ) +// Comes from: 627:2: ( ( '0' .. '9' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start INT @@ -3141,10 +3141,10 @@ _type = INT; - // /Users/bion/projects/iordache/translator/pnscript.g:641:2: ( ( '0' .. '9' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:641:5: ( '0' .. '9' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:627:2: ( ( '0' .. '9' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:627:5: ( '0' .. '9' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:641:5: ( '0' .. '9' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:627:5: ( '0' .. '9' )+ { int cnt11=0; @@ -3164,7 +3164,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:641:5: '0' .. '9' + // /Users/bion/projects/iordache/translator/pnscript.g:627:5: '0' .. '9' { MATCHRANGE('0', '9'); if (HASEXCEPTION()) @@ -3208,7 +3208,7 @@ } // $ANTLR end INT -// Comes from: 643:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) +// Comes from: 629:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start ID @@ -3228,8 +3228,8 @@ _type = ID; - // /Users/bion/projects/iordache/translator/pnscript.g:643:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) - // /Users/bion/projects/iordache/translator/pnscript.g:643:4: ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* + // /Users/bion/projects/iordache/translator/pnscript.g:629:2: ( ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* ) + // /Users/bion/projects/iordache/translator/pnscript.g:629:4: ( 'A' .. 'Z' | 'a' .. 'z' ) ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* { if ( ((LA(1) >= 'A') && (LA(1) <= 'Z')) || ((LA(1) >= 'a') && (LA(1) <= 'z')) ) { @@ -3246,7 +3246,7 @@ } - // /Users/bion/projects/iordache/translator/pnscript.g:643:24: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* + // /Users/bion/projects/iordache/translator/pnscript.g:629:24: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' )* for (;;) { @@ -3304,7 +3304,7 @@ } // $ANTLR end ID -// Comes from: 647:2: ( ( ';' )+ ) +// Comes from: 633:2: ( ( ';' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start SEMICOLON @@ -3324,10 +3324,10 @@ _type = SEMICOLON; - // /Users/bion/projects/iordache/translator/pnscript.g:647:2: ( ( ';' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:647:4: ( ';' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:633:2: ( ( ';' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ( ';' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:647:4: ( ';' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ( ';' )+ { int cnt13=0; @@ -3347,7 +3347,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:647:4: ';' + // /Users/bion/projects/iordache/translator/pnscript.g:633:4: ';' { MATCHC(';'); if (HASEXCEPTION()) @@ -3391,7 +3391,7 @@ } // $ANTLR end SEMICOLON -// Comes from: 651:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) +// Comes from: 637:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start WS @@ -3411,10 +3411,10 @@ _type = WS; - // /Users/bion/projects/iordache/translator/pnscript.g:651:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) - // /Users/bion/projects/iordache/translator/pnscript.g:651:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:637:2: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // /Users/bion/projects/iordache/translator/pnscript.g:637:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ { - // /Users/bion/projects/iordache/translator/pnscript.g:651:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ + // /Users/bion/projects/iordache/translator/pnscript.g:637:5: ( ' ' | '\\t' | '\\r' | '\\n' )+ { int cnt14=0; @@ -3489,7 +3489,7 @@ } // $ANTLR end WS -// Comes from: 654:2: ( '//' ( . )* '\\n' ) +// Comes from: 640:2: ( '//' ( . )* '\\n' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start COMMENT @@ -3509,8 +3509,8 @@ _type = COMMENT; - // /Users/bion/projects/iordache/translator/pnscript.g:654:2: ( '//' ( . )* '\\n' ) - // /Users/bion/projects/iordache/translator/pnscript.g:654:5: '//' ( . )* '\\n' + // /Users/bion/projects/iordache/translator/pnscript.g:640:2: ( '//' ( . )* '\\n' ) + // /Users/bion/projects/iordache/translator/pnscript.g:640:5: '//' ( . )* '\\n' { MATCHS(lit_34); if (HASEXCEPTION()) @@ -3520,7 +3520,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:654:10: ( . )* + // /Users/bion/projects/iordache/translator/pnscript.g:640:10: ( . )* for (;;) { @@ -3542,7 +3542,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:654:10: . + // /Users/bion/projects/iordache/translator/pnscript.g:640:10: . { MATCHANY(); if (HASEXCEPTION()) @@ -3583,7 +3583,7 @@ } // $ANTLR end COMMENT -// Comes from: 657:2: ( '/*' ( . )* '*/' ) +// Comes from: 643:2: ( '/*' ( . )* '*/' ) /** \brief Lexer rule generated by ANTLR3 * * $ANTLR start BLOCK_COMMENT @@ -3603,8 +3603,8 @@ _type = BLOCK_COMMENT; - // /Users/bion/projects/iordache/translator/pnscript.g:657:2: ( '/*' ( . )* '*/' ) - // /Users/bion/projects/iordache/translator/pnscript.g:657:5: '/*' ( . )* '*/' + // /Users/bion/projects/iordache/translator/pnscript.g:643:2: ( '/*' ( . )* '*/' ) + // /Users/bion/projects/iordache/translator/pnscript.g:643:5: '/*' ( . )* '*/' { MATCHS(lit_35); if (HASEXCEPTION()) @@ -3614,7 +3614,7 @@ - // /Users/bion/projects/iordache/translator/pnscript.g:657:10: ( . )* + // /Users/bion/projects/iordache/translator/pnscript.g:643:10: ( . )* for (;;) { @@ -3649,7 +3649,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pnscript.g:657:10: . + // /Users/bion/projects/iordache/translator/pnscript.g:643:10: . { MATCHANY(); if (HASEXCEPTION()) Modified: translator/pnscriptLexer.h =================================================================== --- translator/pnscriptLexer.h 2009-07-07 02:56:50 UTC (rev 175) +++ translator/pnscriptLexer.h 2009-07-07 03:00:22 UTC (rev 176) @@ -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/pnscript.g - * - On : 2009-07-05 23:45:09 + * - On : 2009-07-06 21:52:27 * - for the lexer : pnscriptLexerLexer * * Editing it, at least manually, is not wise. * Modified: translator/pnscriptParser.c =================================================================== --- translator/pnscriptParser.c 2009-07-07 02:56:50 UTC (rev 175) +++ translator/pnscriptParser.c 2009-07-07 03:00:22 UTC (rev 176) @@ -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/pnscript.g - * - On : 2009-07-05 23:45:08 + * - On : 2009-07-06 21:52:26 * - for the parser : pnscriptParserParser * * Editing it, at least manually, is not wise. * @@ -1069,204 +1069,198 @@ /** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init627 */ static ANTLR3_BITWORD FOLLOW_ID_in_proc_init627_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init627 = { FOLLOW_ID_in_proc_init627_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init631 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init631_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init631 = { FOLLOW_ID_in_proc_init631_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init645 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init645_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init645 = { FOLLOW_ID_in_proc_init645_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init649 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_init649_bits[] = { ANTLR3_UINT64_LIT(0x0000100000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_init649 = { FOLLOW_ID_in_proc_init649_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_proc_init653 */ -static ANTLR3_BITWORD FOLLOW_44_in_proc_init653_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_44_in_proc_init653 = { FOLLOW_44_in_proc_init653_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init657 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init657_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init657 = { FOLLOW_numbered_ID_in_proc_init657_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_45_in_proc_init661 */ -static ANTLR3_BITWORD FOLLOW_45_in_proc_init661_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_45_in_proc_init661 = { FOLLOW_45_in_proc_init661_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_numbered_ID_in_proc_init665 */ -static ANTLR3_BITWORD FOLLOW_numbered_ID_in_proc_init665_bits[] = { ANTLR3_UINT64_LIT(0x0000600000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_numbered_ID_in_proc_init665 = { FOLLOW_numbered_ID_in_proc_init665_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_46_in_proc_init670 */ -static ANTLR3_BITWORD FOLLOW_46_in_proc_init670_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_46_in_proc_init670 = { FOLLOW_46_in_proc_init670_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYNC_TOK_in_sync_def690 */ -static ANTLR3_BITWORD FOLLOW_SYNC_TOK_in_sync_def690_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_SYNC_TOK_in_sync_def690 = { FOLLOW_SYNC_TOK_in_sync_def690_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_sync_def693 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_sync_def693_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_sync_def693 = { FOLLOW_group_elements_in_sync_def693_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_in_proc_start715 */ -static ANTLR3_BITWORD FOLLOW_START_in_proc_start715_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_START_in_proc_start715 = { FOLLOW_START_in_proc_start715_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_start719 */ -static ANTLR3_BITWORD FOLLOW_ID_in_proc_start719_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000802) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_proc_start719 = { FOLLOW_ID_in_proc_start719_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_numbered_ID733 */ -static ANTLR3_BITWORD FOLLOW_ID_in_numbered_ID733_bits[] = { ANTLR3_UINT64_LIT(0x0000040000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_numbered_ID733 = { FOLLOW_ID_in_numbered_ID733_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_42_in_numbered_ID738 */ -static ANTLR3_BITWORD FOLLOW_42_in_numbered_ID738_bits[] = { ANTLR3_UINT64_LIT(0x0000000002000000) }; -static ANTLR3_BITSET_LIST FOLLOW_42_in_numbered_ID738 = { FOLLOW_42_in_numbered_ID738_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_numbered_ID739 */ -static ANTLR3_BITWORD FOLLOW_INT_in_numbered_ID739_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_numbered_ID739 = { FOLLOW_INT_in_numbered_ID739_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_constraint_block_in_constraints769 */ -static ANTLR3_BITWORD FOLLOW_constraint_block_in_constraints769_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_constraint_block_in_constraints769 = { FOLLOW_constraint_block_in_constraints769_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_constraints774 */ -static ANTLR3_BITWORD FOLLOW_eq_in_constraints774_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_constraints774 = { FOLLOW_eq_in_constraints774_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraints776 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraints776_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraints776 = { FOLLOW_SEMICOLON_in_constraints776_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_live_def_in_constraints780 */ -static ANTLR3_BITWORD FOLLOW_live_def_in_constraints780_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_live_def_in_constraints780 = { FOLLOW_live_def_in_constraints780_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_uncontrol_in_constraints782 */ -static ANTLR3_BITWORD FOLLOW_uncontrol_in_constraints782_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_uncontrol_in_constraints782 = { FOLLOW_uncontrol_in_constraints782_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_unobserve_in_constraints784 */ -static ANTLR3_BITWORD FOLLOW_unobserve_in_constraints784_bits[] = { ANTLR3_UINT64_LIT(0x0000100D82000802) }; -static ANTLR3_BITSET_LIST FOLLOW_unobserve_in_constraints784 = { FOLLOW_unobserve_in_constraints784_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_constraint_block794 */ -static ANTLR3_BITWORD FOLLOW_ID_in_constraint_block794_bits[] = { ANTLR3_UINT64_LIT(0x0000000004000000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_constraint_block794 = { FOLLOW_ID_in_constraint_block794_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINTS_in_constraint_block798 */ -static ANTLR3_BITWORD FOLLOW_CONSTRAINTS_in_constraint_block798_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001002) }; -static ANTLR3_BITSET_LIST FOLLOW_CONSTRAINTS_in_constraint_block798 = { FOLLOW_CONSTRAINTS_in_constraint_block798_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_constraint_block800 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_constraint_block800_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_constraint_block800 = { FOLLOW_SEMICOLON_in_constraint_block800_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq816 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq816_bits[] = { ANTLR3_UINT64_LIT(0x0000000018000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq816 = { FOLLOW_relationalExpression_in_eq816_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_eq819 */ -static ANTLR3_BITWORD FOLLOW_set_in_eq819_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_eq819 = { FOLLOW_set_in_eq819_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_relationalExpression_in_eq826 */ -static ANTLR3_BITWORD FOLLOW_relationalExpression_in_eq826_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_relationalExpression_in_eq826 = { FOLLOW_relationalExpression_in_eq826_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression842 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression842_bits[] = { ANTLR3_UINT64_LIT(0x0000000020000002) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression842 = { FOLLOW_additiveExpression_in_relationalExpression842_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQ_OP_in_relationalExpression845 */ -static ANTLR3_BITWORD FOLLOW_EQ_OP_in_relationalExpression845_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_EQ_OP_in_relationalExpression845 = { FOLLOW_EQ_OP_in_relationalExpression845_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_relationalExpression848 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_relationalExpression848_bits[] = { ANTLR3_UINT64_LIT(0x0000000020000002) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_relationalExpression848 = { FOLLOW_additiveExpression_in_relationalExpression848_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression859 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression859_bits[] = { ANTLR3_UINT64_LIT(0x00000000C0000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression859 = { FOLLOW_primary_in_additiveExpression859_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_additiveExpression862 */ -static ANTLR3_BITWORD FOLLOW_set_in_additiveExpression862_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_set_in_additiveExpression862 = { FOLLOW_set_in_additiveExpression862_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_additiveExpression869 */ -static ANTLR3_BITWORD FOLLOW_primary_in_additiveExpression869_bits[] = { ANTLR3_UINT64_LIT(0x00000000C0000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_additiveExpression869 = { FOLLOW_primary_in_additiveExpression869_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_primary885 */ -static ANTLR3_BITWORD FOLLOW_44_in_primary885_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_44_in_primary885 = { FOLLOW_44_in_primary885_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_eq_in_primary888 */ -static ANTLR3_BITWORD FOLLOW_eq_in_primary888_bits[] = { ANTLR3_UINT64_LIT(0x0000400000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_eq_in_primary888 = { FOLLOW_eq_in_primary888_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_46_in_primary890 */ -static ANTLR3_BITWORD FOLLOW_46_in_primary890_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_46_in_primary890 = { FOLLOW_46_in_primary890_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_primary899 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_primary899_bits[] = { ANTLR3_UINT64_LIT(0x0000100000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_primary899 = { FOLLOW_MINUS_in_primary899_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_44_in_primary901 */ -static ANTLR3_BITWORD FOLLOW_44_in_primary901_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_44_in_primary901 = { FOLLOW_44_in_primary901_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_additiveExpression_in_primary904 */ -static ANTLR3_BITWORD FOLLOW_additiveExpression_in_primary904_bits[] = { ANTLR3_UINT64_LIT(0x0000400000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_additiveExpression_in_primary904 = { FOLLOW_additiveExpression_in_primary904_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_46_in_primary906 */ -static ANTLR3_BITWORD FOLLOW_46_in_primary906_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_46_in_primary906 = { FOLLOW_46_in_primary906_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_primary917 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_primary917_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_primary917 = { FOLLOW_group_elements_in_primary917_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_primary924 */ -static ANTLR3_BITWORD FOLLOW_number_in_primary924_bits[] = { ANTLR3_UINT64_LIT(0x0000000000080002) }; -static ANTLR3_BITSET_LIST FOLLOW_number_in_primary924 = { FOLLOW_number_in_primary924_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_in_primary927 */ -static ANTLR3_BITWORD FOLLOW_MULT_in_primary927_bits[] = { ANTLR3_UINT64_LIT(0x0000100082000800) }; -static ANTLR3_BITSET_LIST FOLLOW_MULT_in_primary927 = { FOLLOW_MULT_in_primary927_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_primary930 */ -static ANTLR3_BITWORD FOLLOW_primary_in_primary930_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_primary_in_primary930 = { FOLLOW_primary_in_primary930_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIVE_in_live_def940 */ -static ANTLR3_BITWORD FOLLOW_LIVE_in_live_def940_bits[] = { ANTLR3_UINT64_LIT(0x0000000200000800) }; -static ANTLR3_BITSET_LIST FOLLOW_LIVE_in_live_def940 = { FOLLOW_LIVE_in_live_def940_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_in_live_def948 */ -static ANTLR3_BITWORD FOLLOW_ALL_in_live_def948_bits[] = { ANTLR3_UINT64_LIT(0x0000000080001000) }; -static ANTLR3_BITSET_LIST FOLLOW_ALL_in_live_def948 = { FOLLOW_ALL_in_live_def948_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_live_def951 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_live_def951_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_live_def951 = { FOLLOW_MINUS_in_live_def951_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def955 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def955_bits[] = { ANTLR3_UINT64_LIT(0x0000000080001000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def955 = { FOLLOW_ID_in_live_def955_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_live_def979 */ -static ANTLR3_BITWORD FOLLOW_ID_in_live_def979_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001800) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_live_def979 = { FOLLOW_ID_in_live_def979_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_live_def998 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_live_def998_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_live_def998 = { FOLLOW_SEMICOLON_in_live_def998_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNCONTROL_in_uncontrol1007 */ -static ANTLR3_BITWORD FOLLOW_UNCONTROL_in_uncontrol1007_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_UNCONTROL_in_uncontrol1007 = { FOLLOW_UNCONTROL_in_uncontrol1007_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_uncontrol1012 */ -static ANTLR3_BITWORD FOLLOW_ID_in_uncontrol1012_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001800) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_uncontrol1012 = { FOLLOW_ID_in_uncontrol1012_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_uncontrol1018 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_uncontrol1018_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_uncontrol1018 = { FOLLOW_SEMICOLON_in_uncontrol1018_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNOBSERVE_in_unobserve1036 */ -static ANTLR3_BITWORD FOLLOW_UNOBSERVE_in_unobserve1036_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_UNOBSERVE_in_unobserve1036 = { FOLLOW_UNOBSERVE_in_unobserve1036_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_unobserve1041 */ -static ANTLR3_BITWORD FOLLOW_ID_in_unobserve1041_bits[] = { ANTLR3_UINT64_LIT(0x0000000000001800) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_unobserve1041 = { FOLLOW_ID_in_unobserve1041_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_in_unobserve1047 */ -static ANTLR3_BITWORD FOLLOW_SEMICOLON_in_unobserve1047_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_in_unobserve1047 = { FOLLOW_SEMICOLON_in_unobserve1047_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_print_in_other_commands1066 */ -static ANTLR3_BITWORD FOLLOW_print_in_other_commands1066_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_print_in_other_commands1066 = { FOLLOW_print_in_other_commands1066_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRINT_in_print1075 */ -static ANTLR3_BITWORD FOLLOW_PRINT_in_print1075_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_PRINT_in_print1075 = { FOLLOW_PRINT_in_print1075_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_print1077 */ -static ANTLR3_BITWORD FOLLOW_ID_in_print1077_bits[] = { ANTLR3_UINT64_LIT(0x0001000000000000) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_print1077 = { FOLLOW_ID_in_print1077_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_48_in_print1079 */ -static ANTLR3_BITWORD FOLLOW_48_in_print1079_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_48_in_print1079 = { FOLLOW_48_in_print1079_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_elements_in_print1081 */ -static ANTLR3_BITWORD FOLLOW_group_elements_in_print1081_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_group_elements_in_print1081 = { FOLLOW_group_elements_in_print1081_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_in_number1100 */ -static ANTLR3_BITWORD FOLLOW_MINUS_in_number1100_bits[] = { ANTLR3_UINT64_LIT(0x0000000002000000) }; -static ANTLR3_BITSET_LIST FOLLOW_MINUS_in_number1100 = { FOLLOW_MINUS_in_number1100_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_in_number1104 */ -static ANTLR3_BITWORD FOLLOW_INT_in_number1104_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000002) }; -static ANTLR3_BITSET_LIST FOLLOW_INT_in_number1104 = { FOLLOW_INT_in_number1104_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1119 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1119_bits[] = { ANTLR3_UINT64_LIT(0x0000000000200002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1119 = { FOLLOW_ID_in_group_elements1119_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_in_group_elements1122 */ -static ANTLR3_BITWORD FOLLOW_DOT_in_group_elements1122_bits[] = { ANTLR3_UINT64_LIT(0x0000000000000800) }; -static ANTLR3_BITSET_LIST FOLLOW_DOT_in_group_elements1122 = { FOLLOW_DOT_in_group_elements1122_bits, 1 }; -/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_group_elements1126 */ -static ANTLR3_BITWORD FOLLOW_ID_in_group_elements1126_bits[] = { ANTLR3_UINT64_LIT(0x0000000000200002) }; -static ANTLR3_BITSET_LIST FOLLOW_ID_in_group_elements1126 = { FOLLOW_ID_in_group_elements1126_bits, 1 }; +/** Bitset defining follow set for error recovery in rule state: FOLLOW_ID_in_proc_init632... [truncated message content] |
From: <mio...@us...> - 2009-07-07 02:56:54
|
Revision: 175 http://pntool.svn.sourceforge.net/pntool/?rev=175&view=rev Author: miordache Date: 2009-07-07 02:56:50 +0000 (Tue, 07 Jul 2009) Log Message: ----------- added a function to print constraints Modified Paths: -------------- pnheaders/main_function.c pnheaders/pns.c pnheaders/pns.h Modified: pnheaders/main_function.c =================================================================== --- pnheaders/main_function.c 2009-07-07 02:25:04 UTC (rev 174) +++ pnheaders/main_function.c 2009-07-07 02:56:50 UTC (rev 175) @@ -76,6 +76,14 @@ return 0; } + if(is_verbose() >= 3) { // For debugging + for(i = 0; i < sp->process_num; i++) { + printf("\n\n======================================================"); + printf("\nPROCESS NAME: %s\n", sp->process_array[i]->name); + displaypn(*(sp->process_array[i]->pn), stdout); + } + } + // Label the PNs for(i = 0; i < sp->process_num; i++) @@ -98,6 +106,12 @@ extractLHCB(sp, &pn, &L, &H, &C, &B); + if(is_verbose() >= 3) { // For debugging + printf("\n\n======================================================"); + printf("\nCONSTRAINTS:\n"); + printLHCB(&pn, &L, &H, &C, B, -1, stdout); + } + // Perform SC Tuc = tcalloc(pn.tnum, sizeof(*Tuc)); @@ -114,6 +128,12 @@ lin_res = linenf(&pn.out, &pn.in, &L, B, pn.marking, &H, &C, \ UCcnt, UClst, UOcnt, UOlst); + if(is_verbose() >= 3) { // For debugging + printf("\n\n======================================================"); + printf("\nADMISSIBLE CONSTRAINTS (H entries omitted): \n"); + printLHCB(&pn, &lin_res.Lf, 0, &lin_res.Cf, lin_res.bf, -1, stdout); + } + free(Tuc); free(Tuo); free(UClst); free(UOlst); // Check whether SC was successful @@ -130,7 +150,7 @@ pnsv = getSupervisor(&pn, &lin_res.Dfm, &lin_res.Dfp, lin_res.ms0); - if(is_verbose() >= 3) { // Temporary code for debugging + if(is_verbose() >= 3) { // For debugging printf("\n\n======================================================"); printf("\nCOMPOSED PN\n"); displaypn(pn, stdout); @@ -144,8 +164,7 @@ // Generate code - // Commented until code above generates meaningful data - //GenerateProgram(&pnsv, sp->name, sp->process_array, sp->process_num); + GenerateProgram(&pnsv, sp->name, sp->process_array, sp->process_num); deallocpn(&pnsv); Modified: pnheaders/pns.c =================================================================== --- pnheaders/pns.c 2009-07-07 02:25:04 UTC (rev 174) +++ pnheaders/pns.c 2009-07-07 02:56:50 UTC (rev 175) @@ -1245,6 +1245,96 @@ /*************************************************************************** + PRINTLHCB +****************************************************************************/ + +void printLHCB(pns* pn, matrix* L, matrix* H, matrix* C, int* B, int row, FILE* f) { + int i, j, nr, nc, x, flag, isnamed; + matrix *mat; + char *prefix, **name, c; + + if(L) + nr = NumberOfRows(*L); + else if(H) + nr = NumberOfRows(*H); + else if(C) + nr = NumberOfRows(*C); + else { + merror(0, "PRINTLHCB: At least one of L, H, or C should be given"); + return; + } + + if(row < 0) { + fprintf(f, "\nThere are %d constraints:\n", nr); + for(i = 0; i < nr; i++) + printLHCB(pn, L, H, C, B, i, f); + return; + } + + if(row >= nr) { + merror(0, "PRINTLHCB: Index %d exceeds number of constraints (%d)", row, nr); + return; + } + + flag = 1; + for(j = 0; j < 3; j++) { + + if(j == 0) { + fprintf(f, "\n(%d) ", row); + mat = L; + prefix = ""; + c = 'p'; + name = pn->place_name; + } + else if(j == 1) { + mat = H; + prefix = "q."; + c = 't'; + name = pn->trans_name; + } + else { + mat = C; + prefix = ""; + c = 't'; + name = pn->trans_name; + } + + if(!mat) + continue; + + nc = NumberOfColumns(*mat); + + for(i = 0; i < nc; i++) { + x = GetMatrixEl(mat, row, i); + if(x) { + if (x == 1 && !flag) // flag = 1 indicates the first element + fprintf(f, "+ "); + else if(x == -1) + fprintf(f, "- "); + else if( x > 0 && x != 1) + fprintf(f, "+ %d*", x); + else if( x < 0) + fprintf(f, "- %d*", -x); + + flag = 0; + + isnamed = 0; + if(name) + if(name[i]) + isnamed = name[i][0]; // nonzero if nonempty string + if(isnamed) + fprintf(f, "%s%s ", prefix, name[i]); + else + fprintf(f, "%s%c%d ", prefix, c, i); + } + } + } + if(flag) + fprintf(f, "0 "); + fprintf(f, "<= %d\n", B[row]); +} + +/*************************************************************************** GETSUPERVISOR ****************************************************************************/ Modified: pnheaders/pns.h =================================================================== --- pnheaders/pns.h 2009-07-07 02:25:04 UTC (rev 174) +++ pnheaders/pns.h 2009-07-07 02:56:50 UTC (rev 175) @@ -347,6 +347,14 @@ initializes pn to the Petri net on which the specs should be enforced. */ +void printLHCB(pns* pn, matrix* L, matrix* H, matrix* C, int* B, int n, FILE* f); + +/* Displays the constraint number n stored in the matrices L, H. C, B. The + first constraint has the number 0 (not 1). To display all constraints, + use n < 0. The pn parameter specifies the PN on which the constraints + are defined. If one or more of L, H, or C is unavailable, enter 0. */ + + pns getSupervisor(pns* pn, matrix* Dcm, matrix* Dcp, int* ms0); /* Extracts the PN representing the supervisor from the plant PN (pn), the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-07 02:25:25
|
Revision: 174 http://pntool.svn.sourceforge.net/pntool/?rev=174&view=rev Author: thecodeweasel Date: 2009-07-07 02:25:04 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Freeing the compactor Modified Paths: -------------- translator/main.c Modified: translator/main.c =================================================================== --- translator/main.c 2009-07-07 02:18:52 UTC (rev 173) +++ translator/main.c 2009-07-07 02:25:04 UTC (rev 174) @@ -251,6 +251,10 @@ printf("Generator freed\n"); } } + treePsr->free(treePsr); treePsr = NULL; + if(is_verbose() >= 10) { + printf("Compactor freed\n"); + } } // We did not return anything from this parser rule, so we can finish. It only remains This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-07 02:19:02
|
Revision: 173 http://pntool.svn.sourceforge.net/pntool/?rev=173&view=rev Author: thecodeweasel Date: 2009-07-07 02:18:52 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Adding labels in parenthesis Modified Paths: -------------- translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-07 02:07:10 UTC (rev 172) +++ translator/pngenerator.c 2009-07-07 02:18:52 UTC (rev 173) @@ -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/pngenerator.g - * - On : 2009-07-06 21:06:28 + * - On : 2009-07-06 21:18:20 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -939,6 +939,8 @@ displaypn(*(spec->process_array[i]->pn), stdout); } printf("======================\n"); + printf("Labels in parenthesis\n"); + printf("======================\n"); //display constraints constraints = spec->constraint_list; i = 0; @@ -965,7 +967,7 @@ while(syncs) { proc1 = (process*) procs->getI(procs, syncs->pn1); proc2 = (process*) procs->getI(procs, syncs->pn2); - printf("Syncing %s.t%i and %s.t%i\n", proc1->instance, syncs->t1, proc2->instance, syncs->t2); + printf("Syncing %s.t%i(%s) and %s.t%i(%s)\n", proc1->instance, syncs->t1, proc1->pn->trans_name[syncs->t1], proc2->instance, syncs->t2, proc2->pn->trans_name[syncs->t2]); syncs = syncs->next; } printf("***********************\n\n"); @@ -1026,6 +1028,11 @@ printf("t"); } printf("%i", var->index); + if(var->type == MARKINGV) { + printf("(%s)", proc->pn->place_name[var->index]); + } else { + printf("(%s)", proc->pn->trans_name[var->index]); + } if(var->next) { printf(" + "); } @@ -1290,7 +1297,7 @@ */ /** * $ANTLR start pn - * /Users/bion/projects/iordache/translator/pngenerator.g:277:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; + * /Users/bion/projects/iordache/translator/pngenerator.g:284:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; */ static specs* pn(ppngenerator ctx, ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName) @@ -1317,10 +1324,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:293:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:300:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: ( proc_definitions )+ { int cnt1=0; @@ -1380,7 +1387,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:300:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1414,7 +1421,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:293:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:300:22: ( proc_instantiations )+ { int cnt2=0; @@ -1460,7 +1467,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:293:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:300:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1495,7 +1502,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:293:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:300:43: ( constraints )* for (;;) { @@ -1513,7 +1520,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:293:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:300:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1536,7 +1543,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:293:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:300:56: ( other_commands )* for (;;) { @@ -1554,7 +1561,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:293:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:300:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1625,7 +1632,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:318:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:325:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1635,8 +1642,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:324:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:324:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:331:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:331:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1656,7 +1663,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:324:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:331:16: ( trans_defs )* for (;;) { @@ -1674,7 +1681,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:324:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:331:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1697,7 +1704,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:324:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:331:28: ( select_functions )* for (;;) { @@ -1715,7 +1722,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:324:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:331:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1738,7 +1745,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:324:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:331:46: ( nondeterm )? { int alt7=2; { @@ -1751,7 +1758,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:324:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:331:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1801,7 +1808,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:325:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:332:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1818,8 +1825,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:329:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:329:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:336:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:336:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1875,7 +1882,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:352:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:359:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1886,7 +1893,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:353:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:360:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1919,7 +1926,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:353:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:360:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1934,7 +1941,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:354:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:361:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1971,7 +1978,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:355:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:362:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1994,11 +2001,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:361:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:361:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:368:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:368:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:361:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:368:6: ( TO | FROM ) { int alt9=2; @@ -2028,7 +2035,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:361:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:368:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -2046,7 +2053,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:364:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:371:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -2073,7 +2080,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:367:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:374:6: ( ID )+ { int cnt10=0; @@ -2093,7 +2100,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:367:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:374:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2160,7 +2167,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:371:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:378:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2197,7 +2204,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:382:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:389:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2273,7 +2280,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:382:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:389:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2315,7 +2322,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:391:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:398:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2336,7 +2343,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:393:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:400:5: (place= ID )+ { int cnt11=0; @@ -2356,7 +2363,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:393:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:400:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2410,7 +2417,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:409:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:416:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2423,7 +2430,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:409:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:416:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2458,7 +2465,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:415:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:422:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2491,7 +2498,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:419:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:426:5: (place= ID )* for (;;) { @@ -2509,7 +2516,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:419:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:426:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2550,7 +2557,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:434:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:441:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2563,7 +2570,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:434:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:441:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2620,7 +2627,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:439:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:446:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2636,8 +2643,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:440:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:440:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:447:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:447:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2703,7 +2710,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:447:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:454:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2717,8 +2724,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:448:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:448:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:455:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:455:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2733,7 +2740,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:448:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:455:34: ( ID )+ { int cnt16=0; @@ -2753,7 +2760,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:448:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:455:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2821,7 +2828,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:455:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:462:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2831,11 +2838,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:468:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2870,7 +2877,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:461:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:468:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2885,7 +2892,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:461:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:468:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2900,7 +2907,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:461:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:468:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2942,7 +2949,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:463:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:470:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2967,7 +2974,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:468:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:475:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -3019,7 +3026,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:475:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -3050,7 +3057,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:485:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:492:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -3081,7 +3088,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:497:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:504:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -3101,7 +3108,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:497:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:504:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3187,7 +3194,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:512:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:519:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3207,8 +3214,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:517:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:517:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:524:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:524:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3223,7 +3230,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:517:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:524:15: ( group_elements )+ { int cnt20=0; @@ -3243,7 +3250,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:517:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:524:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3357,7 +3364,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:562:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:569:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3371,8 +3378,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:563:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:563:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:570:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:570:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3387,7 +3394,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:563:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:570:12: ( ID )+ { int cnt21=0; @@ -3407,7 +3414,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:563:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:570:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3477,7 +3484,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:571:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:578:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3491,8 +3498,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:578:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:578:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3512,7 +3519,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:578:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:585:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3547,10 +3554,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:578:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:578:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:578:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:585:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:585:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3592,7 +3599,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:599:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:606:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3607,7 +3614,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:599:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:606:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3622,7 +3629,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:599:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:606:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3677,7 +3684,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:600:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:607:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3691,8 +3698,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:601:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:601:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:608:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:608:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3743,7 +3750,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:620:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:627:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3777,7 +3784,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:625:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:632:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3810,7 +3817,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:625:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:632:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3828,10 +3835,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:626:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:633:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:626:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:633:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3861,7 +3868,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:626:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:633:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3878,7 +3885,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:628:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:635:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3987,7 +3994,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:652:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:659:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -4010,8 +4017,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:660:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:660:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:667:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:667:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -4085,7 +4092,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:673:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:680:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -4102,7 +4109,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:674:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:681:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4141,7 +4148,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:674:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:681:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4159,7 +4166,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:675:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:682:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4203,7 +4210,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:676:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:683:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4269,7 +4276,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:678:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:685:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4295,7 +4302,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:679:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:686:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4328,7 +4335,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:679:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:686:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary609); group_elements21=group_elements(ctx); @@ -4352,7 +4359,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:686:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:693:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary620); if (HASEXCEPTION()) @@ -4424,7 +4431,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:693:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:700:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4444,7 +4451,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:697:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:704:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4515,7 +4522,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:697:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:704:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def642); if (HASEXCEPTION()) @@ -4547,7 +4554,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:704:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:711:5: ( ID )* for (;;) { @@ -4565,7 +4572,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:704:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:711:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def649); if (HASEXCEPTION()) @@ -4613,7 +4620,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:717:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:724:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def662); if (HASEXCEPTION()) @@ -4628,7 +4635,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:717:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:724:11: ( ID )+ { int cnt28=0; @@ -4648,7 +4655,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:717:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:724:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def665); if (HASEXCEPTION()) @@ -4719,7 +4726,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:722:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:729:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4733,8 +4740,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:723:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:723:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:730:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:730:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol680); if (HASEXCEPTION()) @@ -4749,7 +4756,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:723:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:730:16: ( ID )+ { int cnt30=0; @@ -4769,7 +4776,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:723:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:730:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol683); if (HASEXCEPTION()) @@ -4837,7 +4844,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:728:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:735:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4851,8 +4858,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:729:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:729:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:736:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:736:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve698); if (HASEXCEPTION()) @@ -4867,7 +4874,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:729:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:736:16: ( ID )+ { int cnt31=0; @@ -4887,7 +4894,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:729:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:736:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve701); if (HASEXCEPTION()) @@ -4955,7 +4962,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:735:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:742:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4965,8 +4972,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:736:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:736:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:743:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:743:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands716); print(ctx); @@ -5000,7 +5007,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:737:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:744:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -5010,8 +5017,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:738:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:738:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:745:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:745:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print727); if (HASEXCEPTION()) @@ -5071,7 +5078,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:740:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:747:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -5090,8 +5097,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:744:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:744:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:751:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:751:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements752); if (HASEXCEPTION()) @@ -5106,7 +5113,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:744:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:751:12: ( ID )+ { int cnt32=0; @@ -5126,7 +5133,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:744:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:751:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements755); if (HASEXCEPTION()) @@ -5192,7 +5199,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:747:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:754:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5213,7 +5220,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:748:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:755:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5265,7 +5272,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:748:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:755:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID774); if (HASEXCEPTION()) @@ -5284,7 +5291,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:753:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pngenerator.g:760:4: ^( ID INT ) { ID30 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID782); if (HASEXCEPTION()) Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-07 02:07:10 UTC (rev 172) +++ translator/pngenerator.g 2009-07-07 02:18:52 UTC (rev 173) @@ -177,6 +177,8 @@ displaypn(*(spec->process_array[i]->pn), stdout); } printf("======================\n"); + printf("Labels in parenthesis\n"); + printf("======================\n"); //display constraints constraints = spec->constraint_list; i = 0; @@ -203,7 +205,7 @@ while(syncs) { proc1 = (process*) procs->getI(procs, syncs->pn1); proc2 = (process*) procs->getI(procs, syncs->pn2); - printf("Syncing \%s.t\%i and \%s.t\%i\n", proc1->instance, syncs->t1, proc2->instance, syncs->t2); + printf("Syncing \%s.t\%i(\%s) and \%s.t\%i(\%s)\n", proc1->instance, syncs->t1, proc1->pn->trans_name[syncs->t1], proc2->instance, syncs->t2, proc2->pn->trans_name[syncs->t2]); syncs = syncs->next; } printf("***********************\n\n"); @@ -264,6 +266,11 @@ printf("t"); } printf("\%i", var->index); + if(var->type == MARKINGV) { + printf("(\%s)", proc->pn->place_name[var->index]); + } else { + printf("(\%s)", proc->pn->trans_name[var->index]); + } if(var->next) { printf(" + "); } Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-07 02:07:10 UTC (rev 172) +++ translator/pngenerator.h 2009-07-07 02:18:52 UTC (rev 173) @@ -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/pngenerator.g - * - On : 2009-07-06 21:06:28 + * - On : 2009-07-06 21:18:20 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-07 02:14:28
|
Revision: 171 http://pntool.svn.sourceforge.net/pntool/?rev=171&view=rev Author: thecodeweasel Date: 2009-07-07 02:05:05 +0000 (Tue, 07 Jul 2009) Log Message: ----------- If verbosity >= 5, the translator now prints the final specs structure in great detail. Modified Paths: -------------- translator/docs/TODO.rtf translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/docs/TODO.rtf =================================================================== --- translator/docs/TODO.rtf 2009-07-06 21:02:05 UTC (rev 170) +++ translator/docs/TODO.rtf 2009-07-07 02:05:05 UTC (rev 171) @@ -45,4 +45,4 @@ \strike \strikec0 have the parser error at the end\strike0\striked0 \ \strike \strikec0 debug MANFLINE process structure issue\strike0\striked0 \ \strike \strikec0 debug sync constraints\ -\strike0\striked0 Why does the translator need GCC 4?} \ No newline at end of file +\strikec0 Why does the translator need GCC 4?} \ No newline at end of file Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-06 21:02:05 UTC (rev 170) +++ translator/pngenerator.c 2009-07-07 02:05:05 UTC (rev 171) @@ -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/pngenerator.g - * - On : 2009-07-06 00:24:29 + * - On : 2009-07-06 21:01:45 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -803,6 +803,9 @@ static void showContext(pANTLR3_BASE_TREE tree); static process* copyProcess(process* proc); static variable* handlePrimary(pANTLR3_VECTOR data, int coef, pns* pn, ASSOC_ARRAY* places, ASSOC_ARRAY* trans); + static void displaySpec(specs* spec); + static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent); + static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent); //see kDEFINES in pnscript.g ASSOC_ARRAY* processes; @@ -896,6 +899,133 @@ return ret; } + + static void displaySpec(specs* spec) { + pANTLR3_HASH_TABLE procs; + procs = antlr3HashTableNew(spec->pn_num); + int i; + constraint* constraints; + syncc* syncs; + process* proc1; + process* proc2; + printf("***********************\n"); + //display name + printf("Spec Structure: %s\n", spec->name); + //display pns + //display processes + if(spec->pn_num != spec->process_num) { + fprintf(stderr, "ERROR: pn count does not match process count\n%i != %i\n", spec->pn_num, spec->process_num); + exit(2); + } + printf("Found %i Processes\n", spec->pn_num); + for(i = 0; i < spec->pn_num; i++) { + if(spec->pn_array[i] != spec->process_array[i]->pn) { + fprintf(stderr, "ERROR: pn %i does not match the petri net in process %i (%s)\n", i, i, spec->process_array[i]->name); + exit(2); + } + procs->putI(procs, spec->process_array[i]->pn, spec->process_array[i], NULL); + printf("======================\n"); + if(spec->process_array[i]->type != 0) { + printf("external "); + } + printf("Process: %s:%s\n", spec->process_array[i]->name, spec->process_array[i]->instance); + printf("Build: %s\n", spec->process_array[i]->build); + printf("Include: %s\n", spec->process_array[i]->include); + if(spec->process_array[i]->start) { + printf("Started\n"); + } else { + printf("Not Started\n"); + } + displaypn(*(spec->process_array[i]->pn), stdout); + } + printf("======================\n"); + //display constraints + constraints = spec->constraint_list; + i = 0; + while(constraints != 0) { + constraints = constraints->next; + i++; + } + printf("Found %i constraints\n", i); + constraints = spec->constraint_list; + while(constraints != 0) { + displayExpression(constraints->expr, procs, 0, false); + constraints = constraints->next; + } + printf("======================\n"); + //display sync list + syncs = spec->synclist; + while(syncs) { + proc1 = (process*) procs->getI(procs, syncs->pn1); + proc2 = (process*) procs->getI(procs, syncs->pn2); + printf("Syncing %s.t%i and %s.t%i\n", proc1->instance, syncs->t1, proc2->instance, syncs->t2); + syncs = syncs->next; + } + printf("***********************\n\n"); + } + + static bool displayExpression(expression* expr, pANTLR3_HASH_TABLE procs, int depth, bool indent) { + bool ret = false; + if(indent) { + int i; + //indentation + for(i = 0; i < depth; i++) { + printf(" "); + } + } + printf("expr->"); + if(expr->left_expr) { + indent = displayExpression(expr->left_expr, procs, depth+1, false); + } else if(expr->left_ineq) { + displayInequality(expr->left_ineq, procs, depth+1, false); + indent = true; + } else { + fprintf(stderr, "ERROR: No left component to expression\n"); + exit(2); + } + if(expr->right_expr) { + ret = displayExpression(expr->right_expr, procs, depth+1, true); + } else if(expr->right_ineq) { + displayInequality(expr->right_ineq, procs, depth+1, indent); + ret = true; + } + return ret; + } + + static void displayInequality(inequality* ineq, pANTLR3_HASH_TABLE procs, int depth, bool indent) { + variable* var; + process* proc; + var = ineq->variable_list; + if(indent) { + int i; + //indentation + for(i = 0; i < depth; i++) { + printf(" "); + } + } + printf("ineq: "); + while(var) { + proc = (process*) procs->getI(procs, var->pn); + if(var->coefficient != 1) { + printf("%i*", var->coefficient); + } + if(var->type == PARIKHV) { + printf("q."); + } + printf("%s.", proc->instance); + if(var->type == MARKINGV) { + printf("p"); + } else { + printf("t"); + } + printf("%i", var->index); + if(var->next) { + printf(" + "); + } + var = var->next; + } + printf(" <= %i\n", ineq->free_term); + } /* Declare the bitsets @@ -1153,7 +1283,7 @@ */ /** * $ANTLR start pn - * /Users/bion/projects/iordache/translator/pngenerator.g:140:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; + * /Users/bion/projects/iordache/translator/pngenerator.g:270:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; */ static specs* pn(ppngenerator ctx, ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName) @@ -1180,10 +1310,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:156:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:286:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: ( proc_definitions )+ { int cnt1=0; @@ -1243,7 +1373,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1277,7 +1407,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:286:22: ( proc_instantiations )+ { int cnt2=0; @@ -1323,7 +1453,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:286:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1358,7 +1488,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:286:43: ( constraints )* for (;;) { @@ -1376,7 +1506,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:286:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1399,7 +1529,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:286:56: ( other_commands )* for (;;) { @@ -1417,7 +1547,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:156:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:286:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1454,16 +1584,14 @@ list = (void**) threads->iter(threads, i); output->process_array[i] = (process*) list[kPROC]; output->pn_array[i] = output->process_array[i]->pn; - if(is_verbose() >= 5) { - printf("=============================\n"); - printf("Process %s\n", list[kNAME]); - displaypn(*(output->pn_array[i]), stderr); - } } output->constraint_list = constraintList; //tie off the synclist free(synclist->next); synclist->next = 0; + if(is_verbose() >= 5) { + displaySpec(output); + } ret= output; } @@ -1490,7 +1618,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:183:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:311:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1500,8 +1628,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:189:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:189:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:317:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:317:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1521,7 +1649,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:189:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:317:16: ( trans_defs )* for (;;) { @@ -1539,7 +1667,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:317:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1562,7 +1690,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:189:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:317:28: ( select_functions )* for (;;) { @@ -1580,7 +1708,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:317:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1603,7 +1731,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:189:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:317:46: ( nondeterm )? { int alt7=2; { @@ -1616,7 +1744,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:189:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:317:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1666,7 +1794,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:190:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:318:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1683,8 +1811,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:194:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:194:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:322:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:322:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1740,7 +1868,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:217:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:345:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1751,7 +1879,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:218:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:346:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1784,7 +1912,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:218:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:346:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1799,7 +1927,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:219:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:347:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1836,7 +1964,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:220:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:348:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1859,11 +1987,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:226:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:226:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:354:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:354:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:226:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:354:6: ( TO | FROM ) { int alt9=2; @@ -1893,7 +2021,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:226:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:354:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -1911,7 +2039,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:229:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:357:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -1938,7 +2066,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:232:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:360:6: ( ID )+ { int cnt10=0; @@ -1958,7 +2086,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:232:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:360:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2025,7 +2153,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:236:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:364:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2062,7 +2190,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:247:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:375:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2138,7 +2266,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:247:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:375:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2180,7 +2308,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:256:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:384:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2201,7 +2329,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:258:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:386:5: (place= ID )+ { int cnt11=0; @@ -2221,7 +2349,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:258:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:386:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2275,7 +2403,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:274:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:402:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2288,7 +2416,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:274:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:402:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2323,7 +2451,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:280:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:408:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2356,7 +2484,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:284:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:412:5: (place= ID )* for (;;) { @@ -2374,7 +2502,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:284:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:412:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2415,7 +2543,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:299:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:427:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2428,7 +2556,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:299:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:427:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2485,7 +2613,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:304:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:432:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2501,8 +2629,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:305:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:305:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:433:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:433:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2568,7 +2696,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:312:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:440:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2582,8 +2710,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:313:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:313:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:441:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2598,7 +2726,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:313:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:441:34: ( ID )+ { int cnt16=0; @@ -2618,7 +2746,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:313:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:441:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2686,7 +2814,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:320:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:448:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2696,11 +2824,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:326:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:454:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:454:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:454:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2735,7 +2863,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:454:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2750,7 +2878,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:454:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2765,7 +2893,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:326:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:454:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2807,7 +2935,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:328:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:456:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2832,7 +2960,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:333:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -2884,7 +3012,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:333:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -2915,7 +3043,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:350:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:478:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -2946,7 +3074,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:362:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:490:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -2966,7 +3094,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:362:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:490:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3052,7 +3180,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:377:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:505:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3072,8 +3200,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:382:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:382:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:510:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:510:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3088,7 +3216,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:382:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:510:15: ( group_elements )+ { int cnt20=0; @@ -3108,7 +3236,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:382:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:510:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3222,7 +3350,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:427:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:555:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3236,8 +3364,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:428:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:428:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:556:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:556:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3252,7 +3380,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:428:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:556:12: ( ID )+ { int cnt21=0; @@ -3272,7 +3400,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:428:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:556:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3342,7 +3470,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:436:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:564:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3356,8 +3484,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:443:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:443:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:571:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:571:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3377,7 +3505,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:443:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:571:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3412,10 +3540,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:571:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:443:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:571:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:571:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3457,7 +3585,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:592:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3472,7 +3600,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:592:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3487,7 +3615,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:464:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:592:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3542,7 +3670,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:465:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:593:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3556,8 +3684,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:466:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:466:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:594:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:594:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3608,7 +3736,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:485:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:613:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3642,7 +3770,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:490:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:618:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3675,7 +3803,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:490:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:618:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3693,10 +3821,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:491:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:619:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:491:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:619:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3726,7 +3854,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:491:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:619:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3743,7 +3871,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:493:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:621:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3852,7 +3980,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:517:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:645:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -3875,8 +4003,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:525:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:525:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:653:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:653:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -3950,7 +4078,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:538:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:666:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -3967,7 +4095,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:539:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:667:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4006,7 +4134,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:539:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:667:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4024,7 +4152,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:540:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:668:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4068,7 +4196,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:541:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:669:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4134,7 +4262,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:543:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:671:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4160,7 +4288,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:544:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:672:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4193,7 +4321,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:544:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:672:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary609); group_elements21=group_elements(ctx); @@ -4217,7 +4345,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:551:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:679:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary620); if (HASEXCEPTION()) @@ -4289,7 +4417,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:558:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:686:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4309,7 +4437,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:562:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:690:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4380,7 +4508,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:562:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:690:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def642); if (HASEXCEPTION()) @@ -4412,7 +4540,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:569:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:697:5: ( ID )* for (;;) { @@ -4430,7 +4558,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:569:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:697:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def649); if (HASEXCEPTION()) @@ -4478,7 +4606,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:582:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:710:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def662); if (HASEXCEPTION()) @@ -4493,7 +4621,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:582:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:710:11: ( ID )+ { int cnt28=0; @@ -4513,7 +4641,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:582:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:710:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def665); if (HASEXCEPTION()) @@ -4584,7 +4712,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:587:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:715:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4598,8 +4726,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:588:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:588:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:716:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:716:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol680); if (HASEXCEPTION()) @@ -4614,7 +4742,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:588:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:716:16: ( ID )+ { int cnt30=0; @@ -4634,7 +4762,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:588:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:716:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol683); if (HASEXCEPTION()) @@ -4702,7 +4830,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:593:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:721:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4716,8 +4844,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:594:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:594:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:722:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:722:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve698); if (HASEXCEPTION()) @@ -4732,7 +4860,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:594:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:722:16: ( ID )+ { int cnt31=0; @@ -4752,7 +4880,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:594:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:722:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve701); if (HASEXCEPTION()) @@ -4820,7 +4948,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:600:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:728:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4830,8 +4958,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:601:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:601:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:729:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:729:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands716); print(ctx); @@ -4865,7 +4993,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:730:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -4875,8 +5003,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:603:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:603:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:731:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:731:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print727); if (HASEXCEPTION()) @@ -4936,7 +5064,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:605:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:733:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -4955,8 +5083,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:609:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:609:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:737:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:737:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements752); if (HASEXCEPTION()) @@ -4971,7 +5099,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:609:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:737:12: ( ID )+ { int cnt32=0; @@ -4991,7 +5119,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:609:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:737:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements755); if (HASEXCEPTION()) @@ -5057,7 +5185,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:612:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:740:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5078,7 +5206,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:613:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:741:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5130,7 +5258,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:613:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:741:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID774); if (HASEXCEPTION()) @@ -5149,7 +5277,7 @@ } br... [truncated message content] |
From: <the...@us...> - 2009-07-07 02:14:25
|
Revision: 172 http://pntool.svn.sourceforge.net/pntool/?rev=172&view=rev Author: thecodeweasel Date: 2009-07-07 02:07:10 +0000 (Tue, 07 Jul 2009) Log Message: ----------- Forgot to count the sync statements Modified Paths: -------------- translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-07 02:05:05 UTC (rev 171) +++ translator/pngenerator.c 2009-07-07 02:07:10 UTC (rev 172) @@ -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/pngenerator.g - * - On : 2009-07-06 21:01:45 + * - On : 2009-07-06 21:06:28 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -955,7 +955,14 @@ printf("======================\n"); //display sync list syncs = spec->synclist; + i = 0; while(syncs) { + syncs = syncs->next; + i++; + } + printf("Found %i sync statements\n", i); + syncs = spec->synclist; + while(syncs) { proc1 = (process*) procs->getI(procs, syncs->pn1); proc2 = (process*) procs->getI(procs, syncs->pn2); printf("Syncing %s.t%i and %s.t%i\n", proc1->instance, syncs->t1, proc2->instance, syncs->t2); @@ -1283,7 +1290,7 @@ */ /** * $ANTLR start pn - * /Users/bion/projects/iordache/translator/pngenerator.g:270:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; + * /Users/bion/projects/iordache/translator/pngenerator.g:277:1: pn[ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName] returns [specs* ret] : ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ; */ static specs* pn(ppngenerator ctx, ASSOC_ARRAY* procData, ASSOC_ARRAY* threadData, char* fileName) @@ -1310,10 +1317,10 @@ constraintList = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:286:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) - // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:293:2: ( ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: ( proc_definitions )+ ( proc_instantiations )+ ( constraints )* ( other_commands )* { - // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: ( proc_definitions )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: ( proc_definitions )+ { int cnt1=0; @@ -1373,7 +1380,7 @@ switch (alt1) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:286:4: proc_definitions + // /Users/bion/projects/iordache/translator/pngenerator.g:293:4: proc_definitions { FOLLOWPUSH(FOLLOW_proc_definitions_in_pn71); proc_definitions(ctx); @@ -1407,7 +1414,7 @@ } loop1: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:286:22: ( proc_instantiations )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:293:22: ( proc_instantiations )+ { int cnt2=0; @@ -1453,7 +1460,7 @@ switch (alt2) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:286:22: proc_instantiations + // /Users/bion/projects/iordache/translator/pngenerator.g:293:22: proc_instantiations { FOLLOWPUSH(FOLLOW_proc_instantiations_in_pn74); proc_instantiations(ctx); @@ -1488,7 +1495,7 @@ loop2: ; /* Jump to here if this rule does not match */ } - // /Users/bion/projects/iordache/translator/pngenerator.g:286:43: ( constraints )* + // /Users/bion/projects/iordache/translator/pngenerator.g:293:43: ( constraints )* for (;;) { @@ -1506,7 +1513,7 @@ switch (alt3) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:286:43: constraints + // /Users/bion/projects/iordache/translator/pngenerator.g:293:43: constraints { FOLLOWPUSH(FOLLOW_constraints_in_pn77); constraints(ctx); @@ -1529,7 +1536,7 @@ loop3: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:286:56: ( other_commands )* + // /Users/bion/projects/iordache/translator/pngenerator.g:293:56: ( other_commands )* for (;;) { @@ -1547,7 +1554,7 @@ switch (alt4) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:286:56: other_commands + // /Users/bion/projects/iordache/translator/pngenerator.g:293:56: other_commands { FOLLOWPUSH(FOLLOW_other_commands_in_pn80); other_commands(ctx); @@ -1618,7 +1625,7 @@ /** * $ANTLR start proc_definitions - * /Users/bion/projects/iordache/translator/pngenerator.g:311:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:318:1: proc_definitions : ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ; */ static void proc_definitions(ppngenerator ctx) @@ -1628,8 +1635,8 @@ ctx->ppngenerator_proc_definitionsTop = ppngenerator_proc_definitionsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:317:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:317:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:324:2: ( ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:324:4: ^( def_start ( trans_defs )* ( select_functions )* ( nondeterm )? ) { FOLLOWPUSH(FOLLOW_def_start_in_proc_definitions98); def_start(ctx); @@ -1649,7 +1656,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:317:16: ( trans_defs )* + // /Users/bion/projects/iordache/translator/pngenerator.g:324:16: ( trans_defs )* for (;;) { @@ -1667,7 +1674,7 @@ switch (alt5) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:317:16: trans_defs + // /Users/bion/projects/iordache/translator/pngenerator.g:324:16: trans_defs { FOLLOWPUSH(FOLLOW_trans_defs_in_proc_definitions100); trans_defs(ctx); @@ -1690,7 +1697,7 @@ loop5: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:317:28: ( select_functions )* + // /Users/bion/projects/iordache/translator/pngenerator.g:324:28: ( select_functions )* for (;;) { @@ -1708,7 +1715,7 @@ switch (alt6) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:317:28: select_functions + // /Users/bion/projects/iordache/translator/pngenerator.g:324:28: select_functions { FOLLOWPUSH(FOLLOW_select_functions_in_proc_definitions103); select_functions(ctx); @@ -1731,7 +1738,7 @@ loop6: ; /* Jump out to here if this rule does not match */ - // /Users/bion/projects/iordache/translator/pngenerator.g:317:46: ( nondeterm )? + // /Users/bion/projects/iordache/translator/pngenerator.g:324:46: ( nondeterm )? { int alt7=2; { @@ -1744,7 +1751,7 @@ switch (alt7) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:317:46: nondeterm + // /Users/bion/projects/iordache/translator/pngenerator.g:324:46: nondeterm { FOLLOWPUSH(FOLLOW_nondeterm_in_proc_definitions106); nondeterm(ctx); @@ -1794,7 +1801,7 @@ /** * $ANTLR start def_start - * /Users/bion/projects/iordache/translator/pngenerator.g:318:1: def_start : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:325:1: def_start : ID ; */ static void def_start(ppngenerator ctx) @@ -1811,8 +1818,8 @@ ID1 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:322:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:322:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:329:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:329:4: ID { ID1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_def_start122); if (HASEXCEPTION()) @@ -1868,7 +1875,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:345:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:352:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1879,7 +1886,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:346:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:353:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1912,7 +1919,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:346:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:353:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1927,7 +1934,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:347:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:354:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1964,7 +1971,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:348:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:355:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1987,11 +1994,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:354:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:354:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:361:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:361:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:354:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:361:6: ( TO | FROM ) { int alt9=2; @@ -2021,7 +2028,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:354:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:361:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -2039,7 +2046,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:357:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:364:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -2066,7 +2073,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:360:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:367:6: ( ID )+ { int cnt10=0; @@ -2086,7 +2093,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:360:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:367:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2153,7 +2160,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:364:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:371:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2190,7 +2197,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:375:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:382:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2266,7 +2273,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:375:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:382:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2308,7 +2315,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:384:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:391:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2329,7 +2336,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:386:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:393:5: (place= ID )+ { int cnt11=0; @@ -2349,7 +2356,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:386:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:393:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2403,7 +2410,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:402:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:409:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2416,7 +2423,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:402:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:409:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2451,7 +2458,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:408:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:415:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2484,7 +2491,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:412:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:419:5: (place= ID )* for (;;) { @@ -2502,7 +2509,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:412:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:419:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2543,7 +2550,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:427:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:434:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2556,7 +2563,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:427:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:434:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2613,7 +2620,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:432:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:439:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2629,8 +2636,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:433:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:433:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:440:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:440:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2696,7 +2703,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:440:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:447:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2710,8 +2717,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:441:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:441:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:448:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:448:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2726,7 +2733,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:441:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:448:34: ( ID )+ { int cnt16=0; @@ -2746,7 +2753,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:441:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:448:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2814,7 +2821,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:448:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:455:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2824,11 +2831,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:454:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:454:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:454:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2863,7 +2870,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:454:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:461:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2878,7 +2885,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:454:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:461:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2893,7 +2900,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:454:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:461:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2935,7 +2942,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:456:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:463:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2960,7 +2967,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:461:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:468:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -3012,7 +3019,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:461:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -3043,7 +3050,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:478:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:485:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -3074,7 +3081,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:490:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:497:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -3094,7 +3101,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:490:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:497:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3180,7 +3187,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:505:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:512:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3200,8 +3207,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:510:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:510:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:517:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:517:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3216,7 +3223,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:510:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:517:15: ( group_elements )+ { int cnt20=0; @@ -3236,7 +3243,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:510:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:517:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3350,7 +3357,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:555:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:562:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3364,8 +3371,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:556:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:556:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:563:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:563:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3380,7 +3387,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:556:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:563:12: ( ID )+ { int cnt21=0; @@ -3400,7 +3407,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:556:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:563:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3470,7 +3477,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:564:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:571:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3484,8 +3491,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:571:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:571:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:578:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:578:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3505,7 +3512,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:571:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:578:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3540,10 +3547,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:571:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:578:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:571:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:571:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:578:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:578:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3585,7 +3592,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:592:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:599:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3600,7 +3607,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:592:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:599:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3615,7 +3622,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:592:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:599:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3670,7 +3677,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:593:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:600:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3684,8 +3691,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:594:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:594:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:601:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:601:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3736,7 +3743,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:613:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:620:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3770,7 +3777,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:618:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:625:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3803,7 +3810,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:618:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:625:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3821,10 +3828,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:619:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:626:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:619:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:626:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3854,7 +3861,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:619:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:626:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3871,7 +3878,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:621:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:628:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3980,7 +3987,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:645:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:652:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -4003,8 +4010,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:653:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:653:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:660:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:660:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -4078,7 +4085,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:666:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:673:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -4095,7 +4102,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:667:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:674:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4134,7 +4141,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:667:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:674:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4152,7 +4159,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:668:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:675:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4196,7 +4203,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:669:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:676:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4262,7 +4269,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:671:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:678:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4288,7 +4295,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:672:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:679:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4321,7 +4328,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:672:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:679:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary609); group_elements21=group_elements(ctx); @@ -4345,7 +4352,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:679:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:686:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary620); if (HASEXCEPTION()) @@ -4417,7 +4424,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:686:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:693:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4437,7 +4444,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:690:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:697:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4508,7 +4515,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:690:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:697:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def642); if (HASEXCEPTION()) @@ -4540,7 +4547,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:697:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:704:5: ( ID )* for (;;) { @@ -4558,7 +4565,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:697:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:704:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def649); if (HASEXCEPTION()) @@ -4606,7 +4613,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:710:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:717:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def662); if (HASEXCEPTION()) @@ -4621,7 +4628,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:710:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:717:11: ( ID )+ { int cnt28=0; @@ -4641,7 +4648,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:710:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:717:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def665); if (HASEXCEPTION()) @@ -4712,7 +4719,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:715:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:722:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4726,8 +4733,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:716:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:716:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:723:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:723:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol680); if (HASEXCEPTION()) @@ -4742,7 +4749,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:716:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:723:16: ( ID )+ { int cnt30=0; @@ -4762,7 +4769,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:716:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:723:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol683); if (HASEXCEPTION()) @@ -4830,7 +4837,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:721:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:728:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4844,8 +4851,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:722:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:722:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:729:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:729:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve698); if (HASEXCEPTION()) @@ -4860,7 +4867,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:722:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:729:16: ( ID )+ { int cnt31=0; @@ -4880,7 +4887,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:722:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:729:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve701); if (HASEXCEPTION()) @@ -4948,7 +4955,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:728:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:735:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4958,8 +4965,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:729:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:729:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:736:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:736:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands716); print(ctx); @@ -4993,7 +5000,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:730:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:737:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -5003,8 +5010,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:731:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:731:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:738:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:738:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print727); if (HASEXCEPTION()) @@ -5064,7 +5071,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:733:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:740:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -5083,8 +5090,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:737:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:737:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:744:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:744:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements752); if (HASEXCEPTION()) @@ -5099,7 +5106,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:737:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:744:12: ( ID )+ { int cnt32=0; @@ -5119,7 +5126,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:737:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:744:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements755); if (HASEXCEPTION()) @@ -5185,7 +5192,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:740:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:747:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5206,7 +5213,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:741:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:748:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5258,7 +5265,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:741:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:748:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID774); if (HASEXCEPTION()) @@ -5277,7 +5284,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:746:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pngenerator.g:753:4: ^( ID INT ) { ID30 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID782); if (HASEXCEPTION()) Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-07 02:05:05 UTC (rev 171) +++ translator/pngenerator.g 2009-07-07 02:07:10 UTC (rev 172) @@ -193,7 +193,14 @@ printf("======================\n"); //display sync list syncs = spec->synclist; + i = 0; while(syncs) { + syncs = syncs->next; + i++; + } + printf("Found \%i sync statements\n", i); + syncs = spec->synclist; + while(syncs) { proc1 = (process*) procs->getI(procs, syncs->pn1); proc2 = (process*) procs->getI(procs, syncs->pn2); printf("Syncing \%s.t\%i and \%s.t\%i\n", proc1->instance, syncs->t1, proc2->instance, syncs->t2); Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-07 02:05:05 UTC (rev 171) +++ translator/pngenerator.h 2009-07-07 02:07:10 UTC (rev 172) @@ -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/pngenerator.g - * - On : 2009-07-06 21:01:45 + * - On : 2009-07-06 21:06:28 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-06 21:02:11
|
Revision: 169 http://pntool.svn.sourceforge.net/pntool/?rev=169&view=rev Author: thecodeweasel Date: 2009-07-06 20:55:22 +0000 (Mon, 06 Jul 2009) Log Message: ----------- working on GCC 3 support Modified Paths: -------------- translator/Makefile Modified: translator/Makefile =================================================================== --- translator/Makefile 2009-07-06 19:54:06 UTC (rev 168) +++ translator/Makefile 2009-07-06 20:55:22 UTC (rev 169) @@ -1,5 +1,5 @@ COMPILER=gcc -g -std=gnu89 -O0 -INCLUDES=-iquote../pnheaders -I../third-party/ANTLR3_ctarget_3_1_3 -I../third-party/ANTLR3_ctarget_3_1_3/include +INCLUDES=-I../pnheaders -I../third-party/ANTLR3_ctarget_3_1_3 -I../third-party/ANTLR3_ctarget_3_1_3/include pnscript : dataStructures.o main.o pnscriptParser.o pnscriptLexer.o pncompactor.o pngenerator.o ar -rs libtranslator.a *.o ../third-party/ANTLR3_ctarget_3_1_3/*.o This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-06 21:02:11
|
Revision: 170 http://pntool.svn.sourceforge.net/pntool/?rev=170&view=rev Author: thecodeweasel Date: 2009-07-06 21:02:05 +0000 (Mon, 06 Jul 2009) Log Message: ----------- Apparently gcc 3.x and g++ is as good as gcc 4 Modified Paths: -------------- translator/README.txt Modified: translator/README.txt =================================================================== --- translator/README.txt 2009-07-06 20:55:22 UTC (rev 169) +++ translator/README.txt 2009-07-06 21:02:05 UTC (rev 170) @@ -2,7 +2,7 @@ All ANTLR and related code is distributed under the BSD License (http://www.antlr.org/license.html). My understanding is that this includes the clibs directory (ANTLR C Target libraries) and the generated parser/lexer/treewalker code (pnscriptParser.*, pnscriptLexer.*, pncompactor.c/h, pngenerator.c/h. Also, all *.g files were developed using ANTLRWorks 1.2.3. License files can be found in the top level directory of this project. #DEPENDENCIES: -This grammar should build independently on any unix-compliant OS (including Unix emulators) with GCC 4.x or greater, patch, autoconf, and automake. +This grammar should build independently on any unix-compliant OS (including Unix emulators) with gcc 3.x or greater, g++ (for antler configuration), patch, autoconf, and automake. #COMPILING 1. To compile the translator, run 'make' in the project directory This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Ste...@us...> - 2009-07-06 19:54:10
|
Revision: 168 http://pntool.svn.sourceforge.net/pntool/?rev=168&view=rev Author: StephenCamp Date: 2009-07-06 19:54:06 +0000 (Mon, 06 Jul 2009) Log Message: ----------- actn.c: Fixed a bad array length initialization. linenf.c: Fixed overall status reporting. Was testing the wrong set of possible results from ilpadm. Note that this error is present in the original Matlab code. (Examines ilpadm status for "impossible", where ilpadm returns "infeasible") Added tactn.c and test routines & scripts. The function compiles and the tests run without runtime errors. Test output has NOT been examined for correctness yet. Modified Paths: -------------- spnbox/actn.c spnbox/linenf.c spnbox/spnbox.h Added Paths: ----------- spnbox/tactn.c spnbox/tests/test-tactn.c spnbox/tests/test-tactn.mak spnbox/tests/test-tactn.txt Modified: spnbox/actn.c =================================================================== --- spnbox/actn.c 2009-07-06 05:26:21 UTC (rev 167) +++ spnbox/actn.c 2009-07-06 19:54:06 UTC (rev 168) @@ -114,9 +114,9 @@ } /*Build Dx. It should include only columns of D whose indices are not in X.*/ AllocateMatrixType(2, &Dx, NumberOfRows(*D) + 1, Transitions); + j = 0; for (i = 0; i < NumberOfColumns(*D); i++) - { - + { if (! UnraisableT[i]) { /*Fill in the last row.*/ @@ -154,6 +154,7 @@ } //ipsolve_r ipsolve(matrix* L, double* B, double* f, short int *IntList, double *ub, double *lb, short int *ctype); result = ipsolve(&Dx, B, 0, IntList, 0, 0, 0); + if (result.res) free(result.res); /*If we get a valid solution, then free memory and return false.*/ if (! strcmp(result.mhow, HOW_OK)) Modified: spnbox/linenf.c =================================================================== --- spnbox/linenf.c 2009-07-06 05:26:21 UTC (rev 167) +++ spnbox/linenf.c 2009-07-06 19:54:06 UTC (rev 168) @@ -57,7 +57,7 @@ /*Variables*/ int i, j, k, Constraints, Places, Transitions, NewPlaces, NewTransitions, NewTucCount, NewCRows; int ldp, ldm; - int NotSolved = 0, Impossible = 0; + int NotSolved = 0, Infeasible = 0; int *NewTuc; matrix D, NewD, NewDm, NewDp, NewL, NewF, NewC; int* Newm0; @@ -255,9 +255,9 @@ { NotSolved |= 1; } - if (! strcmp(AdmResult.dhow[0], HOW_IMPOSSIBLE)) + if (! strcmp(AdmResult.dhow[0], HOW_INFEASIBLE)) { - Impossible |= 1; + Infeasible |= 1; } } @@ -323,9 +323,9 @@ { Ret.how = HOW_NOTSOLVED; } - if (Impossible) + if (Infeasible) { - Ret.how = HOW_IMPOSSIBLE; + Ret.how = HOW_INFEASIBLE; } //Return return Ret; Modified: spnbox/spnbox.h =================================================================== --- spnbox/spnbox.h 2009-07-06 05:26:21 UTC (rev 167) +++ spnbox/spnbox.h 2009-07-06 19:54:06 UTC (rev 168) @@ -122,6 +122,10 @@ int unique; } actn_r; +/*The type of data returned by actn and tactn are identical. Create a tactn_r +type just for consistency's sake.*/ +typedef actn_r tactn_r; + /*Constants returned in by functions to indicate the nature of the result.*/ #define HOW_ERROR "error" #define HOW_OK "OK" @@ -524,4 +528,64 @@ Written for Matlab by Marian V. Iordache, mar...@le.... Converted to C by Marian Iordache and Stephen Camp, ste...@le.... */ + +tactn_r tactn(matrix* Dm, matrix* Dp, int* IncludeT, int IncludeTCount, int* ExcludeT, int ExcludeTCount, matrix *Dcm, matrix *Dcp, int checkUnique); +/* +TACTN - Computes a T-minimal active subnet of a Petri net + +[Dma, Dpa, Dmra, Dpra, TA] = tactn(Dm, Dp, T, Z) +[Dma, Dpa, Dmra, Dpra, TA, unique] = tactn(Dm, Dp, T, Z) + +This function computes a subnet of the Petri net structure (Dm, Dp), +such that +(a) the subnet can be made live +(b) it contains the transitions in T and no transitions in Z +(c) there is no other subnet satisfying (a) and (b) and having less + transitions. + + - (Dma, Dpa) and (Dmra, Dpra) are incidence matrix representations + of the computed subnet. + - TA is the set of transitions of the subnet. + - unique = 1 if there is a unique subnet satisfying (a), (b) and (c). + +When no subnet satisfying (a) and (b) exists, the procedure yields a +subnet such that +(a) the subnet can be made live +(b) it does not contain the transitions in Z +(c) there is no other subnet satisfying (a) and (b) and having more + transitions in T. + + - unique = 1 if there is a unique subnet satisfying (a), (b) and (c). + +The function can be employed to do only an update in the following format + +[Dma, Dpa, Dmra, Dpra] = tactn(Dm, Dp, T, Z, Dma, Dpa) + +In this format only an update is made: the transitions of the +active subnet are found based only on the former subnet given +by Dma and Dpa. + +For convenience, the outcome is produced as matrices of the +same size as (Dm, Dp): (Dma, Dpa) and also at reduced size: +(Dmra, Dpra), where 'm' stands for '-' and 'p' for '+'. + +The default values for T and Z are T - the total set of transitions +and Z - empty. Therefore the following simplified formats can be used: + +[Dma, Dpa, Dmra, Dpra] = tactn(Dm, Dp) + +[Dma, Dpa, Dmra, Dpra] = tactn(Dm, Dp, T) + +When only two arguments are used, TACTN is equivalent to ACTN: it +computes the maximal active subnet. + +See also ACTN and NLTRANS. + +Written for Matlab by Marian V. Iordache, mar...@le... + +Marian V. Iordache, Sep. 5, 2000. +Revised on Oct. 24, 2001, and enhanced in February 2002. + +Converted to C by Marian V. Iordache and Stephen Camp, ste...@le.... +*/ #endif Added: spnbox/tactn.c =================================================================== --- spnbox/tactn.c (rev 0) +++ spnbox/tactn.c 2009-07-06 19:54:06 UTC (rev 168) @@ -0,0 +1,794 @@ +#include <stdlib.h> +#include "../pnheaders/matrix.h" +#include "matrixmath.h" +#include "MemoryManager.h" +#include "spnbox.h" + +static int CheckParams(matrix* Dm, matrix* Dp, int **IncludeT, int *IncludeTCount, int ** ExcludeT, int *ExcludeTCount, matrix *Dcm, matrix *Dcp, MemoryManager* mem); + +static int* updateActn(matrix* Dm, matrix* Dp, matrix* Dcm, matrix* Dcp); + +static int* GetKeepT0(matrix *D, int *ExcludeFlag, int *IncludeFlag, int ExcludedTCount); + +static void minactn(int *keepTransition, matrix *D, int *IncludeFlag); + +static int* maxactn(matrix *D, int *IncludeFlag, int *ExcludeFlag); + +static int* keepPlaces(matrix* Dm, int* keepTransition); + +static tactn_r BuildResult(matrix* Dm, matrix* Dp, int* cullPlace, int* cullTrans); + +static int isUnique(matrix* D, int* keepTransition, int *IncludeFlag, int *ExcludeFlag); + +tactn_r tactn(matrix* Dm, matrix* Dp, int* IncludeT, int IncludeTCount, int* ExcludeT, int ExcludeTCount, matrix *Dcm, matrix *Dcp, int checkUnique) +{ + tactn_r result; + MemoryManager memory; + matrix D; /*The incidence matrix*/ + int *keepTransition; /*An array of flags, one for each transition, set if it + should be culled (is unraisable)*/ + int *keepPlace; /*An array of flags, one for each place, set if the place + should be culled.*/ + int *IncludeFlag, *ExcludeFlag; + int i; + + /*Initialize the error return value*/ + memset(&result, 0, sizeof(tactn_r)); + + /*Initialize the memory manager*/ + memory = CreateMemoryManager(10, 5, 0, 0); + + /*Check the parameters.*/ + if (! CheckParams(Dm, Dp, &IncludeT, &IncludeTCount, &ExcludeT, &ExcludeTCount, Dcm, Dcp, &memory)) return result; + + /*Get the incidence matrix - we'll need it later.*/ + D = SubtractMatrix(Dp, Dm, (matrix*) 2); + ManageMatrix(&memory, &D); + /*Get flag arrays corresponding to the IncludeT and ExcludeT index arrays.*/ + IncludeFlag = mcalloc(&memory, NumberOfColumns(D), sizeof(int)); + ExcludeFlag = mcalloc(&memory, NumberOfColumns(D), sizeof(int)); + for (i = 0; i < IncludeTCount; i++) + { + IncludeFlag[IncludeT[i]] = 1; + } + for (i = 0; i < ExcludeTCount; i++) + { + ExcludeFlag[IncludeT[i]] = 1; + } + + if (Dcm && Dcp) + { + /*If we are in update mode, use the updateActn function to get the + keepable transitions.*/ + keepTransition = updateActn(Dm, Dp, Dcm, Dcp); + } + else + { + /*Otherwise, determine if we need to use minactn or maxactn to get the + transitions in the active subnet. GetKeepT0 returns the initial keepable- + transition flag vector needed by minactn if it should be run and a null + pointer if maxactn should be run.*/ + if (keepTransition = GetKeepT0(&D, ExcludeFlag, IncludeFlag, ExcludeTCount)) + { + minactn(keepTransition, &D, IncludeFlag); + } + else + { + keepTransition = maxactn(&D, IncludeFlag, ExcludeFlag); + } + } + ManageMemory(&memory, keepTransition); + + /*Build the cullPlace flags, which will be cleared only for places that + have nonzero output arcs to transitions that are not being culled.*/ + keepPlace = keepPlaces(Dm, keepTransition); + ManageMemory(&memory, keepPlace); + + /*Build the final output.*/ + result = BuildResult(Dm, Dp, keepPlace, keepTransition); + + /*Do an isUnique test only if the checkUnique flag is set, since the test + does several linear programming problems and is thus rather slow.*/ + if (checkUnique) + { + result.unique = isUnique(&D, keepTransition, IncludeFlag, ExcludeFlag); + } + + /*Clean up.*/ + FreeMemory(&memory); + + return result; +} + +/******************************************************************************* +isUnique examines the petri net and the given set of unraisable transitions to +determine if the live subnet that will be returned is unique. It is only called +when the actn caller requests it.*/ +int isUnique(matrix* D, int* keepTransition, int *IncludeFlag, int *ExcludeFlag) +{ + /*We will be doing a linear programming problem for each transition such that + it is flagged in keepTransition, not flagged in IncludeFlag, and not flagged + in ExcludeFlag. + The constraint matrix will be the subset of D having only the columns + corresponding to transitions not flagged in ExcludeFlag, with a row of 1s + concatenated onto the bottom, and the column corresponding to whichever + transition is currently being tested removed (or in this case, zeroed).*/ + matrix Dx, dx; + int i, j, Transitions = 0, StoredT; + double* B; + short int *IntList; + ipsolve_r result; + + for (i = 0; i < NumberOfColumns(*D); i++) + { + if (! ExcludeFlag[i]) Transitions++; + } + //If no transitions are being evaluated, return true. + if (! Transitions) return 1; + + /*Build Dx. It should include only columns of D not flagged in ExcludeFlag.*/ + AllocateMatrixType(2, &Dx, NumberOfRows(*D) + 1, Transitions); + j = 0; + for (i = 0; i < NumberOfColumns(*D); i++) + { + + if (! ExcludeFlag[i]) + { + /*Fill in the last row.*/ + SetMatrixEl(&Dx, NumberOfRows(*D), j, 1); + /*Fill in the other rows*/ + CopyBlock(NumberOfRows(*D), 1, D, 0, i, &Dx, 0, j++); + } + } + + /*Allocate space to record the values of the current column while it is + zeroed.*/ + AllocateMatrixType(1, &dx, NumberOfRows(*D) + 1, 1); + + /*Build B. It is all zeroes except for a 1 in the last element.*/ + B = tcalloc(NumberOfRows(*D) + 1, sizeof(double)); + B[NumberOfRows(*D)] = 1; + + /*IntList needs to be all zeroes to override the default of all 1s.*/ + IntList = tcalloc(Transitions, sizeof(short int)); + + /*We will be zeroing and restoring certain columns. Store the index of the + currently-stored column in StoredT. Defaults to -1 to indicate no stored + column.*/ + StoredT = -1; + + /*Iterate through the transitions*/ + for (i = 0; i < NumberOfColumns(*D); i++) + { + /*Skip each transition such that it is not flagged in keepTransition, + flagged in IncludeFlag, or flagged in ExcludeFlag.*/ + if ((! keepTransition[i]) || IncludeFlag[i] || ExcludeFlag[i]) continue; + + /*Zero a column of Dx and store it temporarily in dx for later restoration*/ + for (j = 0; j <= NumberOfRows(*D); j++) + { + //Restore the previous transition (if there is one to restore) + if (StoredT >= 0) SetMatrixEl(&Dx, j, i - 1, GetMatrixEl(&dx, j, 0)); + //Copy the current transition + SetMatrixEl(&dx, j, 0, GetMatrixEl(&Dx, j, i)); + //Zero the current transition. + SetMatrixEl(&Dx, j, i, 0); + } + /*Set the index of the newly-stored column.*/ + StoredT = i; + + result = ipsolve(&Dx, B, 0, IntList, 0, 0, 0); + /*If we get a valid solution, then free memory and return false.*/ + if (! strcmp(result.mhow, HOW_OK)) + { + free(IntList); + free(B); + DeallocateMatrix(&Dx); + DeallocateMatrix(&dx); + return 0; + } + } + //If we get through all transition without returning false, return true. + free(IntList); + free(B); + DeallocateMatrix(&Dx); + DeallocateMatrix(&dx); + return 1; +} + +/******************************************************************************* +BuildResult takes the list of places and transitions to keep from the total net +and builds the active subnet. It returns the result structure that will be +returned by tactn.*/ +tactn_r BuildResult(matrix* Dm, matrix* Dp, int* keepPlace, int* keepTrans) +{ + int Places = 0, Transitions = 0, i, j, k, l; + tactn_r result; + + /*All matrices are zeroed initially.*/ + memset(&result, 0, sizeof(tactn_r)); + + /*Count the number of places and transitions that are going to be left after + culling.*/ + for (i = 0; i < NumberOfRows(*Dm); i++) + { + if (keepPlace[i]) Places++; + } + for (i = 0; i < NumberOfColumns(*Dm); i++) + { + if (keepTrans[i]) Transitions++; + } + + /*Allocate space. Dma/Dmp are the same size as the original matrices but + contain only elements in non-culled rows and columns. Dmra/Dpra contain only + non-culled rows and columns. TA holds the indices of kept transitions.*/ + if (Places && Transitions) + { + AllocateMatrixType(2, &result.Dmra, Places, Transitions); + AllocateMatrixType(2, &result.Dpra, Places, Transitions); + } + AllocateMatrixType(2, &result.Dma, NumberOfRows(*Dm), NumberOfColumns(*Dm)); + AllocateMatrixType(2, &result.Dpa, NumberOfRows(*Dm), NumberOfColumns(*Dm)); + result.TA = tcalloc(Transitions, sizeof(int)); + result.TACount = Transitions; + /*Do the copy. k and l indicate the row and column numbers in the Dmra/Dpra + matrices. Fill in TA while we're at it.*/ + l = 0; + for (j = 0; j < NumberOfColumns(*Dm); j++) + { + if (! keepTrans[j]) continue; + k = 0; + for (i = 0; i < NumberOfRows(*Dm); i++) + { + if (! keepPlace[i]) continue; + SetMatrixEl(&result.Dma, i, j, GetMatrixEl(Dm, i, j)); + SetMatrixEl(&result.Dpa, i, j, GetMatrixEl(Dp, i, j)); + SetMatrixEl(&result.Dmra, k, l, GetMatrixEl(Dm, i, j)); + SetMatrixEl(&result.Dpra, k, l, GetMatrixEl(Dp, i, j)); + k++; + } + result.TA[l] = j; + l++; + } + return result; +} +/******************************************************************************* +keepPlaces examines the Petri net and the list of transitions to keep and +returns an array of integer flags, one for each place, indicating whether that +place should be kept.*/ +int* keepPlaces(matrix* Dm, int* keepTransition) +{ + int i, j; + int *keep; + /*Allocate and initialize the return value cull. It will be clear only for + places that have nonzero output arcs to transitions that are not being + culled.*/ + keep = tcalloc(NumberOfRows(*Dm), sizeof(int)); + for (i = 0; i < NumberOfRows(*Dm); i++) + { + /*Look to see if the current place has any nonzero output arcs to + transitions being kept.*/ + for (j = 0; j < NumberOfColumns(*Dm); j++) + { + if (GetMatrixEl(Dm, i, j) && (keepTransition[j])) + { + keep[i] = 1; + break; + } + } + } + return keep; +} + +/******************************************************************************* +maxactn finds the maximal active subnet. It functions by examining D, the +include and exclude transition flags, and building an initial keepable +transition flag array, and then passing it to minactn for processing. It returns +a pointer to the keepable transition flag array.*/ +int *maxactn(matrix *D, int *IncludeFlag, int *ExcludeFlag) +{ + /*We will be building the initial keepable transition flag array. This will + be done via a series of linear programming problems, using as constraint + matrix a copy of the Petri net incidence matrix with certain columns nulled + out and with a single constraint row of all ones (except for the null + columns).*/ + /*The flags used to indicate which transitions are to be non-nulled for the + linear programming problem of the current iteration of the processing loop. + We keep a copy of the flags for the previous iteration so that we can avoid + recopying or renulling a column that was already copied or nulled.*/ + int *oldFlag, *newFlag, *keepTransition; + /*Other parts of the linear programming problem.*/ + short *IntList; + double *B; + matrix L; + ipsolve_r lpResult; + + /*Other variables*/ + MemoryManager mem; + int i, j, keepGoing, DRows, DCols; + DRows = NumberOfRows(*D); + DCols = NumberOfColumns(*D); + + /*Allocate space*/ + mem = CreateMemoryManager(5, 1, 0, 0); + MAllocateMatrixType(&mem, 2, &L, DRows + 1, DCols + 1); + IntList = mcalloc(&mem, DCols, sizeof(short)); + B = mcalloc(&mem, DRows + 1, sizeof(double)); + oldFlag = mcalloc(&mem, DCols, sizeof(int)); + newFlag = mcalloc(&mem, DCols, sizeof(int)); + keepTransition = tcalloc(DCols, sizeof(int)); + + /*Initialize the flags, B, and the preprocessing keepGoing flag. The + preprocessing loop runs only until all elements of the Flag arrays are 0.*/ + keepGoing = 0; + B[DRows] = 1.0; + for (i = 0; i < DCols; i++) + { + if (IncludeFlag[i] && (! ExcludeFlag[i])) + { + newFlag[i] = 1; + keepGoing = 1; + } + } + + /*The preprocessing loop*/ + while (keepGoing) + { + /*Build the constraint matrix. Null out any columns that were filled last + time and fill in any columns that were nulled last time.*/ + for (i = 0; i < DCols; i++) + { + if (newFlag[i] && (! oldFlag[i])) + { + CopyBlock(DRows, 0, D, 0, i, &L, 0, i); + SetMatrixEl(&L, DRows, i, 1); + } + else if ((! newFlag[i]) && oldFlag[i]) + { + for (j = 0; j <= DRows; j++) + { + SetMatrixEl(&L, j, i, 0); + } + } + } + + /*Solve the linear programmig problem. Cost, bounds, and constraint types + can all be left as defaults.*/ + lpResult = ipsolve(&L, B, 0, IntList, 0, 0, 0); + + /*If the solve failed, terminate preprocessing immediately.*/ + if (strcmp(lpResult.mhow, HOW_OK)) + { + if (lpResult.res) free(lpResult.res); + break; + } + else + /*Otherwise, set all keepable transition flags with nonzero elements in the + solution vector and clear all transition flags corresponding to nonzero + elements in the solution vector. Copy the new flag array to the old one + first. Also use the loop to set the keepGoing flag only if there are any + set flags in the new flag array.*/ + { + keepGoing = 0; + memcpy(oldFlag, newFlag, sizeof(int) * DCols); + for (i = 0; i < DCols; i++) + { + /*Ignore solution elements from null columns and very small nonzero + solution elements.*/ + if (newFlag[i] && (lpResult.res[i] < -HOW_MAX_ERROR || lpResult.res[i] > HOW_MAX_ERROR)) + { + keepTransition[i] = 1; + newFlag[i] = 0; + } + /*Set the keepGoung flag if a nonzero flag element is found.*/ + if (newFlag[i]) keepGoing = 1; + } + free(lpResult.res); + } + } + /*Build a new transition-to-include flag array for the minactn call. It should + be the logic-and of the actual transition-to-include flag array and the + initial keepable transitions flag array. Use the newFlag array since the + storage space is already allocated.*/ + for (i = 0; i < DCols; i++) + { + if (IncludeFlag[i] && keepTransition[i]) + { + newFlag[i] = 1; + } + else + { + newFlag[i] = 0; + } + } + /*Do the minactn call. This will make appropriate modifications to the + keepTransition flags.*/ + minactn(keepTransition, D, newFlag); + + /*Free memory and return.*/ + FreeMemory(&mem); + return keepTransition; +} + +/******************************************************************************* +minactn finds the minimal active subnet of the given Petri net. It takes a +pointer to the array of transition which are to be kept, initialized by the +GetKeepT0 function, which it modifies in an iterative fashion. It also takes +a pointer to the incidence matrix and the flags indicating which transitions +must be included in the minimal active subnet. It modifes the keepTransition +flag array passed to it.*/ +void minactn(int *keepTransition, matrix *D, int *IncludeFlag) +{ + matrix L; + int i, j, k, Cols, Rows; + short *IntList; + double *B; + ipsolve_r lpResult; + Cols = NumberOfColumns(*D); + Rows = NumberOfRows(*D); + /*We will be iterating through each transition in D and doing a linear + programming problem. The constraint matrix will be a copy of D with + constraint columns for each zeroed element in keepTransition and for + the current column removed or zeroed.*/ + /*Allocate space and initialize.*/ + AllocateMatrixType(2, &L, Rows, Cols); + CopyMatrix(D, &L); + IntList = tcalloc(Cols, sizeof(short)); + B = tcalloc(Rows, sizeof(double)); + + for (i = 0; i < Cols; i++) + { + /*We only process a subset of transitions - those which have not already + been marked as unkeepable and those which are NOT flagged in IncludeFlag.*/ + if (keepTransition[i] && (! IncludeFlag[i])) + { + /*Zero the appropriate columns of the constraint matrix.*/ + for (j = 0; j < Cols; j++) + { + if ((! keepTransition[j]) || i == j) + { + for (k = 0; k < Rows; k++) + { + SetMatrixEl(&L, k, j, 0); + } + } + } + /*Solve the linear programming problem. Cost defaults to all 1s, upper + and lower bounds default to infinity and zero respectively, and constraint + type defaults to >=. No variables should be restricted to being integers.*/ + lpResult = ipsolve(&L, B, 0, IntList, 0, 0, 0); + + /*If the linear programming problem was infeasible, break, leave the + keepTransition flag array as-is, and return immediately.*/ + if (strcmp(lpResult.mhow, HOW_OK)) + { + if (lpResult.res) free(lpResult.res); + break; + } + /*Otherwise, set the keepTransition flag array to the logic equivalent of + the lp solution.*/ + else + { + memset(keepTransition, 0, sizeof(int) * Cols); + for (j = 0; j < Cols; j++) + { + /*Ignore very small nonzero values in the solution vector.*/ + if (lpResult.res[j] < -HOW_MAX_ERROR || lpResult.res[j] > HOW_MAX_ERROR) + { + keepTransition[j] = 0; + } + + /*Take advantage of the loop to restore any columns of the constraint + matrix that need to be restored. Instead of doing a full matrix copy, + just copy columns that were zeroed above.*/ + if ((! keepTransition[j]) || i == j) + { + CopyBlock(Rows, 1, D, 0, j, &L, 0, j); + } + } + free(lpResult.res); + } + } + } + free(B); + free(IntList); + DeallocateMatrix(&L); +} + +/******************************************************************************* +GetKeepT0 is called in non-update mode. It examines the incidence matrix and +excluded transition list and determines whether to call MaxActn or MinActn to +get the list of transitions in the active subnet. If minactn is to be called, +it returns a pointer to the initial keepable transition flag array that must be +given as a parameter to minactn. Otherwise it returns a null pointer.*/ +int* GetKeepT0(matrix *D, int *ExcludeFlag, int *IncludeFlag, int ExcludedTCount) +{ + /*We will be doing a linear programming problem.*/ + matrix L; // The constraint matrix + double *LoBound; // Lower bounds on variables - the upper bounds will default. + double *B; // Constraint vector + short *IntList; //The list of which variables in the LP problem must be integral + int VarCount, ConCount, i, j; + MemoryManager mem; + ipsolve_r lpresult; + int* result; + /*We are using as constraints only those columns of D such that they are not + excluded by ExcludedT. That will be equal to the total transition count less + the excluded transition count.*/ + VarCount = NumberOfColumns(*D) - ExcludedTCount; + ConCount = NumberOfRows(*D); + + /*Allocate space. B and IntList will be filled with zeroes by the allocation + and since this is the final value they should have we won't have to do any + further processing.*/ + mem = CreateMemoryManager(3, 1, 0, 0); + MAllocateMatrixType(&mem, 2, &L, ConCount, VarCount); + LoBound = mcalloc(&mem, VarCount, sizeof(double)); + B = mcalloc(&mem, ConCount, sizeof(double)); + IntList = mcalloc(&mem, VarCount, sizeof(short)); + + /*Initialize variable boundaries and build the constraint matrix. The upper + bounds will default to infinity. The lower bounds should be 1 for each + transition such that it is included in IncludedT and 0 for the rest. Iterate + through the flags in the loop. There is an element in LoBound for each zeroed + element in ExcludedFlag. We copy to L each column of D such that it is not + excluded by ExcludeFlag.*/ + j = 0; + for (i = 0; i < NumberOfColumns(*D); i++) + { + if (! ExcludeFlag[i]) + { + /*Copy the column*/ + CopyBlock(ConCount, 1, D, 0, i, &L, 0, j); + /*Set the lower boundary if necessary */ + if (IncludeFlag[i]) + { + LoBound[j] = 1.0; + } + /*Increment the constraint index.*/ + j++; + } + } + + /*Do the linear programming problem. The original matlab implementation used + linprog, which accepts only <= constraints, and negated the constraint vector + and matrix. ipsolve defaults to >= constraints, so the constraints vector and + matrix will not need to be negated. Cost vector, upper bounds, and constraint + type should all be left as default.*/ + lpresult = ipsolve(&L, B, 0, IntList, 0, LoBound, 0); + + if (lpresult.res) ManageMemory(&mem, lpresult.res); + /*If the problem was not solved, we'll be doing a maxactn to find the active + subnet. Return a null pointer since the X0 vector will not be needed.*/ + if (strcmp(lpresult.mhow, HOW_OK)) + { + FreeMemory(&mem); + return 0; + } + else + { + /*Otherwise, prepare the initial keepTransition vector. This should have an + element for each transition. Each value corresponding to a non-excluded + transition should be set to one if the corresponding lp solution is nonzero. + All the rest should be zero.*/ + result = tcalloc(NumberOfColumns(*D), sizeof(int)); + j = 0; + for (i = 0; i < NumberOfColumns(*D); i++) + { + if (! ExcludeFlag[i]) + { + /*Ignore very small nonzero solution values.*/ + if (lpresult.res[j] < -HOW_MAX_ERROR || lpresult.res[j] > HOW_MAX_ERROR) + { + result[i] = 1; + } + j++; + } + } + FreeMemory(&mem); + return result; + } +} + +/******************************************************************************* +updateActn examines the Petri net and the predefined active subnet if given and +returns an array of transitions that are to be kept given the active subnet. +This is used to determine transitions to keep if in update mode. +*/ +int* updateActn(matrix* Dm, matrix* Dp, matrix* Dcm, matrix* Dcp) +{ + int Places, Transitions, SubPlaces, SubTransitions, i, j, keepGoing; + /*These are each flag arrays set to indicate live places or transitions at + various times throughout the algorithm.*/ + int *Actn, *Trans = 0, *Place = 0; + + Places = NumberOfRows(*Dm); + Transitions = NumberOfColumns(*Dm); + SubPlaces = NumberOfRows(*Dcm); + SubTransitions = NumberOfColumns(*Dcm); + + /*Actn is the return value. It has a flag for each transition.*/ + Actn = tcalloc(Transitions, sizeof(int)); + /*Trans and Place both have flags only for each of the possible new + transitions or places that can be added.*/ + if (Places - SubPlaces) + { + Place = tcalloc(Places - SubPlaces, sizeof(int)); + } + if (Transitions - SubTransitions) + { + Trans = tcalloc(Transitions - SubTransitions, sizeof(int)); + } + + /*Actn is a flag vector with an element for each transition. It is initially + set only for non-null columns of Dcm/Dcp, where column numbers in Dcm/Dcp + map to the same column numbers in Dm/Dp.*/ + for (i = 0; i < SubTransitions; i++) + { + /*See if the current column of Dcm/Dcp is non-null.*/ + for (j = 0; j < SubPlaces; j++) + { + if (GetMatrixEl(Dcm, j, i) || GetMatrixEl(Dcp, j, i)) + { + break; + } + } + /*If it was not null, set the Actn flag.*/ + if (j != SubPlaces) + { + Actn[i] = 1; + } + } + + /*Now, we loop. For the first iteration we have to do something special. Use + keepGoing = -1 to indicate first loop iteration.*/ + keepGoing = -1; + do + { + /*The place flag should be set for any place (in Dm/Dp beyond those mapped + to by Dcm/Dcp) such that the place has at least one nonzero output arc to + a transition that is flagged in the current transition list. It should + be cleared for every other place. On the first loop iteration, rather + than using the current transition list (which maps to the columns in the + right of Dm/Dp that have no corresponding columns in Dcm/Dcp), we use logic + inverse of URT, which maps to all columns in Dm/Dp. The keepGoing flag will + be set to -1 on the first iteration.*/ + memset(Place, 0, sizeof(int) * (Places - SubPlaces)); + if (keepGoing > 0) + { + for (i = SubPlaces; i < Places; i++) + { + /*Check to see if the current place has at least one nonzero output arc + to a transition flagged in the current transition list.*/ + for (j = SubTransitions; j < Transitions; j++) + { + if (Trans[j - SubTransitions] && GetMatrixEl(Dm, i, j)) + { + /*If it does, set the flag and break out of the test loop.*/ + Place[i - SubPlaces] = 1; + break; + } + } + } + } + else + { + for (i = SubPlaces; i < Places; i++) + { + /*Check to see if the current place has at least one nonzero output arc + to a transition flagged in Actn.*/ + for (j = 0; j < SubTransitions; j++) + { + if (Actn[j] && GetMatrixEl(Dm, i, j)) + { + /*If it does, set the flag and break out of the test loop.*/ + Place[i - SubPlaces] = 1; + break; + } + } + } + } + /*Similarly, the transition flag should be set for any transition in Dm/Dp + beyond those mapped to by Dcm/Dcp such that the transition has at least one + nonzero input arc to a place that is flagged in the current place list. + Additionally, we set every flag of Actn that corresponds to a + transition whose flag is set in Trans. Finally, the overall loop will + continue only until Trans is entirely empty. Set the keepGoing flag + if any element of Trans is set.*/ + keepGoing = 0; + memset(Trans, 0, sizeof(int) * (Transitions - SubTransitions)); + for (j = SubTransitions; j < Transitions; j++) + { + for (i = SubPlaces; i < Places; i++) + { + if (Place[i - SubPlaces] && GetMatrixEl(Dp, i, j)) + { + Trans[j - SubTransitions] = 1; + /*Set the appropriate Actn flag.*/ + Actn[j] = 1; + /*Set the keepGoing flag.*/ + keepGoing = 1; + break; + } + } + } + } while (keepGoing); + /*Free memory*/ + if (Place) free(Place); + if (Trans) free(Trans); + /*Return*/ + return Actn; +} + +/******************************************************************************* +CheckParams checks the parameters to make sure required parameters are present, +checks some basic validity, and makes sure that all array pointers are null if +their counts are zero and vice-versa.*/ +int CheckParams(matrix* Dm, matrix* Dp, int **IncludeT, int *IncludeTCount, int ** ExcludeT, int *ExcludeTCount, matrix *Dcm, matrix *Dcp, MemoryManager* mem) +{ + int Rows0, Cols0, Rows1, Cols1, i; + /*Dm and Dp are required and must be the same size.*/ + if (! (Dm && Dp)) + { + merror(0, "TACTN: Dm or Dp was not given"); + return 0; + } + Rows0 = NumberOfRows(*Dm); + Cols0 = NumberOfColumns(*Dm); + if (Rows0 != NumberOfRows(*Dp) || Cols0 != NumberOfColumns(*Dp)) + { + merror(0, "TACTN: Dm and Dp are not the same size"); + return 0; + } + + /*ExcludeT is not required. Make sure that the count is zero if the pointer is + null and vice-versa.*/ + if (! *ExcludeT) + { + *ExcludeTCount = 0; + } + else if (! *ExcludeTCount) + { + *ExcludeT = 0; + } + + /*IncludeT is not required. Make sure the count is zero if the pointer is null + and vice-versa.*/ + if (! *IncludeT) + { + *ExcludeTCount = 0; + } + else if (! *ExcludeTCount) + { + *ExcludeT = 0; + } + /*If IncludeT was not given it defaults to including the indices of every + transitions.*/ + if (! *IncludeT) + { + *IncludeT = mcalloc(mem, Cols0, sizeof(int)); + *IncludeTCount = Cols0; + for (i = 1; i < Cols0; i++) + { + (*IncludeT)[i] = i; + } + } + /*Update mode will be entered if Dcm and Dcp are present. If just one is + present it will be ignored. If both are present they must be the same size.*/ + if (Dcm && Dcp) + { + Rows1 = NumberOfRows(*Dcm); + Cols1 = NumberOfColumns(*Dcm); + if (NumberOfRows(*Dcp) != Rows1 || NumberOfColumns(*Dcp) != Cols1) + { + merror(0, "TACTN: Dcm and Dcp are not the same size"); + return 0; + } + if (Rows1 > Rows0 || Cols1 > Cols0) + { + merror(0, "TACTN: Dcm and Dcp are larger than Dm and Dp"); + return 0; + } + } + return 1; +} Added: spnbox/tests/test-tactn.c =================================================================== --- spnbox/tests/test-tactn.c (rev 0) +++ spnbox/tests/test-tactn.c 2009-07-06 19:54:06 UTC (rev 168) @@ -0,0 +1,71 @@ +#include "test.h" + +int main(int argc, char* argv[]) +{ + FILE* input; + matrix Dm, Dp, D, Dc, Dcm, Dcp, Da, Dra; + int ExcludeTCount, IncludeTCount, i; + int *ExcludeT, *IncludeT, *InFilled; + int OutFilled[8]; + tactn_r result; + MemoryManager memory; + char InputDesc[] = "matrix D, matrix Dm, matrix Dp, matrix Dc, matrix Dcm, matrix Dcp, arrayi ExcludeT, arrayi IncludeT"; + char OutputDesc[] = "matrix Da, matrix Dma, matrix Dpa, matrix Dra, matrix Dmra, matrix Dpra, arrayi TA, int Unique"; + + /*Get the input file.*/ + if (! (input = GetInput(argc, argv))) return 0; + + memory = CreateMemoryManager(10, 10, 0, 0); + while (ParseStructure(input, InputDesc, &InFilled, &memory, &D, &Dm, &Dp, &Dc, &Dcm, &Dcp, &ExcludeT, &ExcludeTCount, &IncludeT, &IncludeTCount)) + { + /*Display the problem*/ + printf("Problem:\n"); + DisplayStructure(InputDesc, InFilled, &D, &Dm, &Dp, &Dc, &Dcm, &Dcp, ExcludeT, ExcludeTCount, IncludeT, IncludeTCount); + + /*See whether incidence or separate i/o matrices were provided and if the + former, then fill the i/o matrices.*/ + FillDmDp(InFilled, &D, &Dm, &Dp, &memory); + FillDmDp(InFilled + 3, &Dc, &Dcm, &Dcp, &memory); + + /*Solve the problem. Always run isunique.*/ + result = tactn((InFilled[0] || InFilled[1]) ? &Dm : 0, (InFilled[0] || InFilled[2]) ? &Dp : 0, InFilled[7] ? IncludeT : 0, IncludeTCount, InFilled[6] ? ExcludeT : 0, ExcludeTCount, (InFilled[3] || InFilled[4]) ? &Dcm : 0, (InFilled[3] || InFilled[5]) ? &Dcp : 0, 1); + + for (i = 0; i < 8; i++) + { + OutFilled[i] = 1; + } + if (HasSelfLoops(&result.Dma, &result.Dpa)) + { + OutFilled[0] = 0; + } + else + { + Da = SubtractMatrix(&result.Dpa, &result.Dma, 0); + ManageMatrix(&memory, &Da); + OutFilled[1] = 0; + OutFilled[2] = 0; + } + if (HasSelfLoops(&result.Dmra, &result.Dpra)) + { + OutFilled[3] = 0; + } + else + { + Dra = SubtractMatrix(&result.Dpra, &result.Dmra, 0); + ManageMatrix(&memory, &Dra); + OutFilled[4] = 0; + OutFilled[5] = 0; + } + + /*Display the solution. If there are no self loops, display incidence + matrices instead of whole matrices.*/ + + printf("Result:\n"); + DisplayStructure(OutputDesc, OutFilled, &Da, &result.Dma, &result.Dpa, &Dra, &result.Dmra, &result.Dpra, result.TA, result.TACount, result.unique); + FreeMemory(&memory); + memory = CreateMemoryManager(10, 10, 0, 0); + printf("-----------------------------------------------------------------\n"); + } + FreeMemory(&memory); + return 0; +} Added: spnbox/tests/test-tactn.mak =================================================================== --- spnbox/tests/test-tactn.mak (rev 0) +++ spnbox/tests/test-tactn.mak 2009-07-06 19:54:06 UTC (rev 168) @@ -0,0 +1,43 @@ +COMPILER=gcc -g -ggdb + +test-tactn: test-tactn.o pns.o matrix.o general.o matrixmath.o ipsolve.o MemoryManager.o ipslv.o StructuredIO.o tactn.o test.o ../liblpsolve55.a + $(COMPILER) -o test-tactn.exe pns.o matrix.o general.o matrixmath.o test-tactn.o ipsolve.o ipslv.o MemoryManager.o StructuredIO.o tactn.o test.o ../liblpsolve55.a + +matrix.o: ../../pnheaders/matrix.c ../../pnheaders/matrix.h ../../pnheaders/pns.h + $(COMPILER) -c ../../pnheaders/matrix.c + +pns.o: ../../pnheaders/pns.h ../../pnheaders/pns.c ../../pnheaders/general.h + $(COMPILER) -c ../../pnheaders/pns.c + +general.o: ../../pnheaders/general.h ../../pnheaders/general.c + $(COMPILER) -c ../../pnheaders/general.c + +matrixmath.o: ../matrixmath.c ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../matrixmath.c + +ipsolve.o: ../spnbox.h ../matrixmath.h ../../pnheaders/general.h ../../pnheaders/matrix.h ../MemoryManager.h ../ipsolve.c + $(COMPILER) -c ../ipsolve.c + +ipslv.o: ../spnbox.h ../ipslv.c + $(COMPILER) -c ../ipslv.c + +MemoryManager.o: ../MemoryManager.h ../MemoryManager.c ../../pnheaders/general.h ../../pnheaders/matrix.h + $(COMPILER) -c ../MemoryManager.c + +test-tactn.o: test-tactn.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h + $(COMPILER) -c test-tactn.c + +StructuredIO.o: StructuredIO.c StructuredIO.h ../../pnheaders/matrix.h + $(COMPILER) -c StructuredIO.c + +tactn.o: ../tactn.c ../spnbox.h ../../pnheaders/matrix.h ../../pnheaders/pns.h ../matrixmath.h ../MemoryManager.h + $(COMPILER) -c ../tactn.c + +test.o: test.c test.h ../../pnheaders/pns.h ../../pnheaders/matrix.h ../matrixmath.h ../spnbox.h ../MemoryManager.h StructuredIO.h + $(COMPILER) -c test.c + +../liblpsolve55.a: ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a + cp ../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a ../liblpsolve55.a + +../../third-party/lp_solve_5.5/lpsolve55/liblpsolve55.a: + cd ../../third-party/lp_solve_5.5; make -f Makefile.linux lib Added: spnbox/tests/test-tactn.txt =================================================================== --- spnbox/tests/test-tactn.txt (rev 0) +++ spnbox/tests/test-tactn.txt 2009-07-06 19:54:06 UTC (rev 168) @@ -0,0 +1,75 @@ +rem Valid problem parts (types/keywords): +rem matrix D, matrix Dm, matrix Dp - The problem incidence or i/o matrices +rem matrix Dc, matrix Dcm, matrix Dcp - The active subnet incidence or i/o matrices. +rem arrayi ExcludeT - Indices of transitions to exclude from active subnet consideration. +rem arrayi IncludeT - Indices of transitions which must be included in the active subnet. + +echo Problem 1 +echo Using just an incidence matrix. +echo The active subnet should include transitions 4, 5, and 6. +echo Unique should be 0. + +D 6 8 +-1 -2 0 0 0 0 0 0 +0 -1 -2 0 0 0 0 0 +0 0 -1 -2 0 0 0 0 +1 1 0 0 6 -2 0 -1 +0 0 1 1 0 -3 6 0 +0 0 0 0 -2 2 -2 0 + +done + +echo Problem 2 +echo Using the same Petri net as before but forcing transition 5 to be +echo unraisable. The active subnet should now be empty. +echo Unique should be 1. + +D 6 8 +-1 -2 0 0 0 0 0 0 +0 -1 -2 0 0 0 0 0 +0 0 -1 -2 0 0 0 0 +1 1 0 0 6 -2 0 -1 +0 0 1 1 0 -3 6 0 +0 0 0 0 -2 2 -2 0 + +ExcludeT 1 +5 + +done + +echo Problem 3 +echo This problem uses the PT-ordinary version of the petri net from problems +echo 1 and 2 with an extra row added. That is, a row has been added, the net has +echo been fed to msplit, and the result used here. It also uses as the +echo precalculated active subnet matrix returned in Problem 1. + +D 14 15 +-1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 +0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 +0 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 +1 1 0 0 6 -1 0 -1 0 0 0 0 -1 0 0 +0 0 1 1 0 -1 6 0 0 0 0 0 -1 -1 0 +0 0 0 0 -1 2 -1 0 0 0 0 -1 0 0 -1 +0 0 0 0 1 -1 1 0 0 0 0 0 -1 0 0 +0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 +0 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 0 -1 0 0 0 0 0 0 1 0 0 0 0 +0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0 +0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 +0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 + +Dc 6 8 +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +0 0 0 0 6 -2 0 -1 +0 0 0 0 0 -3 6 0 +0 0 0 0 -2 2 -2 0 + +done + +echo The solution should have nonzero arcs in rows: 4, 5, 6, 7, 11, 12, 13, 14 +echo The solution should have nonzero arcs in cols: 5, 6, 7, 8, 12, 13, 14, 15 + +quit \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <the...@us...> - 2009-07-06 05:26:22
|
Revision: 167 http://pntool.svn.sourceforge.net/pntool/?rev=167&view=rev Author: thecodeweasel Date: 2009-07-06 05:26:21 +0000 (Mon, 06 Jul 2009) Log Message: ----------- Accidentally left in some debug prints. People seem confused by the configure script, so I "unmuted" it to show what it's doing. Modified Paths: -------------- translator/Makefile translator/docs/TODO.rtf translator/pngenerator.c translator/pngenerator.g translator/pngenerator.h Modified: translator/Makefile =================================================================== --- translator/Makefile 2009-07-06 04:54:14 UTC (rev 166) +++ translator/Makefile 2009-07-06 05:26:21 UTC (rev 167) @@ -10,7 +10,7 @@ #If the patch has already been applied it will fail. #This fixes the problem as quietly as possible patch -Ns -p0 < clibs.patch || true - if ! test -e ../third-party/ANTLR3_ctarget_3_1_3/Makefile; then cd ../third-party/ANTLR3_ctarget_3_1_3/; ./configure --silent; make --silent; fi + if ! test -e ../third-party/ANTLR3_ctarget_3_1_3/Makefile; then cd ../third-party/ANTLR3_ctarget_3_1_3/; ./configure; make --silent; fi if ! test -e ../pnheaders/pns.o; then cd ../pnheaders; make --silent; fi $(COMPILER) -c dataStructures.c $(INCLUDES) Modified: translator/docs/TODO.rtf =================================================================== --- translator/docs/TODO.rtf 2009-07-06 04:54:14 UTC (rev 166) +++ translator/docs/TODO.rtf 2009-07-06 05:26:21 UTC (rev 167) @@ -43,6 +43,6 @@ \cf0 Look into bug with initial marking\strike0\striked0 \ \strike \strikec0 make sure labels are getting added correctly\strike0\striked0 \ \strike \strikec0 have the parser error at the end\strike0\striked0 \ -debug MANFLINE process structure issue\ +\strike \strikec0 debug MANFLINE process structure issue\strike0\striked0 \ \strike \strikec0 debug sync constraints\ \strike0\striked0 Why does the translator need GCC 4?} \ No newline at end of file Modified: translator/pngenerator.c =================================================================== --- translator/pngenerator.c 2009-07-06 04:54:14 UTC (rev 166) +++ translator/pngenerator.c 2009-07-06 05:26:21 UTC (rev 167) @@ -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/pngenerator.g - * - On : 2009-07-05 23:46:13 + * - On : 2009-07-06 00:24:29 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * @@ -1700,7 +1700,6 @@ list =(void**) processes->get(processes, (char*) (ID1->getText(ID1))->chars); (SCOPE_TOP(proc_definitions))->proc= (process*) list[kPROC]; - printf("Starting process %s\n", (SCOPE_TOP(proc_definitions))->proc->name); (SCOPE_TOP(proc_definitions))->places= (ASSOC_ARRAY*) list[kPLACES]; (SCOPE_TOP(proc_definitions))->trans= (ASSOC_ARRAY*) list[kTRANS]; int a = (int) (SCOPE_TOP(proc_definitions))->places->size( (SCOPE_TOP(proc_definitions))->places); @@ -1741,7 +1740,7 @@ /** * $ANTLR start trans_defs - * /Users/bion/projects/iordache/translator/pngenerator.g:218:1: trans_defs : ( extern_trans_def | trans_def ); + * /Users/bion/projects/iordache/translator/pngenerator.g:217:1: trans_defs : ( extern_trans_def | trans_def ); */ static void trans_defs(ppngenerator ctx) @@ -1752,7 +1751,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:219:2: ( extern_trans_def | trans_def ) + // /Users/bion/projects/iordache/translator/pngenerator.g:218:2: ( extern_trans_def | trans_def ) ANTLR3_UINT32 alt8; @@ -1785,7 +1784,7 @@ switch (alt8) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:219:4: extern_trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:218:4: extern_trans_def { FOLLOWPUSH(FOLLOW_extern_trans_def_in_trans_defs132); extern_trans_def(ctx); @@ -1800,7 +1799,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:220:4: trans_def + // /Users/bion/projects/iordache/translator/pngenerator.g:219:4: trans_def { FOLLOWPUSH(FOLLOW_trans_def_in_trans_defs137); trans_def(ctx); @@ -1837,7 +1836,7 @@ /** * $ANTLR start extern_trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:221:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:220:1: extern_trans_def : ^( ( TO | FROM ) ( ID )+ ) ; */ static void extern_trans_def(ppngenerator ctx) @@ -1860,11 +1859,11 @@ ID4 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:227:2: ( ^( ( TO | FROM ) ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:227:4: ^( ( TO | FROM ) ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:226:2: ( ^( ( TO | FROM ) ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:226:4: ^( ( TO | FROM ) ( ID )+ ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:227:6: ( TO | FROM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:226:6: ( TO | FROM ) { int alt9=2; @@ -1894,7 +1893,7 @@ switch (alt9) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:227:7: TO + // /Users/bion/projects/iordache/translator/pngenerator.g:226:7: TO { TO2 = (pANTLR3_BASE_TREE) MATCHT(TO, &FOLLOW_TO_in_extern_trans_def153); if (HASEXCEPTION()) @@ -1912,7 +1911,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:230:7: FROM + // /Users/bion/projects/iordache/translator/pngenerator.g:229:7: FROM { FROM3 = (pANTLR3_BASE_TREE) MATCHT(FROM, &FOLLOW_FROM_in_extern_trans_def159); if (HASEXCEPTION()) @@ -1939,7 +1938,7 @@ goto ruleextern_trans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:233:6: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:232:6: ( ID )+ { int cnt10=0; @@ -1959,7 +1958,7 @@ switch (alt10) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:233:7: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:232:7: ID { ID4 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_extern_trans_def165); if (HASEXCEPTION()) @@ -2026,7 +2025,7 @@ /** * $ANTLR start trans_def - * /Users/bion/projects/iordache/translator/pngenerator.g:237:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:236:1: trans_def : ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ); */ static void trans_def(ppngenerator ctx) @@ -2063,7 +2062,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:248:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:247:2: ( ^( ID CODE_BLOCK ) | ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) | ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) ) ANTLR3_UINT32 alt15; @@ -2139,7 +2138,7 @@ switch (alt15) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:248:4: ^( ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:247:4: ^( ID CODE_BLOCK ) { ID5 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def185); if (HASEXCEPTION()) @@ -2181,7 +2180,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:257:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:256:4: ^(tran= ID (place= ID )+ ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def201); if (HASEXCEPTION()) @@ -2202,7 +2201,7 @@ goto ruletrans_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:259:5: (place= ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:258:5: (place= ID )+ { int cnt11=0; @@ -2222,7 +2221,7 @@ switch (alt11) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:259:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:258:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def208); if (HASEXCEPTION()) @@ -2276,7 +2275,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:275:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:274:5: ( CODE_BLOCK )? { int alt12=2; { @@ -2289,7 +2288,7 @@ switch (alt12) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:275:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:274:6: CODE_BLOCK { CODE_BLOCK7 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def217); if (HASEXCEPTION()) @@ -2324,7 +2323,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:281:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) + // /Users/bion/projects/iordache/translator/pngenerator.g:280:4: ^(tran= ID PLACE (place= ID )* ( CODE_BLOCK )? ) { tran = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def235); if (HASEXCEPTION()) @@ -2354,11 +2353,10 @@ { arcList->in_place = *((int*) (SCOPE_TOP(proc_definitions))->places->get( (SCOPE_TOP(proc_definitions))->places, (char*) (PLACE8->getText(PLACE8))->chars)); - printf("Input place %s\n", (char*) (PLACE8->getText(PLACE8))->chars); } - // /Users/bion/projects/iordache/translator/pngenerator.g:286:5: (place= ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:284:5: (place= ID )* for (;;) { @@ -2376,7 +2374,7 @@ switch (alt13) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:286:6: place= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:284:6: place= ID { place = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_trans_def246); if (HASEXCEPTION()) @@ -2417,7 +2415,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:301:5: ( CODE_BLOCK )? + // /Users/bion/projects/iordache/translator/pngenerator.g:299:5: ( CODE_BLOCK )? { int alt14=2; { @@ -2430,7 +2428,7 @@ switch (alt14) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:301:6: CODE_BLOCK + // /Users/bion/projects/iordache/translator/pngenerator.g:299:6: CODE_BLOCK { CODE_BLOCK9 = (pANTLR3_BASE_TREE) MATCHT(CODE_BLOCK, &FOLLOW_CODE_BLOCK_in_trans_def255); if (HASEXCEPTION()) @@ -2487,7 +2485,7 @@ /** * $ANTLR start select_functions - * /Users/bion/projects/iordache/translator/pngenerator.g:306:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:304:1: select_functions : ^( SELECT_DEF ID CODE_BLOCK ) ; */ static void select_functions(ppngenerator ctx) @@ -2503,8 +2501,8 @@ CODE_BLOCK11 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:307:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:307:4: ^( SELECT_DEF ID CODE_BLOCK ) + // /Users/bion/projects/iordache/translator/pngenerator.g:305:2: ( ^( SELECT_DEF ID CODE_BLOCK ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:305:4: ^( SELECT_DEF ID CODE_BLOCK ) { MATCHT(SELECT_DEF, &FOLLOW_SELECT_DEF_in_select_functions271); if (HASEXCEPTION()) @@ -2570,7 +2568,7 @@ /** * $ANTLR start nondeterm - * /Users/bion/projects/iordache/translator/pngenerator.g:314:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:312:1: nondeterm : ^( 'nondeterministic places: ' ( ID )+ ) ; */ static void nondeterm(ppngenerator ctx) @@ -2584,8 +2582,8 @@ ID12 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:315:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:315:4: ^( 'nondeterministic places: ' ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:313:2: ( ^( 'nondeterministic places: ' ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:313:4: ^( 'nondeterministic places: ' ( ID )+ ) { MATCHT(47, &FOLLOW_47_in_nondeterm288); if (HASEXCEPTION()) @@ -2600,7 +2598,7 @@ goto rulenondetermEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:315:34: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:313:34: ( ID )+ { int cnt16=0; @@ -2620,7 +2618,7 @@ switch (alt16) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:315:35: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:313:35: ID { ID12 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_nondeterm291); if (HASEXCEPTION()) @@ -2688,7 +2686,7 @@ /** * $ANTLR start proc_instantiations - * /Users/bion/projects/iordache/translator/pngenerator.g:322:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:320:1: proc_instantiations : ( proc_init | sync_def | proc_start ) ; */ static void proc_instantiations(ppngenerator ctx) @@ -2698,11 +2696,11 @@ ctx->ppngenerator_proc_instantiationsTop = ppngenerator_proc_instantiationsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:328:2: ( ( proc_init | sync_def | proc_start ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:328:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:326:2: ( ( proc_init | sync_def | proc_start ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:328:4: ( proc_init | sync_def | proc_start ) + // /Users/bion/projects/iordache/translator/pngenerator.g:326:4: ( proc_init | sync_def | proc_start ) { int alt17=3; switch ( LA(1) ) @@ -2737,7 +2735,7 @@ switch (alt17) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:328:5: proc_init + // /Users/bion/projects/iordache/translator/pngenerator.g:326:5: proc_init { FOLLOWPUSH(FOLLOW_proc_init_in_proc_instantiations312); proc_init(ctx); @@ -2752,7 +2750,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:328:17: sync_def + // /Users/bion/projects/iordache/translator/pngenerator.g:326:17: sync_def { FOLLOWPUSH(FOLLOW_sync_def_in_proc_instantiations316); sync_def(ctx); @@ -2767,7 +2765,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:328:28: proc_start + // /Users/bion/projects/iordache/translator/pngenerator.g:326:28: proc_start { FOLLOWPUSH(FOLLOW_proc_start_in_proc_instantiations320); proc_start(ctx); @@ -2809,7 +2807,7 @@ /** * $ANTLR start proc_init - * /Users/bion/projects/iordache/translator/pngenerator.g:330:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:328:1: proc_init : (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ); */ static void proc_init(ppngenerator ctx) @@ -2834,7 +2832,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:335:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:333:2: (name1= ID | ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) ) ANTLR3_UINT32 alt19; @@ -2886,7 +2884,7 @@ switch (alt19) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:335:4: name1= ID + // /Users/bion/projects/iordache/translator/pngenerator.g:333:4: name1= ID { name1 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init338); if (HASEXCEPTION()) @@ -2917,7 +2915,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:352:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:350:4: ^(name2= ID ( numbered_ID[$proc_instantiations::places] )+ ) { name2 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_init348); if (HASEXCEPTION()) @@ -2948,7 +2946,7 @@ goto ruleproc_initEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:364:5: ( numbered_ID[$proc_instantiations::places] )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:362:5: ( numbered_ID[$proc_instantiations::places] )+ { int cnt18=0; @@ -2968,7 +2966,7 @@ switch (alt18) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:364:6: numbered_ID[$proc_instantiations::places] + // /Users/bion/projects/iordache/translator/pngenerator.g:362:6: numbered_ID[$proc_instantiations::places] { FOLLOWPUSH(FOLLOW_numbered_ID_in_proc_init353); numbered_ID13=numbered_ID(ctx, (SCOPE_TOP(proc_instantiations))->places); @@ -3054,7 +3052,7 @@ /** * $ANTLR start sync_def - * /Users/bion/projects/iordache/translator/pngenerator.g:379:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:377:1: sync_def : ^( SYNC_TOK ( group_elements )+ ) ; */ static void sync_def(ppngenerator ctx) @@ -3074,8 +3072,8 @@ group_elements14 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:384:2: ( ^( SYNC_TOK ( group_elements )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:384:4: ^( SYNC_TOK ( group_elements )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:382:2: ( ^( SYNC_TOK ( group_elements )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:382:4: ^( SYNC_TOK ( group_elements )+ ) { MATCHT(SYNC_TOK, &FOLLOW_SYNC_TOK_in_sync_def379); if (HASEXCEPTION()) @@ -3090,7 +3088,7 @@ goto rulesync_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:384:15: ( group_elements )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:382:15: ( group_elements )+ { int cnt20=0; @@ -3110,7 +3108,7 @@ switch (alt20) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:384:16: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:382:16: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_sync_def382); group_elements14=group_elements(ctx); @@ -3224,7 +3222,7 @@ /** * $ANTLR start proc_start - * /Users/bion/projects/iordache/translator/pngenerator.g:429:1: proc_start : ^( START ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:427:1: proc_start : ^( START ( ID )+ ) ; */ static void proc_start(ppngenerator ctx) @@ -3238,8 +3236,8 @@ ID15 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:430:2: ( ^( START ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:430:4: ^( START ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:428:2: ( ^( START ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:428:4: ^( START ( ID )+ ) { MATCHT(START, &FOLLOW_START_in_proc_start399); if (HASEXCEPTION()) @@ -3254,7 +3252,7 @@ goto ruleproc_startEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:430:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:428:12: ( ID )+ { int cnt21=0; @@ -3274,7 +3272,7 @@ switch (alt21) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:430:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:428:13: ID { ID15 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_proc_start402); if (HASEXCEPTION()) @@ -3344,7 +3342,7 @@ /** * $ANTLR start constraints - * /Users/bion/projects/iordache/translator/pngenerator.g:438:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:436:1: constraints : ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ; */ static void constraints(ppngenerator ctx) @@ -3358,8 +3356,8 @@ ctx->ppngenerator_constraintsTop = ppngenerator_constraintsPush(ctx); { - // /Users/bion/projects/iordache/translator/pngenerator.g:445:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:445:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:443:2: ( ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:443:4: ^( constraint_block ( ( eq ) | live_def | uncontrol | unobserve )* ) { FOLLOWPUSH(FOLLOW_constraint_block_in_constraints422); constraint_block(ctx); @@ -3379,7 +3377,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:445:23: ( ( eq ) | live_def | uncontrol | unobserve )* + // /Users/bion/projects/iordache/translator/pngenerator.g:443:23: ( ( eq ) | live_def | uncontrol | unobserve )* for (;;) { @@ -3414,10 +3412,10 @@ switch (alt22) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:445:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:445:24: ( eq ) - // /Users/bion/projects/iordache/translator/pngenerator.g:445:25: eq + // /Users/bion/projects/iordache/translator/pngenerator.g:443:24: ( eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:443:25: eq { FOLLOWPUSH(FOLLOW_eq_in_constraints426); eq16=eq(ctx); @@ -3459,7 +3457,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:466:6: live_def + // /Users/bion/projects/iordache/translator/pngenerator.g:464:6: live_def { FOLLOWPUSH(FOLLOW_live_def_in_constraints431); live_def(ctx); @@ -3474,7 +3472,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:466:15: uncontrol + // /Users/bion/projects/iordache/translator/pngenerator.g:464:15: uncontrol { FOLLOWPUSH(FOLLOW_uncontrol_in_constraints433); uncontrol(ctx); @@ -3489,7 +3487,7 @@ } break; case 4: - // /Users/bion/projects/iordache/translator/pngenerator.g:466:25: unobserve + // /Users/bion/projects/iordache/translator/pngenerator.g:464:25: unobserve { FOLLOWPUSH(FOLLOW_unobserve_in_constraints435); unobserve(ctx); @@ -3544,7 +3542,7 @@ /** * $ANTLR start constraint_block - * /Users/bion/projects/iordache/translator/pngenerator.g:467:1: constraint_block : ID ; + * /Users/bion/projects/iordache/translator/pngenerator.g:465:1: constraint_block : ID ; */ static void constraint_block(ppngenerator ctx) @@ -3558,8 +3556,8 @@ ID17 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:468:2: ( ID ) - // /Users/bion/projects/iordache/translator/pngenerator.g:468:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:466:2: ( ID ) + // /Users/bion/projects/iordache/translator/pngenerator.g:466:4: ID { ID17 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_constraint_block446); if (HASEXCEPTION()) @@ -3610,7 +3608,7 @@ /** * $ANTLR start eq - * /Users/bion/projects/iordache/translator/pngenerator.g:487:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:485:1: eq returns [bool ineq, void* ret] : ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ); */ static pngenerator_eq_return eq(ppngenerator ctx) @@ -3644,7 +3642,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:492:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:490:2: ( relationalExpression | ^( ( AND_OP | OR_OP ) leq= eq req= eq ) ) ANTLR3_UINT32 alt24; @@ -3677,7 +3675,7 @@ switch (alt24) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:492:4: relationalExpression + // /Users/bion/projects/iordache/translator/pngenerator.g:490:4: relationalExpression { FOLLOWPUSH(FOLLOW_relationalExpression_in_eq469); relationalExpression18=relationalExpression(ctx); @@ -3695,10 +3693,10 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:493:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) + // /Users/bion/projects/iordache/translator/pngenerator.g:491:4: ^( ( AND_OP | OR_OP ) leq= eq req= eq ) { - // /Users/bion/projects/iordache/translator/pngenerator.g:493:6: ( AND_OP | OR_OP ) + // /Users/bion/projects/iordache/translator/pngenerator.g:491:6: ( AND_OP | OR_OP ) { int alt23=2; @@ -3728,7 +3726,7 @@ switch (alt23) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:493:7: AND_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:491:7: AND_OP { MATCHT(AND_OP, &FOLLOW_AND_OP_in_eq478); if (HASEXCEPTION()) @@ -3745,7 +3743,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:495:7: OR_OP + // /Users/bion/projects/iordache/translator/pngenerator.g:493:7: OR_OP { MATCHT(OR_OP, &FOLLOW_OR_OP_in_eq484); if (HASEXCEPTION()) @@ -3854,7 +3852,7 @@ /** * $ANTLR start relationalExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:519:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:517:1: relationalExpression returns [inequality* ret] : ^( EQ_OP additiveExpression[list, false] NUM ) ; */ static inequality* relationalExpression(ppngenerator ctx) @@ -3877,8 +3875,8 @@ NUM19 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:527:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:527:9: ^( EQ_OP additiveExpression[list, false] NUM ) + // /Users/bion/projects/iordache/translator/pngenerator.g:525:5: ( ^( EQ_OP additiveExpression[list, false] NUM ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:525:9: ^( EQ_OP additiveExpression[list, false] NUM ) { MATCHT(EQ_OP, &FOLLOW_EQ_OP_in_relationalExpression530); if (HASEXCEPTION()) @@ -3952,7 +3950,7 @@ /** * $ANTLR start additiveExpression - * /Users/bion/projects/iordache/translator/pngenerator.g:540:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:538:1: additiveExpression[pANTLR3_VECTOR list, bool flip] : ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ); */ static void additiveExpression(ppngenerator ctx, pANTLR3_VECTOR list, bool flip) @@ -3969,7 +3967,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:541:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:539:5: ( primary[flip] | ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) | ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) ) ANTLR3_UINT32 alt25; @@ -4008,7 +4006,7 @@ switch (alt25) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:541:9: primary[flip] + // /Users/bion/projects/iordache/translator/pngenerator.g:539:9: primary[flip] { FOLLOWPUSH(FOLLOW_primary_in_additiveExpression554); primary20=primary(ctx, flip); @@ -4026,7 +4024,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:542:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:540:7: ^( ADD additiveExpression[list, false] additiveExpression[list, false] ) { MATCHT(ADD, &FOLLOW_ADD_in_additiveExpression566); if (HASEXCEPTION()) @@ -4070,7 +4068,7 @@ } break; case 3: - // /Users/bion/projects/iordache/translator/pngenerator.g:543:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) + // /Users/bion/projects/iordache/translator/pngenerator.g:541:7: ^( SUB additiveExpression[list, false] additiveExpression[list, true] ) { MATCHT(SUB, &FOLLOW_SUB_in_additiveExpression582); if (HASEXCEPTION()) @@ -4136,7 +4134,7 @@ /** * $ANTLR start primary - * /Users/bion/projects/iordache/translator/pngenerator.g:545:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:543:1: primary[bool flip] returns [variable* var] : ( group_elements | ^( MULT NUM group_elements ) ); */ static variable* primary(ppngenerator ctx, bool flip) @@ -4162,7 +4160,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:546:5: ( group_elements | ^( MULT NUM group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:544:5: ( group_elements | ^( MULT NUM group_elements ) ) ANTLR3_UINT32 alt26; @@ -4195,7 +4193,7 @@ switch (alt26) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:546:9: group_elements + // /Users/bion/projects/iordache/translator/pngenerator.g:544:9: group_elements { FOLLOWPUSH(FOLLOW_group_elements_in_primary609); group_elements21=group_elements(ctx); @@ -4219,7 +4217,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:553:7: ^( MULT NUM group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:551:7: ^( MULT NUM group_elements ) { MATCHT(MULT, &FOLLOW_MULT_in_primary620); if (HASEXCEPTION()) @@ -4291,7 +4289,7 @@ /** * $ANTLR start live_def - * /Users/bion/projects/iordache/translator/pngenerator.g:560:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:558:1: live_def : ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ); */ static void live_def(ppngenerator ctx) @@ -4311,7 +4309,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:564:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:562:2: ( ^( LIVE ALL ( ID )* ) | ^( LIVE ( ID )+ ) ) ANTLR3_UINT32 alt29; @@ -4382,7 +4380,7 @@ switch (alt29) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:564:4: ^( LIVE ALL ( ID )* ) + // /Users/bion/projects/iordache/translator/pngenerator.g:562:4: ^( LIVE ALL ( ID )* ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def642); if (HASEXCEPTION()) @@ -4414,7 +4412,7 @@ } - // /Users/bion/projects/iordache/translator/pngenerator.g:571:5: ( ID )* + // /Users/bion/projects/iordache/translator/pngenerator.g:569:5: ( ID )* for (;;) { @@ -4432,7 +4430,7 @@ switch (alt27) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:571:6: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:569:6: ID { ID24 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def649); if (HASEXCEPTION()) @@ -4480,7 +4478,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:584:4: ^( LIVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:582:4: ^( LIVE ( ID )+ ) { MATCHT(LIVE, &FOLLOW_LIVE_in_live_def662); if (HASEXCEPTION()) @@ -4495,7 +4493,7 @@ goto rulelive_defEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:584:11: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:582:11: ( ID )+ { int cnt28=0; @@ -4515,7 +4513,7 @@ switch (alt28) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:584:12: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:582:12: ID { ID25 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_live_def665); if (HASEXCEPTION()) @@ -4586,7 +4584,7 @@ /** * $ANTLR start uncontrol - * /Users/bion/projects/iordache/translator/pngenerator.g:589:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:587:1: uncontrol : ^( UNCONTROL ( ID )+ ) ; */ static void uncontrol(ppngenerator ctx) @@ -4600,8 +4598,8 @@ ID26 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:590:2: ( ^( UNCONTROL ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:590:4: ^( UNCONTROL ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:588:2: ( ^( UNCONTROL ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:588:4: ^( UNCONTROL ( ID )+ ) { MATCHT(UNCONTROL, &FOLLOW_UNCONTROL_in_uncontrol680); if (HASEXCEPTION()) @@ -4616,7 +4614,7 @@ goto ruleuncontrolEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:590:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:588:16: ( ID )+ { int cnt30=0; @@ -4636,7 +4634,7 @@ switch (alt30) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:590:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:588:17: ID { ID26 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_uncontrol683); if (HASEXCEPTION()) @@ -4704,7 +4702,7 @@ /** * $ANTLR start unobserve - * /Users/bion/projects/iordache/translator/pngenerator.g:595:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:593:1: unobserve : ^( UNOBSERVE ( ID )+ ) ; */ static void unobserve(ppngenerator ctx) @@ -4718,8 +4716,8 @@ ID27 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:596:2: ( ^( UNOBSERVE ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:596:4: ^( UNOBSERVE ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:594:2: ( ^( UNOBSERVE ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:594:4: ^( UNOBSERVE ( ID )+ ) { MATCHT(UNOBSERVE, &FOLLOW_UNOBSERVE_in_unobserve698); if (HASEXCEPTION()) @@ -4734,7 +4732,7 @@ goto ruleunobserveEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:596:16: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:594:16: ( ID )+ { int cnt31=0; @@ -4754,7 +4752,7 @@ switch (alt31) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:596:17: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:594:17: ID { ID27 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_unobserve701); if (HASEXCEPTION()) @@ -4822,7 +4820,7 @@ /** * $ANTLR start other_commands - * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: other_commands : print ; + * /Users/bion/projects/iordache/translator/pngenerator.g:600:1: other_commands : print ; */ static void other_commands(ppngenerator ctx) @@ -4832,8 +4830,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:603:2: ( print ) - // /Users/bion/projects/iordache/translator/pngenerator.g:603:4: print + // /Users/bion/projects/iordache/translator/pngenerator.g:601:2: ( print ) + // /Users/bion/projects/iordache/translator/pngenerator.g:601:4: print { FOLLOWPUSH(FOLLOW_print_in_other_commands716); print(ctx); @@ -4867,7 +4865,7 @@ /** * $ANTLR start print - * /Users/bion/projects/iordache/translator/pngenerator.g:604:1: print : ^( PRINT ID group_elements ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:602:1: print : ^( PRINT ID group_elements ) ; */ static void print(ppngenerator ctx) @@ -4877,8 +4875,8 @@ { - // /Users/bion/projects/iordache/translator/pngenerator.g:605:2: ( ^( PRINT ID group_elements ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:605:4: ^( PRINT ID group_elements ) + // /Users/bion/projects/iordache/translator/pngenerator.g:603:2: ( ^( PRINT ID group_elements ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:603:4: ^( PRINT ID group_elements ) { MATCHT(PRINT, &FOLLOW_PRINT_in_print727); if (HASEXCEPTION()) @@ -4938,7 +4936,7 @@ /** * $ANTLR start group_elements - * /Users/bion/projects/iordache/translator/pngenerator.g:607:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; + * /Users/bion/projects/iordache/translator/pngenerator.g:605:1: group_elements returns [pANTLR3_VECTOR ret] : ^( GROUP ( ID )+ ) ; */ static pANTLR3_VECTOR group_elements(ppngenerator ctx) @@ -4957,8 +4955,8 @@ ID28 = NULL; { - // /Users/bion/projects/iordache/translator/pngenerator.g:611:2: ( ^( GROUP ( ID )+ ) ) - // /Users/bion/projects/iordache/translator/pngenerator.g:611:4: ^( GROUP ( ID )+ ) + // /Users/bion/projects/iordache/translator/pngenerator.g:609:2: ( ^( GROUP ( ID )+ ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:609:4: ^( GROUP ( ID )+ ) { MATCHT(GROUP, &FOLLOW_GROUP_in_group_elements752); if (HASEXCEPTION()) @@ -4973,7 +4971,7 @@ goto rulegroup_elementsEx; } - // /Users/bion/projects/iordache/translator/pngenerator.g:611:12: ( ID )+ + // /Users/bion/projects/iordache/translator/pngenerator.g:609:12: ( ID )+ { int cnt32=0; @@ -4993,7 +4991,7 @@ switch (alt32) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:611:13: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:609:13: ID { ID28 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_group_elements755); if (HASEXCEPTION()) @@ -5059,7 +5057,7 @@ /** * $ANTLR start numbered_ID - * /Users/bion/projects/iordache/translator/pngenerator.g:614:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); + * /Users/bion/projects/iordache/translator/pngenerator.g:612:1: numbered_ID[ASSOC_ARRAY* places] returns [int* ret] : ( ID | ^( ID INT ) ); */ static int* numbered_ID(ppngenerator ctx, ASSOC_ARRAY* places) @@ -5080,7 +5078,7 @@ { { - // /Users/bion/projects/iordache/translator/pngenerator.g:615:2: ( ID | ^( ID INT ) ) + // /Users/bion/projects/iordache/translator/pngenerator.g:613:2: ( ID | ^( ID INT ) ) ANTLR3_UINT32 alt33; @@ -5132,7 +5130,7 @@ switch (alt33) { case 1: - // /Users/bion/projects/iordache/translator/pngenerator.g:615:4: ID + // /Users/bion/projects/iordache/translator/pngenerator.g:613:4: ID { ID29 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID774); if (HASEXCEPTION()) @@ -5151,7 +5149,7 @@ } break; case 2: - // /Users/bion/projects/iordache/translator/pngenerator.g:620:4: ^( ID INT ) + // /Users/bion/projects/iordache/translator/pngenerator.g:618:4: ^( ID INT ) { ID30 = (pANTLR3_BASE_TREE) MATCHT(ID, &FOLLOW_ID_in_numbered_ID782); if (HASEXCEPTION()) Modified: translator/pngenerator.g =================================================================== --- translator/pngenerator.g 2009-07-06 04:54:14 UTC (rev 166) +++ translator/pngenerator.g 2009-07-06 05:26:21 UTC (rev 167) @@ -198,7 +198,6 @@ list =(void**) processes->get(processes, (char*) $ID.text->chars); $proc_definitions::proc = (process*) list[kPROC]; - printf("Starting process \%s\n", $proc_definitions::proc->name); $proc_definitions::places = (ASSOC_ARRAY*) list[kPLACES]; $proc_definitions::trans = (ASSOC_ARRAY*) list[kTRANS]; int a = (int) $proc_definitions::places->size($proc_definitions::places); @@ -282,7 +281,6 @@ trans = *((int*) $proc_definitions::trans->get($proc_definitions::trans, (char*) $tran.text->chars)); } PLACE { arcList->in_place = *((int*) $proc_definitions::places->get($proc_definitions::places, (char*) $PLACE.text->chars)); - printf("Input place \%s\n", (char*) $PLACE.text->chars); } (place=ID { if(places == 0) { currentPlace = tmalloc(sizeof(struct placelist)); Modified: translator/pngenerator.h =================================================================== --- translator/pngenerator.h 2009-07-06 04:54:14 UTC (rev 166) +++ translator/pngenerator.h 2009-07-06 05:26:21 UTC (rev 167) @@ -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/pngenerator.g - * - On : 2009-07-05 23:46:13 + * - On : 2009-07-06 00:24:29 * - for the tree parser : pngeneratorTreeParser * * Editing it, at least manually, is not wise. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |