I think that the grammar is relying on a faster computer or a longer timeout ;-) Try adding -Xconversiontimeout 30000 to the command line.
Yang's grammar is very accurate for 1.5 but it does rely on backtracking, which makes it a little slow and a little difficult to report accurate errors with. However, if you know that the input is good, then this is a great starting point if you want to do something very custom. Note that you can always use existing tools such as those within Netbeans and many others to provide custom refactoring too. Jim PS: I answered this on the ANTLR mailing list, which is where it belongs J From: [email protected] [mailto:[email protected]] On Behalf Of Steven Atkinson Sent: Tuesday, November 16, 2010 1:31 PM To: '[email protected]' Cc: '[email protected]' Subject: [stringtemplate-interest] Working Java 1.5 grammar? Folks, I'm trying to get a working Java 1.5 grammar and tree walker for source-to-source refactoring efforts at Netflix. I've installed antlrWorks in IntelliJ, downloaded the Java.g from antlr.org, and even went hunting in openJDK sources for a working ANTLR v3 grammer for Java 1.5 or 1.6. When I try putting the Java.g grammar from Yang Jiang <http://openjdk.java.net/projects/compiler-grammar/antlrworks/Java.g> ([email protected]) through ANTLRWorks or on the command line I get the following error output Any help is appreciated! C:\Hack>java -jar antlr-3.2.jar Java.g warning(209): Java.g:1783:1: Multiple token rules can match input such as "'-'": SUBSUB, SUB, SUBEQ As a result, token(s) SUB,SUBEQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'c'": CASE, CATCH, CHAR, CLASS, CONST, CONTINUE, IDENTIFIER As a result, token(s) CATCH,CHAR,CLASS,CONST,CONTINUE,IDENTIFIER were disabled for that input warning(209): Java.g:1807:1: Multiple token rules can match input such as "'%'": PERCENT, PERCENTEQ As a result, token(s) PERCENTEQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'t'": THIS, THROW, THROWS, TRANSIENT, TRY, TRUE, IDENTIFIER As a result, token(s) THROW,THROWS,TRANSIENT,TRY,TRUE,IDENTIFIER were disabled for that input warning(209): Java.g:1815:1: Multiple token rules can match input such as "'!'": BANG, BANGEQ As a result, token(s) BANGEQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'w'": WHILE, IDENTIFIER As a result, token(s) IDENTIFIER were disabled for that input warning(209): Java.g:1779:1: Multiple token rules can match input such as "'+'": PLUSPLUS, PLUS, PLUSEQ As a result, token(s) PLUS,PLUSEQ were disabled for that input warning(209): Java.g:1370:1: Multiple token rules can match input such as "'1'..'9'": LONGLITERAL, INTLITERAL, FLOATLITERAL, DOUBLELITERAL As a result, token(s) INTLITERAL,FLOATLITERAL,DOUBLELITERAL were disabled for that input warning(209): Java.g:1803:1: Multiple token rules can match input such as "'^'": CARET, CARETEQ As a result, token(s) CARETEQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'s'": SHORT, STATIC, STRICTFP, SUPER, SWITCH, SYNCHRONIZED, IDENTIFIER As a result, token(s) STATIC,STRICTFP,SUPER,SWITCH,SYNCHRONIZED,IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'f'": FINAL, FINALLY, FLOAT, FOR, FALSE, IDENTIFIER As a result, token(s) FINALLY,FLOAT,FOR,FALSE,IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'l'": LONG, IDENTIFIER As a result, token(s) IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'v'": VOID, VOLATILE, IDENTIFIER As a result, token(s) VOLATILE,IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'d'": DEFAULT, DO, DOUBLE, IDENTIFIER As a result, token(s) DO,DOUBLE,IDENTIFIER were disabled for that input warning(209): Java.g:1727:1: Multiple token rules can match input such as "'='": EQ, EQEQ As a result, token(s) EQEQ were disabled for that input warning(209): Java.g:1787:1: Multiple token rules can match input such as "'*'": STAR, STAREQ As a result, token(s) STAREQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'e'": ELSE, ENUM, EXTENDS, IDENTIFIER As a result, token(s) ENUM,EXTENDS,IDENTIFIER were disabled for that input warning(209): Java.g:1791:1: Multiple token rules can match input such as "'/'": COMMENT, LINE_COMMENT, SLASH, SLASHEQ As a result, token(s) LINE_COMMENT,SLASH,SLASHEQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'g'": GOTO, IDENTIFIER As a result, token(s) IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'n'": NATIVE, NEW, NULL, IDENTIFIER As a result, token(s) NEW,NULL,IDENTIFIER were disabled for that input warning(209): Java.g:1799:1: Multiple token rules can match input such as "'|'": BARBAR, BAR, BAREQ As a result, token(s) BAR,BAREQ were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'r'": RETURN, IDENTIFIER As a result, token(s) IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'p'": PACKAGE, PRIVATE, PROTECTED, PUBLIC, IDENTIFIER As a result, token(s) PRIVATE,PROTECTED,PUBLIC,IDENTIFIER were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'b'": BOOLEAN, BREAK, BYTE, IDENTIFIER As a result, token(s) BREAK,BYTE,IDENTIFIER were disabled for that input warning(209): Java.g:1370:1: Multiple token rules can match input such as "'0'": LONGLITERAL, INTLITERAL, FLOATLITERAL, DOUBLELITERAL As a result, token(s) INTLITERAL,FLOATLITERAL,DOUBLELITERAL were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'a'": ABSTRACT, ASSERT, IDENTIFIER As a result, token(s) ASSERT,IDENTIFIER were disabled for that input warning(209): Java.g:1795:1: Multiple token rules can match input such as "'&'": AMPAMP, AMP, AMPEQ As a result, token(s) AMP,AMPEQ were disabled for that input warning(209): Java.g:1703:1: Multiple token rules can match input such as "'.'": FLOATLITERAL, DOUBLELITERAL, DOT, ELLIPSIS As a result, token(s) DOUBLELITERAL,DOT,ELLIPSIS were disabled for that input warning(209): Java.g:1827:1: Multiple token rules can match input such as "'i'": IF, IMPLEMENTS, IMPORT, INSTANCEOF, INT, INTERFACE, IDENTIFIER As a result, token(s) IMPLEMENTS,IMPORT,INSTANCEOF,INT,INTERFACE,IDENTIFIER were disabled for that input error(208): Java.g:1815:1: The following token definitions can never be matched because prior tokens match the same input: INTLITERAL,DOUBLELITERAL,LINE_COMMENT,ASSERT,BREAK,BYTE,CATCH,CHAR,CLASS,CON S T,CONTINUE,DO,DOUBLE,ENUM,EXTENDS,FINALLY,FLOAT,FOR,IMPLEMENTS,IMPORT,INSTAN CEOF,INT,INTERFACE,NEW,PRIVATE,PROTECTED,PUBLIC,STATIC,STRICTFP,SUPER,SWITCH ,SYNCHRONIZED,THROW,THROWS,TRANSIENT,TRY,VOLATIL E,TRUE,FALSE,NULL,DOT,ELLIPSIS,EQEQ,PLUS,SUB,SLASH,AMP,BAR,PLUSEQ,SUBEQ,STAR EQ,SLASHEQ,AMPEQ,BAREQ,CARETEQ,PERCENTEQ,BANGEQ C:\Hack> List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
