[antlr-interest] Support for .* tree rewrite rules

Matthieu Riou matthieu at offthelip.org
Wed Nov 21 10:29:03 PST 2007


Hi,

I've downloaded the latest version of ANTLR from Fisheye but I still can't
use AST rewrite rules for any lexer expression containing (.*). For example:

function:    'function' f=ID '(' ID? (',' ID)* ')' '{' (options
{greedy=false;} : .)* '}' -> ^(FUNCTION $f);

Anything like this will result in the following exception:

error(10):  internal error:
/home/mriou/dev/projects/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g
: java.lang.IllegalArgumentException: Can't find template wildcardTrack.st
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(Unknown Source)
org.antlr.codegen.CodeGenTreeWalker.getTokenElementST(CodeGenTreeWalker.java
:160)
org.antlr.codegen.CodeGenTreeWalker.getWildcardST(CodeGenTreeWalker.java
:113)
org.antlr.codegen.CodeGenTreeWalker.atom(CodeGenTreeWalker.java:2177)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1674)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1284)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1068)
org.antlr.codegen.CodeGenTreeWalker.ebnf(CodeGenTreeWalker.java:1837)
org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeWalker.java:1670)
org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenTreeWalker.java:1284)
org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1068)
org.antlr.codegen.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:784)
org.antlr.codegen.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:575)
org.antlr.codegen.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:517)
org.antlr.codegen.CodeGenTreeWalker.grammar(CodeGenTreeWalker.java:333)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:427)
org.antlr.Tool.processGrammar(Tool.java:368)
org.antlr.Tool.process(Tool.java:270)

Any plan to fix this? Otherwise I'll have to do some manual heavy lifting on
the AST.

Thanks!
Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20071121/8831acdf/attachment.html 


More information about the antlr-interest mailing list