// throws RecognitionException [1] // $ANTLR start primaryExpression // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1450:1: primaryExpression : (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent ); public primaryExpression_return primaryExpression() { primaryExpression_return retval = new primaryExpression_return(); retval.start = input.LT(1); int primaryExpression_StartIndex = input.Index(); CommonTree root_0 = null; CommonToken und = null; constant_return c = null; arrayLiteral_return arrayLiteral290 = null; objectLiteral_return objectLiteral291 = null; functionDefinition_return functionDefinition292 = null; newFullExpression_return newFullExpression293 = null; encapsulatedExpression_return encapsulatedExpression294 = null; qualifiedIdent_return qualifiedIdent295 = null; CommonTree und_tree=null; try { if ( (backtracking > 0) && AlreadyParsedRule(input, 111) ) { return retval; } // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1451:4: (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent ) int alt84 = 8; switch ( input.LA(1) ) { case UNDEFINED: { alt84 = 1; } break; case STRING_LITERAL: case TRUE: case FALSE: case NULL: case HEX_LITERAL: case DECIMAL_LITERAL: case OCTAL_LITERAL: case FLOAT_LITERAL: { alt84 = 2; } break; case LBRACK: { alt84 = 3; } break; case LCURLY: { alt84 = 4; } break; case FUNCTION: { alt84 = 5; } break; case NEW: { alt84 = 6; } break; case LPAREN: { alt84 = 7; } break; case GET: case SET: case IDENT: case DYNAMIC: case IS: case AS: case USE: case XML: { alt84 = 8; } break; default: if ( backtracking > 0 ) {failed = true; return retval;} NoViableAltException nvae_d84s0 = new NoViableAltException("1450:1: primaryExpression : (und= UNDEFINED | c= constant | arrayLiteral | objectLiteral | functionDefinition | newFullExpression | encapsulatedExpression | qualifiedIdent );", 84, 0, input); throw nvae_d84s0; } switch (alt84) { case 1 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1451:4: und= UNDEFINED { root_0 = (CommonTree)adaptor.GetNilNode(); und = (CommonToken)input.LT(1); Match(input,UNDEFINED,FOLLOW_UNDEFINED_in_primaryExpression5216); if (failed) return retval; if ( backtracking==0 ) { und_tree = (CommonTree)adaptor.Create(und); adaptor.AddChild(root_0, und_tree); } if ( backtracking == 0 ) { buffer.Append(und.Text); } } break; case 2 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1452:4: c= constant { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_constant_in_primaryExpression5228); c = constant(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, c.Tree); if ( backtracking == 0 ) { buffer.Append(((CommonTree)c.Tree).Text); } } break; case 3 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1453:4: arrayLiteral { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_arrayLiteral_in_primaryExpression5239); arrayLiteral290 = arrayLiteral(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, arrayLiteral290.Tree); } break; case 4 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1454:4: objectLiteral { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_objectLiteral_in_primaryExpression5244); objectLiteral291 = objectLiteral(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, objectLiteral291.Tree); } break; case 5 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1455:4: functionDefinition { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_functionDefinition_in_primaryExpression5249); functionDefinition292 = functionDefinition(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, functionDefinition292.Tree); } break; case 6 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1456:4: newFullExpression { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_newFullExpression_in_primaryExpression5254); newFullExpression293 = newFullExpression(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, newFullExpression293.Tree); } break; case 7 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1457:4: encapsulatedExpression { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_encapsulatedExpression_in_primaryExpression5259); encapsulatedExpression294 = encapsulatedExpression(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, encapsulatedExpression294.Tree); } break; case 8 : // C:\\Users\\sephiroth\\Documents\\Visual Studio 2005\\Projects\\CodeReformatter\\CodeReformatter\\AS.g:1458:4: qualifiedIdent { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_qualifiedIdent_in_primaryExpression5264); qualifiedIdent295 = qualifiedIdent(); followingStackPointer_--; if (failed) return retval; if ( backtracking==0 ) adaptor.AddChild(root_0, qualifiedIdent295.Tree); } break; } retval.stop = input.LT(-1); if ( backtracking==0 ) { retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop); } } catch (NoViableAltException e) { Debug.WriteLine("NoValiable alt: token=" + e.Token + " (decision=" + e.decisionNumber + " state " + e.stateNumber + ")" + " decision=<<" + e.grammarDecisionDescription + ">>"); throw e; } catch (MismatchedTokenException e) { Debug.WriteLine("[" + e.Line + ":" + e.Index + "]: " + e.Message + ". Unexpected " + e.UnexpectedType.ToString() + "( expecting: "+ e.expecting + " )"); throw e; } catch(RecognitionException e) { Debug.WriteLine("RecognitionException: " + e); throw e; } finally { if ( backtracking > 0 ) { Memoize(input, 111, primaryExpression_StartIndex); } } return retval; }
// $ANTLR start primaryExpression // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression ); public primaryExpression_return primaryExpression() // throws RecognitionException [1] { primaryExpression_return retval = new primaryExpression_return(); retval.start = input.LT(1); CommonTree root_0 = null; IToken char_literal28 = null; IToken char_literal30 = null; value_return expr = null; expression_return expression29 = null; newExpression_return newExpression31 = null; identifier_return identifier32 = null; arguments_return arguments33 = null; methodCall_return methodCall34 = null; queryExpression_return queryExpression35 = null; CommonTree char_literal28_tree=null; CommonTree char_literal30_tree=null; try { // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:157:2: ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression ) int alt16 = 6; switch ( input.LA(1) ) { case 34: { alt16 = 1; } break; case INTEGER: case FLOAT: case STRING: case 57: case 58: { alt16 = 2; } break; case 38: { int LA16_3 = input.LA(2); if ( (LA16_3 == 56) ) { alt16 = 2; } else if ( (LA16_3 == ID || LA16_3 == 39) ) { alt16 = 3; } else { NoViableAltException nvae_d16s3 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 3, input); throw nvae_d16s3; } } break; case ID: { int LA16_4 = input.LA(2); if ( (LA16_4 == 34) ) { switch ( input.LA(3) ) { case 34: { switch ( input.LA(4) ) { case INTEGER: case FLOAT: case STRING: case 28: case 32: case 34: case 38: case 42: case 57: case 58: { alt16 = 4; } break; case ID: { switch ( input.LA(5) ) { case 15: case 17: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 33: case 34: { alt16 = 4; } break; case 36: { alt16 = 5; } break; case 35: { int LA16_14 = input.LA(6); if ( (LA16_14 == 37) ) { alt16 = 5; } else if ( (LA16_14 == 15 || LA16_14 == 17 || (LA16_14 >= 19 && LA16_14 <= 31) || LA16_14 == 33 || (LA16_14 >= 35 && LA16_14 <= 36)) ) { alt16 = 4; } else { NoViableAltException nvae_d16s14 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 14, input); throw nvae_d16s14; } } break; default: NoViableAltException nvae_d16s12 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 12, input); throw nvae_d16s12; } } break; case 35: { alt16 = 5; } break; default: NoViableAltException nvae_d16s9 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 9, input); throw nvae_d16s9; } } break; case INTEGER: case FLOAT: case STRING: case 28: case 32: case 35: case 38: case 42: case 57: case 58: { alt16 = 4; } break; case ID: { switch ( input.LA(4) ) { case 15: case 17: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 33: case 34: case 35: { alt16 = 4; } break; case 36: { int LA16_13 = input.LA(5); if ( (LA16_13 == ID) ) { int LA16_15 = input.LA(6); if ( (LA16_15 == 15 || LA16_15 == 17 || (LA16_15 >= 19 && LA16_15 <= 31) || (LA16_15 >= 33 && LA16_15 <= 36)) ) { alt16 = 4; } else if ( (LA16_15 == 37) ) { alt16 = 5; } else { NoViableAltException nvae_d16s15 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 15, input); throw nvae_d16s15; } } else if ( ((LA16_13 >= INTEGER && LA16_13 <= STRING) || LA16_13 == 28 || LA16_13 == 32 || LA16_13 == 34 || LA16_13 == 38 || LA16_13 == 42 || (LA16_13 >= 57 && LA16_13 <= 58)) ) { alt16 = 4; } else { NoViableAltException nvae_d16s13 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 13, input); throw nvae_d16s13; } } break; case 37: { alt16 = 5; } break; default: NoViableAltException nvae_d16s10 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 10, input); throw nvae_d16s10; } } break; case 37: { alt16 = 5; } break; default: NoViableAltException nvae_d16s7 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 7, input); throw nvae_d16s7; } } else if ( (LA16_4 == EOF || (LA16_4 >= 15 && LA16_4 <= 31) || LA16_4 == 33 || (LA16_4 >= 35 && LA16_4 <= 36) || (LA16_4 >= 41 && LA16_4 <= 42) || (LA16_4 >= 44 && LA16_4 <= 54)) ) { alt16 = 4; } else { NoViableAltException nvae_d16s4 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 4, input); throw nvae_d16s4; } } break; case 42: { alt16 = 6; } break; default: NoViableAltException nvae_d16s0 = new NoViableAltException("156:1: primaryExpression returns [Expression value] : ( '(' expression ')' | expr= value | newExpression | identifier ( arguments )? | methodCall | queryExpression );", 16, 0, input); throw nvae_d16s0; } switch (alt16) { case 1 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:157:4: '(' expression ')' { root_0 = (CommonTree)adaptor.GetNilNode(); char_literal28 = (IToken)input.LT(1); Match(input,34,FOLLOW_34_in_primaryExpression632); char_literal28_tree = (CommonTree)adaptor.Create(char_literal28); adaptor.AddChild(root_0, char_literal28_tree); PushFollow(FOLLOW_expression_in_primaryExpression634); expression29 = expression(); followingStackPointer_--; adaptor.AddChild(root_0, expression29.Tree); char_literal30 = (IToken)input.LT(1); Match(input,35,FOLLOW_35_in_primaryExpression636); char_literal30_tree = (CommonTree)adaptor.Create(char_literal30); adaptor.AddChild(root_0, char_literal30_tree); retval.value = expression29.value; } break; case 2 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:158:4: expr= value { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_value_in_primaryExpression646); expr = value(); followingStackPointer_--; adaptor.AddChild(root_0, expr.Tree); retval.value = expr.value; } break; case 3 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:159:4: newExpression { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_newExpression_in_primaryExpression654); newExpression31 = newExpression(); followingStackPointer_--; adaptor.AddChild(root_0, newExpression31.Tree); retval.value = newExpression31.value; } break; case 4 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:4: identifier ( arguments )? { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_identifier_in_primaryExpression662); identifier32 = identifier(); followingStackPointer_--; adaptor.AddChild(root_0, identifier32.Tree); retval.value = input.ToString(identifier32.start,identifier32.stop) == "null" ? new ValueExpression(null, TypeCode.Object) : (Expression)identifier32.value; // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:120: ( arguments )? int alt15 = 2; int LA15_0 = input.LA(1); if ( (LA15_0 == 34) ) { alt15 = 1; } switch (alt15) { case 1 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:160:121: arguments { PushFollow(FOLLOW_arguments_in_primaryExpression667); arguments33 = arguments(); followingStackPointer_--; adaptor.AddChild(root_0, arguments33.Tree); retval.value = new MethodCall(identifier32.value, (arguments33.value).ToArray()); } break; } } break; case 5 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:161:4: methodCall { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_methodCall_in_primaryExpression676); methodCall34 = methodCall(); followingStackPointer_--; adaptor.AddChild(root_0, methodCall34.Tree); retval.value = methodCall34.value; } break; case 6 : // C:\\Documents and Settings\\Sébastien Ros\\Mes documents\\Développement\\NLinq\\NLinq.g:162:5: queryExpression { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_queryExpression_in_primaryExpression685); queryExpression35 = queryExpression(); followingStackPointer_--; adaptor.AddChild(root_0, queryExpression35.Tree); retval.value = queryExpression35.value; } break; } retval.stop = input.LT(-1); retval.tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, retval.start, retval.stop); } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { } return retval; }