[antlr-interest] new user adapting java.g from antlr 2.7 for antlr 3.0.1

Johannes Luber jaluber at gmx.de
Tue Apr 15 14:27:55 PDT 2008


Doucette, Charles schrieb:
> Using the java.g for 1.5, I could generate the parser just fine without 
> any errors.
> After I commented out most of it, and added the following extra rules:
>  
...
>  
> I got the following errors again:
>  
> [17:03:08] error(10):  internal error: 
> C:\software\trunk\vsw\workspaces\eclipse\com.vaultus.studio.vscript.parser\src\com\vaultus\studio\vscript\parser\vscript1_5.g 
> : java.lang.IllegalArgumentException: Can't find template tokenRefBang.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:1490)
> 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)
> 
> 

This particular exception tells that somewhere you are mixing the ^ and 
! operators with the tree rewrite rules. Possibly ANTLR 3.1 has some 
better error handling in this case.

Johannes


More information about the antlr-interest mailing list