sometimes I really feel like writing rules like this:
Rule: (A | B) C D
Which would allow A C D or B C D. What is the reason to that such
constructs
are not possible?
Simply because nobody has implemented it. I think some grads at
Berkeley made a Bison version with such constructs.
Well, it is far from being "simply". Can you tell me what is $1 here?
And what do you do in the following case?
options: ( (opt1 | opt2) (',' (opt1 | opt2))* ) ?
The question mark is part of the rule, not of my text body.