[antlr-interest] Can't get "\<" to work in inline template rule?
Terence Parr
parrt at cs.usfca.edu
Sat May 3 10:25:09 PDT 2008
fixed http://www.antlr.org:8888/browse/ANTLR-240
T
On May 3, 2008, at 10:22 AM, Terence Parr wrote:
> Using inline templates is not really my intent...I suggest using a
> template group file. bug has been entered thoug.
> Ter
> On Apr 16, 2008, at 6:54 AM, Peter Nann wrote:
>
>> Oh, I have just got it to work using the "<<" and ">>" delimiters,
>> which seem to be directly replacable in place of double-quotes,
>> even on a single line.
>>
>> But the lack of support in the double-quoted format is a bug, yes?
>>
>> From: antlr-interest-bounces at antlr.org [mailto:antlr-interest-bounces at antlr.org
>> ] On Behalf Of Peter Nann
>> Sent: Wednesday, 16 April 2008 11:41 PM
>> To: antlr-interest at antlr.org
>> Subject: [antlr-interest] Can't get "\<" to work in inline template
>> rule?
>>
>>
>> Just starting out with what I hope should be a simple translator…
>>
>> For now, as a start, I am simply trying to turn:
>> [ a ]
>> Into:
>> <one-of> a </one-of>
>>
>> But I can't get an angle bracket verbatim in the output!!!
>>
>> In the code below, you will see I am only trying to produce the
>> first '<'.
>> Simply escaping the '<' does not seem to work as advertised…
>> I have tried double, triple escaping, to no avail.
>> - Take the "\<" out of this grammar, and it works fine.
>>
>> Please help, I am a little dissappointed to have run into trouble
>> so early…
>> Woe is me…
>>
>>
>> Here's my Test.g file:
>>
>> ---- Test.g ----
>> grammar Test;
>> options {output=template; rewrite=true;}
>>
>> gslfile : orlist ;
>>
>> orlist
>> : '[' WORD ']'
>> -> template(oi={$WORD.text}) "\<one-of <oi> /one-of"
>> ;
>>
>> WORD : ('a'..'z'|'-'|'_'|'\'') ('a'..'z'|'-'|'_'|'\'')* ;
>> WS : ( ' ' | '\t' | '\r' | '\n' )+ {$channel = HIDDEN;} ;
>> -----------------------------------------
>>
>> And here's the error output:
>>
>> ANTLR Parser Generator Version 3.0.1 (August 13, 2007) 1989-2007
>> error(10): internal error: Test.g : Test.g:8:34: expecting '"',
>> found '<'
>> org.antlr.tool.ANTLRLexer.nextToken(ANTLRLexer.java:321)
>> antlr
>> .TokenStreamRewriteEngine.nextToken(TokenStreamRewriteEngine.java:
>> 161)
>> antlr.TokenBuffer.fill(TokenBuffer.java:69)
>> antlr.TokenBuffer.LT(TokenBuffer.java:86)
>> antlr.LLkParser.LT(LLkParser.java:56)
>> org.antlr.tool.ANTLRParser.rewrite_template(ANTLRParser.java:3306)
>> org.antlr.tool.ANTLRParser.rewrite_alternative(ANTLRParser.java:3177)
>> org.antlr.tool.ANTLRParser.rewrite(ANTLRParser.java:1885)
>> org.antlr.tool.ANTLRParser.altList(ANTLRParser.java:1451)
>> org.antlr.tool.ANTLRParser.rule(ANTLRParser.java:1236)
>> org.antlr.tool.ANTLRParser.rules(ANTLRParser.java:655)
>> org.antlr.tool.ANTLRParser.grammar(ANTLRParser.java:389)
>> org.antlr.tool.Grammar.setGrammarContent(Grammar.java:521)
>> org.antlr.tool.Grammar.<init>(Grammar.java:456)
>> org.antlr.Tool.getGrammar(Tool.java:331)
>> org.antlr.Tool.process(Tool.java:267)
>> org.antlr.Tool.main(Tool.java:70)
>>
>>
>
More information about the antlr-interest
mailing list