[antlr-interest] RewriteEmptyStreamException
Terence Parr
parrt at cs.usfca.edu
Thu Feb 14 10:49:37 PST 2008
Hi. If you have any rewrite in an alternative, the auto AST
construction is turned off for the entire alternative even if you set
it just inside a subrule.
Ter
On Feb 13, 2008, at 7:38 PM, Jamie Penney wrote:
> To answer my own question, it seems like I had an alternative in the
> 'type' rule that didn't have a rewrite rule associated with it. I
> thought ANTLR was supposed to automatically create an AST if you
> didn't specify a rewrite rule? For whoever is interested, this was
> the rule:
> type
> : (namespace_or_type_name -> ^(TYPE $namespace_or_type_name) //
> JP Added -> ^(TYPE $namespace_or_type_name)
> | simple_type
> | OBJECT
> | STRING
> | VOID s1=STAR -> ^(VOID $s1)
> ) (s2=STAR -> ^(TYPE $type OP_POINTER[$s2])
> | INTERR -> ^(TYPE $type OP_NULLABLE[$INTERR])
> | (rank_specifier)=> rank_specifier -> ^(TYPE $type
> rank_specifier)
> )*
> ;
>
> Because the second group (starting with s2=STAR) is optional, if it
> wasn't triggered there was no rewrite rule triggered.
>
>
>
> Jamie Penney wrote:
>> Forgot to mention that I am using the antlr-2008-01-23.10 build. I
>> tried the lastest build after Terrance announced it, but it was
>> giving me Template missing exceptions after I recompiled to add
>> some stuff I needed to the CSharp target.
>>
>> Jamie
>>
>> Jamie Penney wrote:
>>> Hi All,
>>> I am getting the following exception when executing a rewrite rule:
>>>
>>> Antlr.Runtime.Tree.RewriteEmptyStreamException: rule type
>>> at Antlr.Runtime.Tree.RewriteRuleElementStream`1._Next()
>>> at
>>> Antlr
>>> .Runtime.Tree.RewriteRuleSubtreeStream.FetchObject(ProcessHandler
>>> ph)
>>> at Antlr.Runtime.Tree.RewriteRuleSubtreeStream.NextTree()
>>> at
>>> Kerriv.CSharpML.CSharp3ParserSyntax.using_namespace_directive()
>>> in ....
>>>
>>>
>>> This is cause by the code generated from the following rule:
>>> using_namespace_directive
>>> : USING type SEMICOLON -> ^(USING type SEMICOLON)
>>> ;
>>>
>>> Any ideas as to where I should start with this? The documentation
>>> and Google haven't given me any clues.
>>>
>>> Thanks,
>>> Jamie Penney
>>
>
More information about the antlr-interest
mailing list