/* Generated By:JavaCC: Do not edit this line. AnnotationParser.java */ package org.jboss.seam.remoting.annotationparser; import java.io.*; import org.jboss.seam.remoting.annotationparser.syntaxtree.*; import java.util.Vector; public class AnnotationParser implements AnnotationParserConstants { public AnnotationParser(String fileName) { this(System.in); try { ReInit(new FileInputStream(new File(fileName))); } catch (Exception e) { e.printStackTrace(); } } public static void main(String args[]) { AnnotationParser parser; if ( args.length == 0 ) { System.out.println("AnnotationParser: Reading from standard input . . ."); parser = new AnnotationParser(System.in); } else if ( args.length == 1 ) { System.out.println("AnnotationParser: Reading from file " + args[0]+ " . . ."); try { parser = new AnnotationParser(new java.io.FileInputStream(args[0])); } catch (java.io.FileNotFoundException e) { System.out.println("AnnotationParser: File " + args[0]+ " not found."); return; } } else { System.out.println("AnnotationParser: Usage is one of:"); System.out.println(" java AnnotationParser < inputfile"); System.out.println("OR"); System.out.println(" java AnnotationParser inputfile"); return; } try { parser.AnnotationsUnit(); System.out.println("AnnotationParser: Annotations parsed successfully."); } catch (ParseException e) { System.out.println(e.getMessage()); System.out.println("AnnotationParser: Encountered errors during parse."); } } final public AnnotationsUnit AnnotationsUnit() throws ParseException { NodeOptional n0 = new NodeOptional(); NodeSequence n1; Annotation n2; NodeListOptional n3; NodeSequence n4; NodeToken n5; Token n6; Annotation n7; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AT: n3 = new NodeListOptional(); n1 = new NodeSequence(2); n2 = Annotation(); n1.addNode(n2); label_1: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: ; break; default: break label_1; } n4 = new NodeSequence(2); n6 = jj_consume_token(COMMA); n5 = JTBToolkit.makeNodeToken(n6); n4.addNode(n5); n7 = Annotation(); n4.addNode(n7); n3.addNode(n4); } n3.nodes.trimToSize(); n1.addNode(n3); n0.addNode(n1); break; default: ; } {if (true) return new AnnotationsUnit(n0);} throw new Error("Missing return statement in function"); } final public PrimitiveType PrimitiveType() throws ParseException { NodeChoice n0; NodeToken n1; Token n2; NodeToken n3; Token n4; NodeToken n5; Token n6; NodeToken n7; Token n8; NodeToken n9; Token n10; NodeToken n11; Token n12; NodeToken n13; Token n14; NodeToken n15; Token n16; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case BOOLEAN: n2 = jj_consume_token(BOOLEAN); n1 = JTBToolkit.makeNodeToken(n2); n0 = new NodeChoice(n1, 0); break; case CHAR: n4 = jj_consume_token(CHAR); n3 = JTBToolkit.makeNodeToken(n4); n0 = new NodeChoice(n3, 1); break; case BYTE: n6 = jj_consume_token(BYTE); n5 = JTBToolkit.makeNodeToken(n6); n0 = new NodeChoice(n5, 2); break; case SHORT: n8 = jj_consume_token(SHORT); n7 = JTBToolkit.makeNodeToken(n8); n0 = new NodeChoice(n7, 3); break; case INT: n10 = jj_consume_token(INT); n9 = JTBToolkit.makeNodeToken(n10); n0 = new NodeChoice(n9, 4); break; case LONG: n12 = jj_consume_token(LONG); n11 = JTBToolkit.makeNodeToken(n12); n0 = new NodeChoice(n11, 5); break; case FLOAT: n14 = jj_consume_token(FLOAT); n13 = JTBToolkit.makeNodeToken(n14); n0 = new NodeChoice(n13, 6); break; case DOUBLE: n16 = jj_consume_token(DOUBLE); n15 = JTBToolkit.makeNodeToken(n16); n0 = new NodeChoice(n15, 7); break; default: jj_consume_token(-1); throw new ParseException(); } {if (true) return new PrimitiveType(n0);} throw new Error("Missing return statement in function"); } final public Name Name() throws ParseException { NodeToken n0; Token n1; NodeListOptional n2 = new NodeListOptional(); NodeSequence n3; NodeToken n4; Token n5; NodeToken n6; Token n7; n1 = jj_consume_token(IDENTIFIER); n0 = JTBToolkit.makeNodeToken(n1); label_2: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DOT: ; break; default: break label_2; } n3 = new NodeSequence(2); n5 = jj_consume_token(DOT); n4 = JTBToolkit.makeNodeToken(n5); n3.addNode(n4); n7 = jj_consume_token(IDENTIFIER); n6 = JTBToolkit.makeNodeToken(n7); n3.addNode(n6); n2.addNode(n3); } n2.nodes.trimToSize(); {if (true) return new Name(n0,n2);} throw new Error("Missing return statement in function"); } final public Literal Literal() throws ParseException { NodeChoice n0; NodeToken n1; Token n2; NodeToken n3; Token n4; NodeToken n5; Token n6; NodeToken n7; Token n8; BooleanLiteral n9; NullLiteral n10; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case INTEGER_LITERAL: n2 = jj_consume_token(INTEGER_LITERAL); n1 = JTBToolkit.makeNodeToken(n2); n0 = new NodeChoice(n1, 0); break; case FLOATING_POINT_LITERAL: n4 = jj_consume_token(FLOATING_POINT_LITERAL); n3 = JTBToolkit.makeNodeToken(n4); n0 = new NodeChoice(n3, 1); break; case CHARACTER_LITERAL: n6 = jj_consume_token(CHARACTER_LITERAL); n5 = JTBToolkit.makeNodeToken(n6); n0 = new NodeChoice(n5, 2); break; case STRING_LITERAL: n8 = jj_consume_token(STRING_LITERAL); n7 = JTBToolkit.makeNodeToken(n8); n0 = new NodeChoice(n7, 3); break; case FALSE: case TRUE: n9 = BooleanLiteral(); n0 = new NodeChoice(n9, 4); break; case NULL: n10 = NullLiteral(); n0 = new NodeChoice(n10, 5); break; default: jj_consume_token(-1); throw new ParseException(); } {if (true) return new Literal(n0);} throw new Error("Missing return statement in function"); } final public BooleanLiteral BooleanLiteral() throws ParseException { NodeChoice n0; NodeToken n1; Token n2; NodeToken n3; Token n4; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case TRUE: n2 = jj_consume_token(TRUE); n1 = JTBToolkit.makeNodeToken(n2); n0 = new NodeChoice(n1, 0); break; case FALSE: n4 = jj_consume_token(FALSE); n3 = JTBToolkit.makeNodeToken(n4); n0 = new NodeChoice(n3, 1); break; default: jj_consume_token(-1); throw new ParseException(); } {if (true) return new BooleanLiteral(n0);} throw new Error("Missing return statement in function"); } final public NullLiteral NullLiteral() throws ParseException { NodeToken n0; Token n1; n1 = jj_consume_token(NULL); n0 = JTBToolkit.makeNodeToken(n1); {if (true) return new NullLiteral(n0);} throw new Error("Missing return statement in function"); } final public Annotation Annotation() throws ParseException { NodeChoice n0; NormalAnnotation n1; SingleMemberAnnotation n2; MarkerAnnotation n3; if (jj_2_1(2147483647)) { n1 = NormalAnnotation(); n0 = new NodeChoice(n1, 0); } else if (jj_2_2(2147483647)) { n2 = SingleMemberAnnotation(); n0 = new NodeChoice(n2, 1); } else { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AT: n3 = MarkerAnnotation(); n0 = new NodeChoice(n3, 2); break; default: jj_consume_token(-1); throw new ParseException(); } } {if (true) return new Annotation(n0);} throw new Error("Missing return statement in function"); } final public NormalAnnotation NormalAnnotation() throws ParseException { NodeToken n0; Token n1; Name n2; NodeToken n3; Token n4; NodeOptional n5 = new NodeOptional(); MemberValuePairs n6; NodeToken n7; Token n8; n1 = jj_consume_token(AT); n0 = JTBToolkit.makeNodeToken(n1); n2 = Name(); n4 = jj_consume_token(LPAREN); n3 = JTBToolkit.makeNodeToken(n4); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case IDENTIFIER: n6 = MemberValuePairs(); n5.addNode(n6); break; default: ; } n8 = jj_consume_token(RPAREN); n7 = JTBToolkit.makeNodeToken(n8); {if (true) return new NormalAnnotation(n0,n2,n3,n5,n7);} throw new Error("Missing return statement in function"); } final public MarkerAnnotation MarkerAnnotation() throws ParseException { NodeToken n0; Token n1; Name n2; n1 = jj_consume_token(AT); n0 = JTBToolkit.makeNodeToken(n1); n2 = Name(); {if (true) return new MarkerAnnotation(n0,n2);} throw new Error("Missing return statement in function"); } final public SingleMemberAnnotation SingleMemberAnnotation() throws ParseException { NodeToken n0; Token n1; Name n2; NodeToken n3; Token n4; MemberValue n5; NodeToken n6; Token n7; n1 = jj_consume_token(AT); n0 = JTBToolkit.makeNodeToken(n1); n2 = Name(); n4 = jj_consume_token(LPAREN); n3 = JTBToolkit.makeNodeToken(n4); n5 = MemberValue(); n7 = jj_consume_token(RPAREN); n6 = JTBToolkit.makeNodeToken(n7); {if (true) return new SingleMemberAnnotation(n0,n2,n3,n5,n6);} throw new Error("Missing return statement in function"); } final public MemberValuePairs MemberValuePairs() throws ParseException { MemberValuePair n0; NodeListOptional n1 = new NodeListOptional(); NodeSequence n2; NodeToken n3; Token n4; MemberValuePair n5; n0 = MemberValuePair(); label_3: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: ; break; default: break label_3; } n2 = new NodeSequence(2); n4 = jj_consume_token(COMMA); n3 = JTBToolkit.makeNodeToken(n4); n2.addNode(n3); n5 = MemberValuePair(); n2.addNode(n5); n1.addNode(n2); } n1.nodes.trimToSize(); {if (true) return new MemberValuePairs(n0,n1);} throw new Error("Missing return statement in function"); } final public MemberValuePair MemberValuePair() throws ParseException { NodeToken n0; Token n1; NodeToken n2; Token n3; MemberValue n4; n1 = jj_consume_token(IDENTIFIER); n0 = JTBToolkit.makeNodeToken(n1); n3 = jj_consume_token(ASSIGN); n2 = JTBToolkit.makeNodeToken(n3); n4 = MemberValue(); {if (true) return new MemberValuePair(n0,n2,n4);} throw new Error("Missing return statement in function"); } final public MemberValue MemberValue() throws ParseException { NodeChoice n0; Annotation n1; MemberValueArrayInitializer n2; Literal n3; ClassOrInterfaceType n4; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AT: n1 = Annotation(); n0 = new NodeChoice(n1, 0); break; case LBRACE: n2 = MemberValueArrayInitializer(); n0 = new NodeChoice(n2, 1); break; case FALSE: case NULL: case TRUE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: n3 = Literal(); n0 = new NodeChoice(n3, 2); break; case IDENTIFIER: n4 = ClassOrInterfaceType(); n0 = new NodeChoice(n4, 3); break; default: jj_consume_token(-1); throw new ParseException(); } {if (true) return new MemberValue(n0);} throw new Error("Missing return statement in function"); } final public ClassOrInterfaceType ClassOrInterfaceType() throws ParseException { NodeToken n0; Token n1; NodeListOptional n2 = new NodeListOptional(); NodeSequence n3; NodeToken n4; Token n5; NodeToken n6; Token n7; NodeOptional n8 = new NodeOptional(); NodeSequence n9; NodeToken n10; Token n11; NodeToken n12; Token n13; n1 = jj_consume_token(IDENTIFIER); n0 = JTBToolkit.makeNodeToken(n1); label_4: while (true) { if (jj_2_3(2)) { ; } else { break label_4; } n3 = new NodeSequence(2); n5 = jj_consume_token(DOT); n4 = JTBToolkit.makeNodeToken(n5); n3.addNode(n4); n7 = jj_consume_token(IDENTIFIER); n6 = JTBToolkit.makeNodeToken(n7); n3.addNode(n6); n2.addNode(n3); } n2.nodes.trimToSize(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DOT: n9 = new NodeSequence(2); n11 = jj_consume_token(DOT); n10 = JTBToolkit.makeNodeToken(n11); n9.addNode(n10); n13 = jj_consume_token(CLASS); n12 = JTBToolkit.makeNodeToken(n13); n9.addNode(n12); n8.addNode(n9); break; default: ; } {if (true) return new ClassOrInterfaceType(n0,n2,n8);} throw new Error("Missing return statement in function"); } final public MemberValueArrayInitializer MemberValueArrayInitializer() throws ParseException { NodeToken n0; Token n1; MemberValue n2; NodeListOptional n3 = new NodeListOptional(); NodeSequence n4; NodeToken n5; Token n6; MemberValue n7; NodeOptional n8 = new NodeOptional(); NodeToken n9; Token n10; NodeToken n11; Token n12; n1 = jj_consume_token(LBRACE); n0 = JTBToolkit.makeNodeToken(n1); n2 = MemberValue(); label_5: while (true) { if (jj_2_4(2)) { ; } else { break label_5; } n4 = new NodeSequence(2); n6 = jj_consume_token(COMMA); n5 = JTBToolkit.makeNodeToken(n6); n4.addNode(n5); n7 = MemberValue(); n4.addNode(n7); n3.addNode(n4); } n3.nodes.trimToSize(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: n10 = jj_consume_token(COMMA); n9 = JTBToolkit.makeNodeToken(n10); n8.addNode(n9); break; default: ; } n12 = jj_consume_token(RBRACE); n11 = JTBToolkit.makeNodeToken(n12); {if (true) return new MemberValueArrayInitializer(n0,n2,n3,n8,n11);} throw new Error("Missing return statement in function"); } private boolean jj_2_1(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_1(); } catch(LookaheadSuccess ls) { return true; } } private boolean jj_2_2(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_2(); } catch(LookaheadSuccess ls) { return true; } } private boolean jj_2_3(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_3(); } catch(LookaheadSuccess ls) { return true; } } private boolean jj_2_4(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_4(); } catch(LookaheadSuccess ls) { return true; } } private boolean jj_3R_20() { if (jj_3R_29()) return true; return false; } private boolean jj_3R_19() { if (jj_3R_28()) return true; return false; } private boolean jj_3R_13() { if (jj_3R_17()) return true; return false; } private boolean jj_3R_29() { if (jj_scan_token(AT)) return true; return false; } private boolean jj_3R_12() { if (jj_3R_16()) return true; return false; } private boolean jj_3R_18() { if (jj_3R_27()) return true; return false; } private boolean jj_3R_11() { if (jj_3R_15()) return true; return false; } private boolean jj_3R_9() { if (jj_scan_token(DOT)) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3R_14() { Token xsp; xsp = jj_scanpos; if (jj_3R_18()) { jj_scanpos = xsp; if (jj_3R_19()) { jj_scanpos = xsp; if (jj_3R_20()) return true; } } return false; } private boolean jj_3R_10() { if (jj_3R_14()) return true; return false; } private boolean jj_3R_26() { if (jj_3R_31()) return true; return false; } private boolean jj_3R_25() { if (jj_3R_30()) return true; return false; } private boolean jj_3R_6() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_9()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_8() { Token xsp; xsp = jj_scanpos; if (jj_3R_10()) { jj_scanpos = xsp; if (jj_3R_11()) { jj_scanpos = xsp; if (jj_3R_12()) { jj_scanpos = xsp; if (jj_3R_13()) return true; } } } return false; } private boolean jj_3R_24() { if (jj_scan_token(STRING_LITERAL)) return true; return false; } private boolean jj_3_3() { if (jj_scan_token(DOT)) return true; if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3R_23() { if (jj_scan_token(CHARACTER_LITERAL)) return true; return false; } private boolean jj_3R_22() { if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; return false; } private boolean jj_3_4() { if (jj_scan_token(COMMA)) return true; if (jj_3R_8()) return true; return false; } private boolean jj_3R_31() { if (jj_scan_token(NULL)) return true; return false; } private boolean jj_3R_17() { if (jj_scan_token(IDENTIFIER)) return true; return false; } private boolean jj_3R_27() { if (jj_scan_token(AT)) return true; return false; } private boolean jj_3R_7() { if (jj_scan_token(IDENTIFIER)) return true; if (jj_scan_token(ASSIGN)) return true; return false; } private boolean jj_3R_21() { if (jj_scan_token(INTEGER_LITERAL)) return true; return false; } private boolean jj_3R_15() { if (jj_scan_token(LBRACE)) return true; return false; } private boolean jj_3R_16() { Token xsp; xsp = jj_scanpos; if (jj_3R_21()) { jj_scanpos = xsp; if (jj_3R_22()) { jj_scanpos = xsp; if (jj_3R_23()) { jj_scanpos = xsp; if (jj_3R_24()) { jj_scanpos = xsp; if (jj_3R_25()) { jj_scanpos = xsp; if (jj_3R_26()) return true; } } } } } return false; } private boolean jj_3R_28() { if (jj_scan_token(AT)) return true; return false; } private boolean jj_3R_33() { if (jj_scan_token(FALSE)) return true; return false; } private boolean jj_3_2() { if (jj_scan_token(AT)) return true; if (jj_3R_6()) return true; if (jj_scan_token(LPAREN)) return true; return false; } private boolean jj_3R_32() { if (jj_scan_token(TRUE)) return true; return false; } private boolean jj_3_1() { if (jj_scan_token(AT)) return true; if (jj_3R_6()) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_7()) { jj_scanpos = xsp; if (jj_scan_token(78)) return true; } return false; } private boolean jj_3R_30() { Token xsp; xsp = jj_scanpos; if (jj_3R_32()) { jj_scanpos = xsp; if (jj_3R_33()) return true; } return false; } /** Generated Token Manager. */ public AnnotationParserTokenManager token_source; JavaCharStream jj_input_stream; /** Current token. */ public Token token; /** Next token. */ public Token jj_nt; private int jj_ntk; private Token jj_scanpos, jj_lastpos; private int jj_la; /** Constructor with InputStream. */ public AnnotationParser(java.io.InputStream stream) { this(stream, null); } /** Constructor with InputStream and supplied encoding */ public AnnotationParser(java.io.InputStream stream, String encoding) { try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source = new AnnotationParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; } /** Reinitialise. */ public void ReInit(java.io.InputStream stream) { ReInit(stream, null); } /** Reinitialise. */ public void ReInit(java.io.InputStream stream, String encoding) { try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; } /** Constructor. */ public AnnotationParser(java.io.Reader stream) { jj_input_stream = new JavaCharStream(stream, 1, 1); token_source = new AnnotationParserTokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; } /** Reinitialise. */ public void ReInit(java.io.Reader stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; } /** Constructor with generated Token Manager. */ public AnnotationParser(AnnotationParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; } /** Reinitialise. */ public void ReInit(AnnotationParserTokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; } private Token jj_consume_token(int kind) throws ParseException { Token oldToken; if ((oldToken = token).next != null) token = token.next; else token = token.next = token_source.getNextToken(); jj_ntk = -1; if (token.kind == kind) { return token; } token = oldToken; throw generateParseException(); } static private final class LookaheadSuccess extends java.lang.Error { } final private LookaheadSuccess jj_ls = new LookaheadSuccess(); private boolean jj_scan_token(int kind) { if (jj_scanpos == jj_lastpos) { jj_la--; if (jj_scanpos.next == null) { jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); } else { jj_lastpos = jj_scanpos = jj_scanpos.next; } } else { jj_scanpos = jj_scanpos.next; } if (jj_scanpos.kind != kind) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; return false; } /** Get the next Token. */ final public Token getNextToken() { if (token.next != null) token = token.next; else token = token.next = token_source.getNextToken(); jj_ntk = -1; return token; } /** Get the specific Token. */ final public Token getToken(int index) { Token t = token; for (int i = 0; i < index; i++) { if (t.next != null) t = t.next; else t = t.next = token_source.getNextToken(); } return t; } private int jj_ntk() { if ((jj_nt=token.next) == null) return (jj_ntk = (token.next=token_source.getNextToken()).kind); else return (jj_ntk = jj_nt.kind); } /** Generate ParseException. */ public ParseException generateParseException() { Token errortok = token.next; int line = errortok.beginLine, column = errortok.beginColumn; String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess); } /** Enable tracing. */ final public void enable_tracing() { } /** Disable tracing. */ final public void disable_tracing() { } } class JTBToolkit { static NodeToken makeNodeToken(Token t) { return new NodeToken(t.image.intern(), t.kind, t.beginLine, t.beginColumn, t.endLine, t.endColumn); } }