[antlr-interest] lexer Code too large

"Paul Bouché (NSN)" paul.bouche at nsn.com
Tue Feb 17 06:25:51 PST 2009


Hi,

I have a rather complex lexer and I arrived at a state where I cannot 
reduce the rules anymore. When I try to compile the lexer I get the 
following exception:
StringPropsLexer.java:3444: code too large
public int specialStateTransition(int s, IntStream _input) throws 
NoViableAltException {
^
1 error

I added backward compatibility for unquoted strings which complicates 
the lexer obviously. Is there a way I can avoid this problem? The rule 
in questions this:
USTRING : /* backward compatibility... added, should support all 
simulation props semantics
           * the other tokens are listed here to ensure that the last 
match-everything alternative is disabled for
           * tokens that should be matched as they are if they are by 
themselfes, i.e.
           * i = 3 is still matched as a number and not as an ustring
           * k = ::1.2.3.4 should still be matched as an ip not as a 
ustring etc. */
     {foundFirstEquals}?=>
     ( NUMERIC ~('\.' | DIGIT_ | DL_ | '\n' | CB_ | CL_ | ')') USTRINGEND_
     | USTRINGBEGIN_ USTRINGEND_
     )
     { foundFirstEquals = false; }
    ;

I am using ANTLR 3.11 / ANTLRWorks 1.2.2.

Thanks,
Paul

-- 
Paul Bouché
Voice: +49 30 590080-1284
 
Nokia Siemens Networks GmbH & Co. KG, An den Treptowers 1, 12435 Berlin, Germany
Sitz der Gesellschaft: München / Registered office: Munich
Registergericht: München / Commercial registry: Munich, HRA 88537
WEEE-Reg.-Nr.: DE 52984304

Persönlich haftende Gesellschafterin / General Partner: Nokia Siemens Networks Management GmbH
Geschäftsleitung / Board of Directors: Lydia Sommer, Olaf Horsthemke
Vorsitzender des Aufsichtsrats / Chairman of supervisory board: Lauri Kivinen
Sitz der Gesellschaft: München / Registered office: Munich
Registergericht: München / Commercial registry: Munich, HRB 163416



More information about the antlr-interest mailing list