[antlr-interest] ANTLR 3 diagnostics

J Chapman Flack jflack at math.purdue.edu
Thu Dec 27 14:51:09 PST 2007


I have an ANTLR 2 combined grammar (that wasn't finished, but
did compile without warnings under ANTLR 2), converted
to an ANTLR 3 combined grammar using v2v3.

Now the v3 org.antlr.Tool gives the following stack
overflow, and I am seeking suggestions for any reasonably
effective way to diagnose what rule(s) in the grammar may
be implicated:

Exception in thread "main" java.lang.StackOverflowError
         at 
org.antlr.analysis.NFAConfiguration.equals(NFAConfiguration.java:108)
         at java.util.HashMap.getEntry(HashMap.java:349)
         at java.util.HashMap.containsKey(HashMap.java:335)
         at java.util.HashSet.contains(HashSet.java:184)
         at 
org.antlr.analysis.NFAToDFAConverter.closureIsBusy(NFAToDFAConverter.
java:817)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:632)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:762)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:762)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:727)
         at 
org.antlr.analysis.NFAToDFAConverter.closure(NFAToDFAConverter.java:762)


antlrWorks does not display any red for this grammar, though it does
pop up a dialog box saying it thinks the grammar isn't v3, for reasons
undisclosed. However, all the Generate and View Code options in
antlrWorks do send the same stack dump to stderr, and fail to generate
anything. Is there any feature in antlrWorks that can be used to narrow
the search for the problem?

Thanks,
-Chap


More information about the antlr-interest mailing list