[antlr-interest] Recognizer generation error flagging incorrect usage of tree operator ! on Java grammar

Jason Veldicott jasonveldicott at gmail.com
Mon Jul 23 04:13:22 PDT 2012


Answer found, the operator only applies to tokens apparently.



On Mon, Jul 23, 2012 at 12:53 AM, Jason Veldicott
<jasonveldicott at gmail.com>wrote:

> Hi,
>
> In Habelitz's (http://www.habelitz.com<http://www.habelitz.com/index.php?option=com_content&task=view&id=12&Itemid=8>) Java
> grammar, JavaTreeParser.g, could anyone suggest why the follow node/subtree
> exclusion operator that I added after "expr" causes an error:
>
> expression
>     :   ^(EXPR expr!)                   <== Added !
>     ;
>
> Error msg:
>
> error(10):  internal error: C:\antlr\java-grammar\JavaTreeParser.g :
> java.lang.IllegalArgumentException: Can't find temp
> late ruleRefBang.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)
> ...
>
> Apparently this indicates incorrect usage of the ! operator.
>
> I'm trying to simplify the tree, to exclude expressions.
>
> Thanks
>
> Jason
>


More information about the antlr-interest mailing list