// throws RecognitionException [1] // $ANTLR start "program" // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:20:1: program returns [List<Element> ret] : ( expr )+ ; public spinachParser.program_return program() { spinachParser.program_return retval = new spinachParser.program_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr_return expr1 = null; retval.ret = new List<Element>(); try { // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:24:3: ( ( expr )+ ) // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:24:5: ( expr )+ { root_0 = (object)adaptor.GetNilNode(); // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:24:5: ( expr )+ int cnt1 = 0; do { int alt1 = 2; int LA1_0 = input.LA(1); if ( (LA1_0 == VARIABLE || LA1_0 == VARTYPE || LA1_0 == STRINGTYPE || LA1_0 == 23 || (LA1_0 >= 29 && LA1_0 <= 33) || LA1_0 == 36 || (LA1_0 >= 38 && LA1_0 <= 46)) ) { alt1 = 1; } switch (alt1) { case 1 : // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:24:6: expr { PushFollow(FOLLOW_expr_in_program65); expr1 = expr(); state.followingStackPointer--; adaptor.AddChild(root_0, expr1.Tree); retval.ret.Add(((expr1 != null) ? expr1.ret : null)); } break; default: if ( cnt1 >= 1 ) goto loop1; EarlyExitException eee1 = new EarlyExitException(1, input); throw eee1; } cnt1++; } while (true); loop1: ; // Stops C# compiler whining that label 'loop1' has no statements } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "program" // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:24:1: program returns [List<Element> ret] : ( expr )+ ; public spinachParser.program_return program() // throws RecognitionException [1] { spinachParser.program_return retval = new spinachParser.program_return(); retval.Start = input.LT(1); object root_0 = null; spinachParser.expr_return expr1 = null; retval.ret = new List<Element>(); try { // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:28:3: ( ( expr )+ ) // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:28:5: ( expr )+ { root_0 = (object)adaptor.GetNilNode(); // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:28:5: ( expr )+ int cnt1 = 0; do { int alt1 = 2; int LA1_0 = input.LA(1); if ( (LA1_0 == VARIABLE || LA1_0 == VARTYPE || LA1_0 == STRINGTYPE || LA1_0 == 28 || LA1_0 == 32 || (LA1_0 >= 34 && LA1_0 <= 37) || LA1_0 == 40 || (LA1_0 >= 42 && LA1_0 <= 43) || LA1_0 == 46 || LA1_0 == 48 || (LA1_0 >= 52 && LA1_0 <= 56)) ) { alt1 = 1; } switch (alt1) { case 1 : // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:28:6: expr { PushFollow(FOLLOW_expr_in_program69); expr1 = expr(); state.followingStackPointer--; adaptor.AddChild(root_0, expr1.Tree); retval.ret.Add(((expr1 != null) ? expr1.ret : null)); } break; default: if ( cnt1 >= 1 ) goto loop1; EarlyExitException eee1 = new EarlyExitException(1, input); throw eee1; } cnt1++; } while (true); loop1: ; // Stops C# compiler whinging that label 'loop1' has no statements } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
// $ANTLR start "program" // spinach.g:24:1: program returns [List<Element> ret] : ( ( expr | comment )+ EOF ) ; public spinachParser.program_return program() // throws RecognitionException [1] { spinachParser.program_return retval = new spinachParser.program_return(); retval.Start = input.LT(1); object root_0 = null; IToken EOF3 = null; spinachParser.expr_return expr1 = null; spinachParser.comment_return comment2 = null; object EOF3_tree=null; retval.ret = new List<Element>(); try { // spinach.g:28:3: ( ( ( expr | comment )+ EOF ) ) // spinach.g:28:5: ( ( expr | comment )+ EOF ) { root_0 = (object)adaptor.GetNilNode(); // spinach.g:28:5: ( ( expr | comment )+ EOF ) // spinach.g:28:6: ( expr | comment )+ EOF { // spinach.g:28:6: ( expr | comment )+ int cnt1 = 0; do { int alt1 = 3; int LA1_0 = input.LA(1); if ( (LA1_0 == VARIABLE || LA1_0 == VARTYPE || LA1_0 == STRINGTYPE || LA1_0 == 28 || LA1_0 == 32 || (LA1_0 >= 34 && LA1_0 <= 37) || LA1_0 == 40 || (LA1_0 >= 42 && LA1_0 <= 43) || LA1_0 == 47 || (LA1_0 >= 51 && LA1_0 <= 55)) ) { alt1 = 1; } else if ( (LA1_0 == 56) ) { alt1 = 2; } switch (alt1) { case 1 : // spinach.g:28:7: expr { PushFollow(FOLLOW_expr_in_program70); expr1 = expr(); state.followingStackPointer--; adaptor.AddChild(root_0, expr1.Tree); retval.ret.Add(((expr1 != null) ? expr1.ret : null)); } break; case 2 : // spinach.g:28:44: comment { PushFollow(FOLLOW_comment_in_program76); comment2 = comment(); state.followingStackPointer--; adaptor.AddChild(root_0, comment2.Tree); retval.ret.Add(((comment2 != null) ? comment2.ret : null)); } break; default: if ( cnt1 >= 1 ) goto loop1; EarlyExitException eee1 = new EarlyExitException(1, input); throw eee1; } cnt1++; } while (true); loop1: ; // Stops C# compiler whining that label 'loop1' has no statements EOF3=(IToken)Match(input,EOF,FOLLOW_EOF_in_program82); EOF3_tree = (object)adaptor.Create(EOF3); adaptor.AddChild(root_0, EOF3_tree); } } retval.Stop = input.LT(-1); retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }