// $ANTLR 2.7.7 (20130428): "java-expression.g" -> "JavaRecognizer.java"$ package gnu.classpath.tools.gjdoc.expr; import antlr.TokenBuffer; import antlr.TokenStreamException; import antlr.TokenStreamIOException; import antlr.ANTLRException; import antlr.LLkParser; import antlr.Token; import antlr.TokenStream; import antlr.RecognitionException; import antlr.NoViableAltException; import antlr.MismatchedTokenException; import antlr.SemanticException; import antlr.ParserSharedInputState; import antlr.collections.impl.BitSet; import antlr.collections.AST; import java.util.Hashtable; import antlr.ASTFactory; import antlr.ASTPair; import antlr.collections.impl.ASTArray; public class JavaRecognizer extends antlr.LLkParser implements JavaTokenTypes { protected JavaRecognizer(TokenBuffer tokenBuf, int k) { super(tokenBuf,k); tokenNames = _tokenNames; buildTokenTypeASTClassMap(); astFactory = new ASTFactory(getTokenTypeToASTClassMap()); } public JavaRecognizer(TokenBuffer tokenBuf) { this(tokenBuf,2); } protected JavaRecognizer(TokenStream lexer, int k) { super(lexer,k); tokenNames = _tokenNames; buildTokenTypeASTClassMap(); astFactory = new ASTFactory(getTokenTypeToASTClassMap()); } public JavaRecognizer(TokenStream lexer) { this(lexer,2); } public JavaRecognizer(ParserSharedInputState state) { super(state,2); tokenNames = _tokenNames; buildTokenTypeASTClassMap(); astFactory = new ASTFactory(getTokenTypeToASTClassMap()); } public final Type builtInTypeSpec( boolean addImagNode ) throws RecognitionException, TokenStreamException { Type t = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST builtInTypeSpec_AST = null; Token lb = null; AST lb_AST = null; t=builtInType(); astFactory.addASTChild(currentAST, returnAST); { _loop3: do { if ((LA(1)==LBRACK)) { lb = LT(1); lb_AST = astFactory.create(lb); astFactory.makeASTRoot(currentAST, lb_AST); match(LBRACK); if ( inputState.guessing==0 ) { lb_AST.setType(ARRAY_DECLARATOR); } match(RBRACK); } else { break _loop3; } } while (true); } if ( inputState.guessing==0 ) { builtInTypeSpec_AST = (AST)currentAST.root; if ( addImagNode ) { builtInTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInTypeSpec_AST)); } currentAST.root = builtInTypeSpec_AST; currentAST.child = builtInTypeSpec_AST!=null &&builtInTypeSpec_AST.getFirstChild()!=null ? builtInTypeSpec_AST.getFirstChild() : builtInTypeSpec_AST; currentAST.advanceChildToEnd(); } builtInTypeSpec_AST = (AST)currentAST.root; returnAST = builtInTypeSpec_AST; return t; } public final Type builtInType() throws RecognitionException, TokenStreamException { Type t = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST builtInType_AST = null; switch ( LA(1)) { case LITERAL_void: { AST tmp2_AST = null; tmp2_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp2_AST); match(LITERAL_void); if ( inputState.guessing==0 ) { t=Type.VOID; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_boolean: { AST tmp3_AST = null; tmp3_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp3_AST); match(LITERAL_boolean); if ( inputState.guessing==0 ) { t=Type.BOOLEAN; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_byte: { AST tmp4_AST = null; tmp4_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp4_AST); match(LITERAL_byte); if ( inputState.guessing==0 ) { t=Type.BYTE; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_char: { AST tmp5_AST = null; tmp5_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp5_AST); match(LITERAL_char); if ( inputState.guessing==0 ) { t=Type.CHAR; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_short: { AST tmp6_AST = null; tmp6_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp6_AST); match(LITERAL_short); if ( inputState.guessing==0 ) { t=Type.SHORT; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_int: { AST tmp7_AST = null; tmp7_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp7_AST); match(LITERAL_int); if ( inputState.guessing==0 ) { t=Type.INTEGER; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_float: { AST tmp8_AST = null; tmp8_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp8_AST); match(LITERAL_float); if ( inputState.guessing==0 ) { t=Type.FLOAT; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_long: { AST tmp9_AST = null; tmp9_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp9_AST); match(LITERAL_long); if ( inputState.guessing==0 ) { t=Type.LONG; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_double: { AST tmp10_AST = null; tmp10_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp10_AST); match(LITERAL_double); if ( inputState.guessing==0 ) { t=Type.DOUBLE; } builtInType_AST = (AST)currentAST.root; break; } case LITERAL_String: { AST tmp11_AST = null; tmp11_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp11_AST); match(LITERAL_String); if ( inputState.guessing==0 ) { t=Type.STRING; } builtInType_AST = (AST)currentAST.root; break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } returnAST = builtInType_AST; return t; } public final Type type() throws RecognitionException, TokenStreamException { Type t; returnAST = null; ASTPair currentAST = new ASTPair(); AST type_AST = null; t=builtInType(); astFactory.addASTChild(currentAST, returnAST); type_AST = (AST)currentAST.root; returnAST = type_AST; return t; } public final String identifier() throws RecognitionException, TokenStreamException { String s = null;; returnAST = null; ASTPair currentAST = new ASTPair(); AST identifier_AST = null; Token i = null; AST i_AST = null; Token i2 = null; AST i2_AST = null; i = LT(1); i_AST = astFactory.create(i); astFactory.addASTChild(currentAST, i_AST); match(IDENT); if ( inputState.guessing==0 ) { s=i.getText(); } { _loop8: do { if ((LA(1)==DOT)) { AST tmp12_AST = null; tmp12_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp12_AST); match(DOT); i2 = LT(1); i2_AST = astFactory.create(i2); astFactory.addASTChild(currentAST, i2_AST); match(IDENT); if ( inputState.guessing==0 ) { s+="."+i2.getText(); } } else { break _loop8; } } while (true); } identifier_AST = (AST)currentAST.root; returnAST = identifier_AST; return s; } public final Expression expression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST expression_AST = null; e=conditionalExpression(); astFactory.addASTChild(currentAST, returnAST); match(Token.EOF_TYPE); expression_AST = (AST)currentAST.root; returnAST = expression_AST; return e; } public final Expression conditionalExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST conditionalExpression_AST = null; Expression a,b,c; e=logicalOrExpression(); astFactory.addASTChild(currentAST, returnAST); { switch ( LA(1)) { case QUESTION: { AST tmp14_AST = null; tmp14_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp14_AST); match(QUESTION); b=conditionalExpression(); astFactory.addASTChild(currentAST, returnAST); match(COLON); c=conditionalExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new ConditionalExpression(e,b,c); } break; } case EOF: case COLON: case RPAREN: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } conditionalExpression_AST = (AST)currentAST.root; returnAST = conditionalExpression_AST; return e; } public final Expression logicalOrExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST logicalOrExpression_AST = null; Expression a,b; e=logicalAndExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop14: do { if ((LA(1)==LOR)) { AST tmp16_AST = null; tmp16_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp16_AST); match(LOR); b=logicalAndExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new LogicalOrExpression(e,b); } } else { break _loop14; } } while (true); } logicalOrExpression_AST = (AST)currentAST.root; returnAST = logicalOrExpression_AST; return e; } public final Expression logicalAndExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST logicalAndExpression_AST = null; Expression a,b; e=inclusiveOrExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop17: do { if ((LA(1)==LAND)) { AST tmp17_AST = null; tmp17_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp17_AST); match(LAND); b=inclusiveOrExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new LogicalAndExpression(e,b); } } else { break _loop17; } } while (true); } logicalAndExpression_AST = (AST)currentAST.root; returnAST = logicalAndExpression_AST; return e; } public final Expression inclusiveOrExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST inclusiveOrExpression_AST = null; Expression a,b; e=exclusiveOrExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop20: do { if ((LA(1)==BOR)) { AST tmp18_AST = null; tmp18_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp18_AST); match(BOR); b=exclusiveOrExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new InclusiveOrExpression(e,b); } } else { break _loop20; } } while (true); } inclusiveOrExpression_AST = (AST)currentAST.root; returnAST = inclusiveOrExpression_AST; return e; } public final Expression exclusiveOrExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST exclusiveOrExpression_AST = null; Expression a,b; e=andExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop23: do { if ((LA(1)==BXOR)) { AST tmp19_AST = null; tmp19_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp19_AST); match(BXOR); b=andExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new ExclusiveOrExpression(e,b); } } else { break _loop23; } } while (true); } exclusiveOrExpression_AST = (AST)currentAST.root; returnAST = exclusiveOrExpression_AST; return e; } public final Expression andExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST andExpression_AST = null; Expression a,b; e=equalityExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop26: do { if ((LA(1)==BAND)) { AST tmp20_AST = null; tmp20_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp20_AST); match(BAND); b=equalityExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new AndExpression(e,b); } } else { break _loop26; } } while (true); } andExpression_AST = (AST)currentAST.root; returnAST = andExpression_AST; return e; } public final Expression equalityExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST equalityExpression_AST = null; Expression a,b; e=relationalExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop30: do { if ((LA(1)==NOT_EQUAL||LA(1)==EQUAL)) { { switch ( LA(1)) { case NOT_EQUAL: { AST tmp21_AST = null; tmp21_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp21_AST); match(NOT_EQUAL); a=relationalExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new NotEqualExpression(e,a); } break; } case EQUAL: { AST tmp22_AST = null; tmp22_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp22_AST); match(EQUAL); a=relationalExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new EqualExpression(e,a); } break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } else { break _loop30; } } while (true); } equalityExpression_AST = (AST)currentAST.root; returnAST = equalityExpression_AST; return e; } public final Expression relationalExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST relationalExpression_AST = null; Expression a,b; e=shiftExpression(); astFactory.addASTChild(currentAST, returnAST); { { _loop35: do { if (((LA(1) >= LT && LA(1) <= GE))) { { switch ( LA(1)) { case LT: { AST tmp23_AST = null; tmp23_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp23_AST); match(LT); a=shiftExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new LessThanExpression(e,a); } break; } case GT: { AST tmp24_AST = null; tmp24_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp24_AST); match(GT); a=shiftExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new GreaterThanExpression(e,a); } break; } case LE: { AST tmp25_AST = null; tmp25_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp25_AST); match(LE); a=shiftExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new LessThanOrEqualExpression(e,a); } break; } case GE: { AST tmp26_AST = null; tmp26_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp26_AST); match(GE); a=shiftExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new GreaterThanOrEqualExpression(e,a); } break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } else { break _loop35; } } while (true); } } relationalExpression_AST = (AST)currentAST.root; returnAST = relationalExpression_AST; return e; } public final Expression shiftExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST shiftExpression_AST = null; Expression a,b; e=additiveExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop39: do { if (((LA(1) >= SL && LA(1) <= BSR))) { { switch ( LA(1)) { case SL: { AST tmp27_AST = null; tmp27_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp27_AST); match(SL); a=additiveExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new ShiftLeftExpression(e,a); } break; } case SR: { AST tmp28_AST = null; tmp28_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp28_AST); match(SR); a=additiveExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new ShiftRightExpression(e,a); } break; } case BSR: { AST tmp29_AST = null; tmp29_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp29_AST); match(BSR); a=additiveExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new BitShiftRightExpression(e,a); } break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } else { break _loop39; } } while (true); } shiftExpression_AST = (AST)currentAST.root; returnAST = shiftExpression_AST; return e; } public final Expression additiveExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST additiveExpression_AST = null; Expression a,b; e=multiplicativeExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop43: do { if ((LA(1)==PLUS||LA(1)==MINUS)) { { switch ( LA(1)) { case PLUS: { AST tmp30_AST = null; tmp30_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp30_AST); match(PLUS); a=multiplicativeExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new AdditionExpression(e,a); } break; } case MINUS: { AST tmp31_AST = null; tmp31_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp31_AST); match(MINUS); a=multiplicativeExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new SubtractionExpression(e,a); } break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } else { break _loop43; } } while (true); } additiveExpression_AST = (AST)currentAST.root; returnAST = additiveExpression_AST; return e; } public final Expression multiplicativeExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST multiplicativeExpression_AST = null; Expression a,b; e=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); { _loop47: do { if (((LA(1) >= STAR && LA(1) <= MOD))) { { switch ( LA(1)) { case STAR: { AST tmp32_AST = null; tmp32_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp32_AST); match(STAR); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new MultiplicationExpression(e,a); } break; } case DIV: { AST tmp33_AST = null; tmp33_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp33_AST); match(DIV); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new DivisionExpression(e,a); } break; } case MOD: { AST tmp34_AST = null; tmp34_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp34_AST); match(MOD); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new ModuloExpression(e,a); } break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } else { break _loop47; } } while (true); } multiplicativeExpression_AST = (AST)currentAST.root; returnAST = multiplicativeExpression_AST; return e; } public final Expression unaryExpression() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST unaryExpression_AST = null; Expression a,b; switch ( LA(1)) { case MINUS: { AST tmp35_AST = null; tmp35_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp35_AST); match(MINUS); if ( inputState.guessing==0 ) { tmp35_AST.setType(UNARY_MINUS); } a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new NegateExpression(a); } unaryExpression_AST = (AST)currentAST.root; break; } case PLUS: { AST tmp36_AST = null; tmp36_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp36_AST); match(PLUS); if ( inputState.guessing==0 ) { tmp36_AST.setType(UNARY_PLUS); } e=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); unaryExpression_AST = (AST)currentAST.root; break; } case IDENT: case BNOT: case LNOT: case LPAREN: case LITERAL_true: case LITERAL_false: case LITERAL_null: case NUM_INT: case CHAR_LITERAL: case STRING_LITERAL: case NUM_FLOAT: case NUM_LONG: case NUM_DOUBLE: { e=unaryExpressionNotPlusMinus(); astFactory.addASTChild(currentAST, returnAST); unaryExpression_AST = (AST)currentAST.root; break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } returnAST = unaryExpression_AST; return e; } public final Expression unaryExpressionNotPlusMinus() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST unaryExpressionNotPlusMinus_AST = null; Token lpb = null; AST lpb_AST = null; Expression a; Type t; switch ( LA(1)) { case BNOT: { AST tmp37_AST = null; tmp37_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp37_AST); match(BNOT); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new NotExpression(a); } unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; break; } case LNOT: { AST tmp38_AST = null; tmp38_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp38_AST); match(LNOT); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new LogicalNotExpression(a); } unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; break; } default: boolean synPredMatched51 = false; if (((LA(1)==LPAREN) && ((LA(2) >= LITERAL_void && LA(2) <= LITERAL_String)))) { int _m51 = mark(); synPredMatched51 = true; inputState.guessing++; try { { match(LPAREN); builtInTypeSpec(true); match(RPAREN); } } catch (RecognitionException pe) { synPredMatched51 = false; } rewind(_m51); inputState.guessing--; } if ( synPredMatched51 ) { lpb = LT(1); lpb_AST = astFactory.create(lpb); astFactory.makeASTRoot(currentAST, lpb_AST); match(LPAREN); if ( inputState.guessing==0 ) { lpb_AST.setType(TYPECAST); } t=builtInTypeSpec(true); astFactory.addASTChild(currentAST, returnAST); match(RPAREN); a=unaryExpression(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new TypeCastExpression(t,a); } unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; } else if ((_tokenSet_0.member(LA(1))) && (_tokenSet_1.member(LA(2)))) { e=primaryExpression(); astFactory.addASTChild(currentAST, returnAST); unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; } else { throw new NoViableAltException(LT(1), getFilename()); } } returnAST = unaryExpressionNotPlusMinus_AST; return e; } public final Expression primaryExpression() throws RecognitionException, TokenStreamException { Expression e = null; String i = null;; returnAST = null; ASTPair currentAST = new ASTPair(); AST primaryExpression_AST = null; switch ( LA(1)) { case NUM_INT: case CHAR_LITERAL: case STRING_LITERAL: case NUM_FLOAT: case NUM_LONG: case NUM_DOUBLE: { e=constant(); astFactory.addASTChild(currentAST, returnAST); primaryExpression_AST = (AST)currentAST.root; break; } case IDENT: { i=identifier(); astFactory.addASTChild(currentAST, returnAST); if ( inputState.guessing==0 ) { e=new IdentifierExpression(i); } primaryExpression_AST = (AST)currentAST.root; break; } case LITERAL_true: { AST tmp40_AST = null; tmp40_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp40_AST); match(LITERAL_true); if ( inputState.guessing==0 ) { e=new ConstantBoolean(true); } primaryExpression_AST = (AST)currentAST.root; break; } case LITERAL_false: { AST tmp41_AST = null; tmp41_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp41_AST); match(LITERAL_false); if ( inputState.guessing==0 ) { e=new ConstantBoolean(false); } primaryExpression_AST = (AST)currentAST.root; break; } case LITERAL_null: { AST tmp42_AST = null; tmp42_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp42_AST); match(LITERAL_null); if ( inputState.guessing==0 ) { e=new ConstantNull(); } primaryExpression_AST = (AST)currentAST.root; break; } case LPAREN: { match(LPAREN); e=conditionalExpression(); astFactory.addASTChild(currentAST, returnAST); match(RPAREN); primaryExpression_AST = (AST)currentAST.root; break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } returnAST = primaryExpression_AST; return e; } public final Expression constant() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST constant_AST = null; Token l1 = null; AST l1_AST = null; Token l2 = null; AST l2_AST = null; Token l3 = null; AST l3_AST = null; Token l4 = null; AST l4_AST = null; Token l5 = null; AST l5_AST = null; Token l6 = null; AST l6_AST = null; switch ( LA(1)) { case NUM_INT: { l1 = LT(1); l1_AST = astFactory.create(l1); astFactory.addASTChild(currentAST, l1_AST); match(NUM_INT); if ( inputState.guessing==0 ) { e=new ConstantInteger(l1.getText()); } constant_AST = (AST)currentAST.root; break; } case CHAR_LITERAL: { l2 = LT(1); l2_AST = astFactory.create(l2); astFactory.addASTChild(currentAST, l2_AST); match(CHAR_LITERAL); if ( inputState.guessing==0 ) { e=new ConstantChar(l2.getText()); } constant_AST = (AST)currentAST.root; break; } case STRING_LITERAL: { l3 = LT(1); l3_AST = astFactory.create(l3); astFactory.addASTChild(currentAST, l3_AST); match(STRING_LITERAL); if ( inputState.guessing==0 ) { e=new ConstantString(l3.getText().substring(1, l3.getText().length()-1)); } constant_AST = (AST)currentAST.root; break; } case NUM_FLOAT: { l4 = LT(1); l4_AST = astFactory.create(l4); astFactory.addASTChild(currentAST, l4_AST); match(NUM_FLOAT); if ( inputState.guessing==0 ) { e=new ConstantFloat(l4.getText()); } constant_AST = (AST)currentAST.root; break; } case NUM_LONG: { l5 = LT(1); l5_AST = astFactory.create(l5); astFactory.addASTChild(currentAST, l5_AST); match(NUM_LONG); if ( inputState.guessing==0 ) { e=new ConstantLong(l5.getText()); } constant_AST = (AST)currentAST.root; break; } case NUM_DOUBLE: { l6 = LT(1); l6_AST = astFactory.create(l6); astFactory.addASTChild(currentAST, l6_AST); match(NUM_DOUBLE); if ( inputState.guessing==0 ) { e=new ConstantDouble(l6.getText()); } constant_AST = (AST)currentAST.root; break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } returnAST = constant_AST; return e; } /** Match a, a.b.c refs */ public final Expression identPrimary() throws RecognitionException, TokenStreamException { Expression e = null; returnAST = null; ASTPair currentAST = new ASTPair(); AST identPrimary_AST = null; AST tmp45_AST = null; tmp45_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp45_AST); match(IDENT); { _loop55: do { if ((LA(1)==DOT)) { AST tmp46_AST = null; tmp46_AST = astFactory.create(LT(1)); astFactory.makeASTRoot(currentAST, tmp46_AST); match(DOT); AST tmp47_AST = null; tmp47_AST = astFactory.create(LT(1)); astFactory.addASTChild(currentAST, tmp47_AST); match(IDENT); } else { break _loop55; } } while (true); } identPrimary_AST = (AST)currentAST.root; returnAST = identPrimary_AST; return e; } public static final String[] _tokenNames = { "<0>", "EOF", "<2>", "NULL_TREE_LOOKAHEAD", "BLOCK", "MODIFIERS", "OBJBLOCK", "SLIST", "CTOR_DEF", "METHOD_DEF", "VARIABLE_DEF", "INSTANCE_INIT", "STATIC_INIT", "TYPE", "CLASS_DEF", "INTERFACE_DEF", "PACKAGE_DEF", "ARRAY_DECLARATOR", "EXTENDS_CLAUSE", "IMPLEMENTS_CLAUSE", "PARAMETERS", "PARAMETER_DEF", "LABELED_STAT", "TYPECAST", "INDEX_OP", "POST_INC", "POST_DEC", "METHOD_CALL", "EXPR", "ARRAY_INIT", "IMPORT", "UNARY_MINUS", "UNARY_PLUS", "CASE_GROUP", "ELIST", "FOR_INIT", "FOR_CONDITION", "FOR_ITERATOR", "EMPTY_STAT", "\"final\"", "\"abstract\"", "\"strictfp\"", "SUPER_CTOR_CALL", "CTOR_CALL", "LBRACK", "RBRACK", "\"void\"", "\"boolean\"", "\"byte\"", "\"char\"", "\"short\"", "\"int\"", "\"float\"", "\"long\"", "\"double\"", "\"String\"", "IDENT", "DOT", "QUESTION", "COLON", "LOR", "LAND", "BOR", "BXOR", "BAND", "NOT_EQUAL", "EQUAL", "LT", "GT", "LE", "GE", "SL", "SR", "BSR", "PLUS", "MINUS", "STAR", "DIV", "MOD", "BNOT", "LNOT", "LPAREN", "RPAREN", "\"true\"", "\"false\"", "\"null\"", "NUM_INT", "CHAR_LITERAL", "STRING_LITERAL", "NUM_FLOAT", "NUM_LONG", "NUM_DOUBLE", "LCURLY", "RCURLY", "COMMA", "ASSIGN", "DIV_ASSIGN", "PLUS_ASSIGN", "INC", "MINUS_ASSIGN", "DEC", "STAR_ASSIGN", "MOD_ASSIGN", "SR_ASSIGN", "BSR_ASSIGN", "SL_ASSIGN", "BXOR_ASSIGN", "BOR_ASSIGN", "BAND_ASSIGN", "SEMI", "WS", "SL_COMMIT", "ML_COMMENT", "ESC", "HEX_DIGIT", "VOCAB", "EXPONENT", "FLOAT_SUFFIX" }; protected void buildTokenTypeASTClassMap() { tokenTypeToASTClassMap=null; }; private static final long[] mk_tokenSet_0() { long[] data = { 72057594037927936L, 268042240L, 0L, 0L}; return data; } public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); private static final long[] mk_tokenSet_1() { long[] data = { -72057594037927934L, 268435455L, 0L, 0L}; return data; } public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); }