[antlr-interest] Unicode conversion in getCharValueFromGrammarCharLiteral is applying to all six-char-long literals.
Terence Parr
parrt at cs.usfca.edu
Sun Jan 22 10:03:57 PST 2012
fixed. goes out with next push
Ter
On Jan 21, 2012, at 2:35 PM, Peter Boughton wrote:
> Unicode conversion in getCharValueFromGrammarCharLiteral is applying
> to all six-char-long literals (eight including the quotes), instead of
> limiting itself to those that begin with \u
>
> Which means it breaks when I have a rule containing:
> ~'elseif'
> or:
> ( 'elseif' | 'switch' )
> or:
> ~( 'elseif' | 'switch' )
>
> (It works for just 'elseif' on its own.)
>
>
> Here's the error it produces:
>
> Exception in thread "main" java.lang.NumberFormatException: For input
> string: "seif"
> at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
> at java.lang.Integer.parseInt(Integer.java:449)
> at org.antlr.v4.misc.CharSupport.getCharValueFromGrammarCharLiteral(CharSupport.java:120)
> at org.antlr.v4.automata.LexerATNFactory.set(LexerATNFactory.java:123)
> at org.antlr.v4.parse.ATNBuilder.blockSet(ATNBuilder.java:1129)
> at org.antlr.v4.parse.ATNBuilder.element(ATNBuilder.java:721)
> at org.antlr.v4.parse.ATNBuilder.alternative(ATNBuilder.java:473)
> at org.antlr.v4.parse.ATNBuilder.block(ATNBuilder.java:288)
> at org.antlr.v4.parse.ATNBuilder.subrule(ATNBuilder.java:1025)
> at org.antlr.v4.parse.ATNBuilder.element(ATNBuilder.java:657)
> at org.antlr.v4.parse.ATNBuilder.alternative(ATNBuilder.java:473)
> at org.antlr.v4.parse.ATNBuilder.block(ATNBuilder.java:288)
> at org.antlr.v4.automata.ParserATNFactory._createATN(ParserATNFactory.java:123)
> at org.antlr.v4.automata.LexerATNFactory.createATN(LexerATNFactory.java:71)
> at org.antlr.v4.Tool.processNonCombinedGrammar(Tool.java:303)
> at org.antlr.v4.Tool.process(Tool.java:284)
> at org.antlr.v4.Tool.processGrammarsOnCommandLine(Tool.java:248)
> at org.antlr.v4.Tool.main(Tool.java:146)
> Java Result: 1
>
>
> I think I can work around this by using '\elseif' since \e just gets
> treated as e, right?
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
More information about the antlr-interest
mailing list