[antlr-interest] Can't find template tokenRefRuleRoot.st

Doucette, Charles cdoucette at vaultus.com
Thu Apr 17 11:44:10 PDT 2008


I originally intended to use ANTLR AST support.
Thus, my options had:
    output=AST;
I have decided to build my own AST trees manually in actions instead.
So, I removed "output=AST" from my options.
Now I get this error:

[14:36:00] error(10):  internal error: C:\software\trunk\vsw\source\com\vaultus\studio\vscript\parser\antlr\vscript.g : java.lang.IllegalArgumentException: Can't find template tokenRefRuleRoot.st
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:485)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:372)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.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:1478)
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)

Can someone please tell me what this error means and how to resolve it?

Earlier, I got this error:
[14:37:11] error(10):  internal error: C:\software\trunk\vsw\source\com\vaultus\studio\vscript\parser\antlr\vscript.g : java.lang.IllegalArgumentException: Can't find template tokenRefBang.st
and I was able to determine that it was because my top-level rule ended with "EOF!" instead of "EOF".
When I removed the trailing "!", that error was resolved.

Might I humbly suggest that:
a)    All ANTLR errors should include a line number in the grammar if at all possible.
b)    Could errors like ": java.lang.IllegalArgumentException: Can't find template tokenRefBang.st"
        be refactored to generate an error like "Can't use AST operator ! without options output=AST".

Thanks,
Chuck

________________________________

Charles E. Doucette *  617-399-1122 *  Vaultus Mobile Technologies, 263 Summer St., Boston, MA 02210 *  http://www.vaultus.com<http://www.vaultus.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20080417/ee9e46b3/attachment.html 


More information about the antlr-interest mailing list