[antlr-interest] Exception when generating tree grammar

Luigi Iannone iannone at cs.manchester.ac.uk
Mon Aug 1 09:10:38 PDT 2011


Hi all,

the purpose of the following grammar is to simplify trees. The idea is to remove CONJUNCTION and DISJUNCTION nodes that have only one child



 tree grammar ManchesterOWLSyntaxSimplify;

options {
  language = Java;
  tokenVocab = ManchesterOWLSyntax;
  ASTLabelType = ManchesterOWLSyntaxTree;
  filter=true;
  output= AST;
}

@header {
  package org.coode.parsers;
}

bottomup  : 
    conjunction 
    |	disjunction
  
  ;
   
conjunction :
  ^(CONJUNCTION single= .) -> ^($single)
  ;
 
disjunction  :
	^(DISJUNCTION single= .) -> ^($single) 
	; 
 
 
However when I try to generate the code with ANTRLWorks 1.4.2 I get the exception pasted below.
What am I doing wrong?

Thanks in advance,

Luigi



[17:07:50] error(10):  internal error: /Users/luigi/Documents/workspace/Parsers/src/ManchesterOWLSyntaxSimplify.g : java.lang.IllegalArgumentException: Can't find template rewriteWildcardLabelRefRoot.st; group hierarchy is [Java]
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:507)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:392)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:404)
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:484)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:392)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:404)
org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:484)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:392)
org.antlr.stringtemplate.StringTemplateGroup.getInstanceOf(StringTemplateGroup.java:404)
org.antlr.grammar.v2.CodeGenTreeWalker.rewrite_atom(CodeGenTreeWalker.java:3068)
org.antlr.grammar.v2.CodeGenTreeWalker.rewrite_tree(CodeGenTreeWalker.java:3193)
org.antlr.grammar.v2.CodeGenTreeWalker.rewrite_element(CodeGenTreeWalker.java:2666)
org.antlr.grammar.v2.CodeGenTreeWalker.rewrite_alternative(CodeGenTreeWalker.java:2521)
org.antlr.grammar.v2.CodeGenTreeWalker.rewrite(CodeGenTreeWalker.java:1422)
org.antlr.grammar.v2.CodeGenTreeWalker.block(CodeGenTreeWalker.java:1084)
org.antlr.grammar.v2.CodeGenTreeWalker.rule(CodeGenTreeWalker.java:797)
org.antlr.grammar.v2.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:588)
org.antlr.grammar.v2.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:530)
org.antlr.grammar.v2.CodeGenTreeWalker.grammar(CodeGenTreeWalker.java:336)
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:430)
org.antlr.Tool.generateRecognizer(Tool.java:642)
org.antlr.Tool.process(Tool.java:455)
org.antlr.works.generate.CodeGenerate.generate(CodeGenerate.java:104)
org.antlr.works.generate.CodeGenerate.run(CodeGenerate.java:185)
java.lang.Thread.run(Thread.java:680)





More information about the antlr-interest mailing list