For some machines with a large number of states/transitions, compiling the generated Java code yields a "Code too large" error. See attached code for example.
Test.java:12: code too large
private static State[] Test_states = new State[Test_NUM_STATES];
^
1 error
.ech and .java file resulting in compile error
Eric located this documentation of the class file limits.
http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html
It appears that the code in the static initializers is the problem. Breaking this code up into smaller static methods and calling the methods from the initializer allows the code to compile. The inefficiency should be minimal since it only occurs at class initialization time.
See attached version of Test.java, modified by hand.
hand-modified version of generated code
submitted fix to SVN: rev 1802