Hi Jonathan, Jonathan Mayer schrieb: > > Apologies for butting in where my opinion is not asked for, but ... >
you're welcome, it's a mailing list, isn't it. > > statement: A! | B! | C | D > > > > is so easy to understand: At least A and B, optionally C and/or D > > but without ORDER, in comparison to action codes and greps and maps > > and line noise. > > At what point does "A!" become mandatory? In the > block: statement(s) /* A or B must be part of block */ > construct? Or in the > program: block(s) /* A or B must be part of program */ > block: statement(s) > construct? There are times whem both forms are useful -- but defining > "mandatory" as part of the syntax for the singular "statement" > construct is limitting. hmmm, what is wrong when it is necessary for the block statement, because then it is automatically true for program > > Also, what if the programmer wants a more complicated logical function > on the set of statements that comprises a "minimal" block? > > It seems to me, P:RD already has the functionality you desire, in a > much more flexible form. What's wrong with: > > statement: A | B | C | D > block: "{" statements(s) "}" > { > /* some code to test for the presense of A and B, > else return undef */ > } syntax is scattered between grammar rules and action code and the presense check isn't always so intuitive as in this primitive example. A and B are also complex subrules and it is really only a question of style. > > I'd hate to see P:RD fall into same trap as regexps: P:RD doesn't need > to be a complete programming language. P:RD is fine as a perl > accessory. yes it's really fine, even it it stays as it already is. Regards Charly -- Karl Gaissmaier Computing Center,University of Ulm,Germany Email:[EMAIL PROTECTED] Network Administration Tel.: ++49 731 50-22499