/** * $ANTLR start program * TestGrammar.g:7:1: program : HELLO WORLD ; */ static void program(pTestGrammarParser ctx) { /* Initialize rule variables */ { // TestGrammar.g:7:9: ( HELLO WORLD ) // TestGrammar.g:7:11: HELLO WORLD { MATCHT(HELLO, &FOLLOW_HELLO_in_program24); if (HASEXCEPTION()) { goto ruleprogramEx; } MATCHT(WORLD, &FOLLOW_WORLD_in_program26); if (HASEXCEPTION()) { goto ruleprogramEx; } } } // This is where rules clean up and exit // goto ruleprogramEx; /* Prevent compiler warnings */ ruleprogramEx: ; if (HASEXCEPTION()) { PREPORTERROR(); PRECOVER(); } return ; }
/** * $ANTLR start block * corpconf.g:68:1: block[CorpInfo &c] : ( line[c] | NL )* ; */ static corpconfParser_block_return block(pcorpconfParser ctx, CorpInfo &c) { corpconfParser_block_return retval; pANTLR3_BASE_TREE root_0; pANTLR3_COMMON_TOKEN NL4; corpconfParser_line_return line3; #undef RETURN_TYPE_line3 #define RETURN_TYPE_line3 corpconfParser_line_return pANTLR3_BASE_TREE NL4_tree; /* Initialize rule variables */ root_0 = NULL; NL4 = NULL; line3.tree = NULL; retval.start = LT(1); retval.stop = retval.start; NL4_tree = NULL; retval.tree = NULL; { // corpconf.g:69:2: ( ( line[c] | NL )* ) // corpconf.g:69:4: ( line[c] | NL )* { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); // corpconf.g:69:4: ( line[c] | NL )* for (;;) { int alt1=3; switch ( LA(1) ) { case ATTR: case 11: case 12: case 13: { alt1=1; } break; case NL: { alt1=2; } break; } switch (alt1) { case 1: // corpconf.g:69:5: line[c] { FOLLOWPUSH(FOLLOW_line_in_block293); line3=line(ctx, c); FOLLOWPOP(); if (HASEXCEPTION()) { goto ruleblockEx; } ADAPTOR->addChild(ADAPTOR, root_0, line3.tree); } break; case 2: // corpconf.g:69:13: NL { NL4 = (pANTLR3_COMMON_TOKEN) MATCHT(NL, &FOLLOW_NL_in_block296); if (HASEXCEPTION()) { goto ruleblockEx; } NL4_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NL4)); ADAPTOR->addChild(ADAPTOR, root_0, NL4_tree); } break; default: goto loop1; /* break out of the loop */ break; } } loop1: ; /* Jump out to here if this rule does not match */ } } // This is where rules clean up and exit // goto ruleblockEx; /* Prevent compiler warnings */ ruleblockEx: ; retval.stop = LT(-1); retval.stop = LT(-1); retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0)); ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop); if (HASEXCEPTION()) { PREPORTERROR(); PRECOVER(); retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION)); } return retval; }
/** * $ANTLR start value * corpconf.g:98:1: value returns [std::string v] : (s= STR | p= PATH | 'AT' a= PATH ); */ static corpconfParser_value_return value(pcorpconfParser ctx) { corpconfParser_value_return retval; pANTLR3_BASE_TREE root_0; pANTLR3_COMMON_TOKEN s; pANTLR3_COMMON_TOKEN p; pANTLR3_COMMON_TOKEN a; pANTLR3_COMMON_TOKEN string_literal13; pANTLR3_BASE_TREE s_tree; pANTLR3_BASE_TREE p_tree; pANTLR3_BASE_TREE a_tree; pANTLR3_BASE_TREE string_literal13_tree; /* Initialize rule variables */ root_0 = NULL; s = NULL; p = NULL; a = NULL; string_literal13 = NULL; retval.start = LT(1); retval.stop = retval.start; s_tree = NULL; p_tree = NULL; a_tree = NULL; string_literal13_tree = NULL; retval.tree = NULL; { { // corpconf.g:99:2: (s= STR | p= PATH | 'AT' a= PATH ) ANTLR3_UINT32 alt5; alt5=3; switch ( LA(1) ) { case STR: { alt5=1; } break; case PATH: { alt5=2; } break; case 14: { alt5=3; } break; default: CONSTRUCTEX(); EXCEPTION->type = ANTLR3_NO_VIABLE_ALT_EXCEPTION; EXCEPTION->message = (void *)""; EXCEPTION->decisionNum = 5; EXCEPTION->state = 0; goto rulevalueEx; } switch (alt5) { case 1: // corpconf.g:99:4: s= STR { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); s = (pANTLR3_COMMON_TOKEN) MATCHT(STR, &FOLLOW_STR_in_value422); if (HASEXCEPTION()) { goto rulevalueEx; } s_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, s)); ADAPTOR->addChild(ADAPTOR, root_0, s_tree); { retval.v= std::string((const char *) (s->getText(s))->chars); } } break; case 2: // corpconf.g:100:4: p= PATH { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); p = (pANTLR3_COMMON_TOKEN) MATCHT(PATH, &FOLLOW_PATH_in_value442); if (HASEXCEPTION()) { goto rulevalueEx; } p_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, p)); ADAPTOR->addChild(ADAPTOR, root_0, p_tree); { retval.v= std::string((const char *) (p->getText(p))->chars); } } break; case 3: // corpconf.g:101:4: 'AT' a= PATH { root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR)); string_literal13 = (pANTLR3_COMMON_TOKEN) MATCHT(14, &FOLLOW_14_in_value459); if (HASEXCEPTION()) { goto rulevalueEx; } string_literal13_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, string_literal13)); ADAPTOR->addChild(ADAPTOR, root_0, string_literal13_tree); a = (pANTLR3_COMMON_TOKEN) MATCHT(PATH, &FOLLOW_PATH_in_value463); if (HASEXCEPTION()) { goto rulevalueEx; } a_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, a)); ADAPTOR->addChild(ADAPTOR, root_0, a_tree); { retval.v= std::string("@") + std::string((const char *) (a->getText(a))->chars); } } break; } } } // This is where rules clean up and exit // goto rulevalueEx; /* Prevent compiler warnings */ rulevalueEx: ; retval.stop = LT(-1); retval.stop = LT(-1); retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0)); ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop); if (HASEXCEPTION()) { PREPORTERROR(); PRECOVER(); retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION)); } return retval; }