// $ANTLR end "forLoop" // $ANTLR start "ifStatement" // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:191:1: ifStatement returns [SGLNode node] : ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) ; public SGLNode ifStatement() // throws RecognitionException [1] { SGLNode node = default(SGLNode); SGLNode b1 = default(SGLNode); SGLNode b2 = default(SGLNode); SGLNode expression25 = default(SGLNode); IfNode ifNode = new IfNode(); node = ifNode; try { // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:196:3: ( ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) ) // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:196:6: ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) { Match(input,IF,FOLLOW_IF_in_ifStatement483); Match(input, Token.DOWN, null); // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:197:8: ( ^( EXP expression b1= block ) )+ int cnt6 = 0; do { int alt6 = 2; int LA6_0 = input.LA(1); if ( (LA6_0 == EXP) ) { int LA6_1 = input.LA(2); if ( (LA6_1 == DOWN) ) { int LA6_3 = input.LA(3); if ( (LA6_3 == NEGATE || LA6_3 == STRING || (LA6_3 >= STRINGNOQUOTES && LA6_3 <= VARDEC) || LA6_3 == METH_CALL || LA6_3 == Identifier || (LA6_3 >= IntegerAtom && LA6_3 <= Animation) || LA6_3 == 67 || (LA6_3 >= 69 && LA6_3 <= 81)) ) { alt6 = 1; } } } switch (alt6) { case 1 : // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:197:9: ^( EXP expression b1= block ) { Match(input,EXP,FOLLOW_EXP_in_ifStatement497); Match(input, Token.DOWN, null); PushFollow(FOLLOW_expression_in_ifStatement499); expression25 = expression(); state.followingStackPointer--; PushFollow(FOLLOW_block_in_ifStatement503); b1 = block(); state.followingStackPointer--; Match(input, Token.UP, null); ifNode.AddChoice(expression25,b1); } break; default: if ( cnt6 >= 1 ) goto loop6; EarlyExitException eee6 = new EarlyExitException(6, input); throw eee6; } cnt6++; } while (true); loop6: ; // Stops C# compiler whining that label 'loop6' has no statements // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:198:8: ( ^( EXP b2= block ) )? int alt7 = 2; int LA7_0 = input.LA(1); if ( (LA7_0 == EXP) ) { alt7 = 1; } switch (alt7) { case 1 : // C:\\Users\\Dominik Halfkann\\Documents\\Visual Studio 2010\\Projects\\SGLParserTester\\SGL\\AntlrParser\\SGLTreeWalker.g:198:9: ^( EXP b2= block ) { Match(input,EXP,FOLLOW_EXP_in_ifStatement523); Match(input, Token.DOWN, null); PushFollow(FOLLOW_block_in_ifStatement527); b2 = block(); state.followingStackPointer--; Match(input, Token.UP, null); ifNode.AddChoice(new AtomNode(true),b2); } break; } Match(input, Token.UP, null); } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return node; }
// $ANTLR end "whileLoop" // $ANTLR start "ifStatement" // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:194:1: ifStatement returns [SGLNode node] : ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) ; public SGLNode ifStatement() // throws RecognitionException [1] { SGLNode node = default(SGLNode); SGLNode b1 = default(SGLNode); SGLNode b2 = default(SGLNode); SGLNode expression24 = default(SGLNode); IfNode ifNode = new IfNode(); node = ifNode; try { // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:199:3: ( ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) ) // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:199:6: ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) { Match(input,IF,FOLLOW_IF_in_ifStatement417); Match(input, Token.DOWN, null); // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:200:8: ( ^( EXP expression b1= block ) )+ int cnt7 = 0; do { int alt7 = 2; int LA7_0 = input.LA(1); if ( (LA7_0 == EXP) ) { int LA7_1 = input.LA(2); if ( (LA7_1 == DOWN) ) { int LA7_3 = input.LA(3); if ( ((LA7_3 >= STRING && LA7_3 <= VARDEC) || LA7_3 == LOOKUP || (LA7_3 >= IntAtom && LA7_3 <= LoopTypeAtom) || (LA7_3 >= Null && LA7_3 <= List) || LA7_3 == 63 || (LA7_3 >= 65 && LA7_3 <= 78)) ) { alt7 = 1; } } } switch (alt7) { case 1 : // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:200:9: ^( EXP expression b1= block ) { Match(input,EXP,FOLLOW_EXP_in_ifStatement431); Match(input, Token.DOWN, null); PushFollow(FOLLOW_expression_in_ifStatement433); expression24 = expression(); state.followingStackPointer--; PushFollow(FOLLOW_block_in_ifStatement437); b1 = block(); state.followingStackPointer--; Match(input, Token.UP, null); ifNode.AddChoice(expression24,b1); } break; default: if ( cnt7 >= 1 ) goto loop7; EarlyExitException eee7 = new EarlyExitException(7, input); throw eee7; } cnt7++; } while (true); loop7: ; // Stops C# compiler whining that label 'loop7' has no statements // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:201:8: ( ^( EXP b2= block ) )? int alt8 = 2; int LA8_0 = input.LA(1); if ( (LA8_0 == EXP) ) { alt8 = 1; } switch (alt8) { case 1 : // D:\\sgl4c#\\NewSGLGramma\\SGLTreeWalker.g:201:9: ^( EXP b2= block ) { Match(input,EXP,FOLLOW_EXP_in_ifStatement457); Match(input, Token.DOWN, null); PushFollow(FOLLOW_block_in_ifStatement461); b2 = block(); state.followingStackPointer--; Match(input, Token.UP, null); ifNode.AddChoice(new AtomNode(true),b2); } break; } Match(input, Token.UP, null); } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return node; }