[antlr-interest] Can subrules be set to 'n-to-m'?
John D. Mitchell
johnm-antlr at non.net
Fri Mar 25 15:27:29 PST 2005
>>>>> "Jamie" == Jamie Ferguson <jferguson at aptas.com> writes:
> Why do you consider these cases:
> (XYZ)*[0,n] means 0..n occurrences. (XYZ)*[n,m] means 0, or n..m
> occurrences. (XYZ)*[n] means 0 or exactly n occurrences.
> not justifiable to include?
(A) Thanks for asking!
(B) To be clear, please note that I wrote that I wasn't sure whether they
are justifiable or not. That's a good bit different from your restatement.
(C) Basically, it's easy to argue that they aren't used much and that they
are so close to the + variety that people would get weird behavior that
they wouldn't understand. It's also arguable that the zero versus some
number of instances test should be done in a semantic pass against e.g.,
the AST rather than in the parser.
(D) As I mentioned, I think they are actually useful; would be
consistent and coherent with the * vs. + separation that we already have
now; and should be in lexers, parsers, and tree walkers.
Hope this makes sense,
More information about the antlr-interest