[antlr-interest] missing template tokenRefBangTrack.st

Chris Snyder snyder at t-vec.com
Wed Feb 27 09:49:57 PST 2008


That did the trick.

Thank you!

-----Original Message-----
From: David Sweet [mailto:edsweet at swbell.net] 
Sent: Wednesday, February 27, 2008 11:54 AM
To: snyder at t-vec.com
Cc: antlr-interest at antlr.org
Subject: Re: [antlr-interest] missing template tokenRefBangTrack.st

Hi Chris,

In every rule where you have both a tree rewrite ( -> ^(...) ) and use 
!, get rid of the !, as the tree rewrite takes care of that, and you get 
this weirdo error otherwise.

EG: Change this:

ifStatement
: IF expression (SEMI!|COMMA!)? (statement+ (COMMA!)?)? 
(elseIfStatement)* elseStatement? END -> ^(NODE_IF expression statement* 
elseIfStatement* elseStatement)
;

TO this:

ifStatement
: IF expression (SEMI|COMMA)? (statement+ (COMMA)?)? (elseIfStatement)* 
elseStatement? END -> ^(NODE_IF expression statement* elseIfStatement* 
elseStatement)
;


Regards,

David Sweet

Chris Snyder wrote:
>
> I've made some tweaks to a grammar of mine today and I'm getting the 
> error below in Antlrworks when I debug or try to generate code. Any 
> ideas as to what I should be looking for? Grammar is attached.
>
> Thanks,
>
> Chris
>
> error(10): internal error: C:\temp\ANTLR\MScript.g : 
> java.lang.IllegalArgumentException: Can't find template 
> tokenRefBangTrack.st
>
>
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGr
oup.java:485)
>
>
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGro
up.java:372)
>
>
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGro
up.java:384)
>
>
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGr
oup.java:464)
>
>
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGro
up.java:372)
>
>
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGro
up.java:384)
>
>
org.antlr.codegen.CodeGenTreeWalker.getTokenElementST(CodeGenTreeWalker.java
:160)
>
> org.antlr.codegen.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:1965)
>
> org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1641)
>
> org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1490)
>
>
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
>
> org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
>
> org.antlr.codegen.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:1791)
>
> org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1637)
>
>
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1252)
>
> org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1037)
>
> org.antlr.codegen.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:753)
>
> org.antlr.codegen.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:544)
>
>
org.antlr.codegen.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:486)
>
> org.antlr.codegen.CodeGenTreeWalker.grammar(CodeGenTreeWalker.java:333)
>
> org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:406)
>
> org.antlr.Tool.processGrammar(Tool.java:347)
>
> org.antlr.Tool.process(Tool.java:268)
>
> org.antlr.works.generate.CodeGenerate.generate(Unknown Source)
>
> org.antlr.works.generate.CodeGenerate.run(Unknown Source)
>
> java.lang.Thread.run(Unknown Source)
>
> T-VEC Technologies, Inc.
>
> P.O. Box 8572
>
> Delray Beach, FL 33482
>
> w) (561) 416-0104
>
> f) (561) 620-8569
>



More information about the antlr-interest mailing list