public JavaScriptAst Create() { CreateTokenStream(); var parser = new ES3Parser(tokenStream); programReturn = parser.program(); return new JavaScriptAst(tokenStream, programReturn.Tree as CommonTree); }
public JavaScriptAst Create() { CreateTokenStream(); var parser = new ES3Parser(tokenStream); programReturn = parser.program(); return(new JavaScriptAst(tokenStream, programReturn.Tree as CommonTree)); }
// $ANTLR start "program" // I:\\Developpement\\Evaluant - R&D\\Jint\\trunk\\Jint\\ES3.g:1831:1: program returns [Program value] : (follow= sourceElement )* ; public ES3Parser.program_return program() // throws RecognitionException [1] { ES3Parser.program_return retval = new ES3Parser.program_return(); retval.Start = input.LT(1); object root_0 = null; ES3Parser.sourceElement_return follow = null; script = input.ToString().Split('\n'); Program program = new Program(); try { // I:\\Developpement\\Evaluant - R&D\\Jint\\trunk\\Jint\\ES3.g:1836:2: ( (follow= sourceElement )* ) // I:\\Developpement\\Evaluant - R&D\\Jint\\trunk\\Jint\\ES3.g:1836:4: (follow= sourceElement )* { root_0 = (object)adaptor.GetNilNode(); // I:\\Developpement\\Evaluant - R&D\\Jint\\trunk\\Jint\\ES3.g:1836:4: (follow= sourceElement )* do { int alt87 = 2; int LA87_0 = input.LA(1); if ( ((LA87_0 >= NULL && LA87_0 <= BREAK) || LA87_0 == CONTINUE || (LA87_0 >= DELETE && LA87_0 <= DO) || (LA87_0 >= FOR && LA87_0 <= IF) || (LA87_0 >= NEW && LA87_0 <= WITH) || LA87_0 == LBRACE || LA87_0 == LPAREN || LA87_0 == LBRACK || LA87_0 == SEMIC || (LA87_0 >= ADD && LA87_0 <= SUB) || (LA87_0 >= INC && LA87_0 <= DEC) || (LA87_0 >= NOT && LA87_0 <= INV) || (LA87_0 >= Identifier && LA87_0 <= StringLiteral) || LA87_0 == RegularExpressionLiteral || (LA87_0 >= DecimalLiteral && LA87_0 <= HexIntegerLiteral)) ) { alt87 = 1; } switch (alt87) { case 1 : // I:\\Developpement\\Evaluant - R&D\\Jint\\trunk\\Jint\\ES3.g:1836:5: follow= sourceElement { PushFollow(FOLLOW_sourceElement_in_program6752); follow = sourceElement(); state.followingStackPointer--; adaptor.AddChild(root_0, follow.Tree); program.Statements.AddLast(follow.value); } break; default: goto loop87; } } while (true); loop87: ; // Stops C# compiler whining that label 'loop87' has no statements retval.value = program; } 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; }