Hi,
I've just discovered that an ANTLR parser created using version 3.0 that
I'd been using successfully for over a year is broken now that I rebuilt
it using ANTLR 3.1.1.
The rules in question (hopefully this tiny excerpt is sufficient for
someone to recognize a change between 3.0 and 3.1) are:
termSequence
: ( term | SequenceMark ) *
;
atom
: ( Open term termSequence Close )
-> ^( Atom term termSequence )
| ...
("Open" and "Close" are left and right parens. "SequenceMark" is an
ellipsis, "...". "Atom" is a pseudo-token.)
This is eliciting the following excpetion on inputs in which there are
zero repetitions of the RHS of termSequence:
Exception in thread "main" org.antlr.runtime.tree.RewriteEmptyStreamException:
rule termSequence
at
org.antlr.runtime.tree.RewriteRuleElementStream._next(RewriteRuleElementStream.java:158)
at
org.antlr.runtime.tree.RewriteRuleElementStream.nextTree(RewriteRuleElementStream.java:145)
at tau.cl.CLIFParser.atom(CLIFParser.java:2460)
The relevant CLIFParser.java code is:
root_0 = (CommonTree)adaptor.nil();
// 673:2: -> ^( Atom term termSequence )
{
dbg.location(673,5);
// CLIF.g:673:5: ^( Atom term termSequence )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
dbg.location(673,8);
root_1 =
(CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(Atom, "Atom"),
root_1);
dbg.location(673,13);
adaptor.addChild(root_1, stream_term.nextTree());
dbg.location(673,18);
adaptor.addChild(root_1, stream_termSequence.nextTree());
adaptor.addChild(root_0, root_1);
}
}
Please let me know if:
1) This is a known change (or fix) in ANTLR from 3.0 to 3.1.1
1a) If so, what is the fix for my grammar
2) This is not enough information to go on.
Thanks.
Randall Schulz
List: http://www.antlr.org:8080/mailman/listinfo/antlr-interest
Unsubscribe:
http://www.antlr.org:8080/mailman/options/antlr-interest/your-email-address
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"il-antlr-interest" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/il-antlr-interest?hl=en
-~----------~----~----~----~------~----~------~--~---