ietf-822
[Top] [All Lists]

Re: ABNF, and miscellany

2005-05-13 21:10:56

Bill Fenner wrote:

 3*5[foo].
Each [foo] may be empty or may be a foo.  So, you can get
| any number between 0 and 5 by having some empty [foo]s and
some non-empty [foo]s.

Apparently _this_ is "repetition before optional/grouping" (?)
Often "A op (B)" means "determine B' := (B), then (A op B')"

If I wanted 0, 3, 4 or 5 foos I think I'd say [3*5foo].

Yes.  Maybe Dave could add Bruce's example, it's fascinating.

Or maybe you could add it as warning to your parser, like old
C compilers "do you mean equality ?".  As an option, I recall
too many "of course I mean equality" curses, and some "oops".

And another warning could catch all "strongly advised to use
grouping" like LWSP.  E.g. in REXX "say 44 / 2 2" says "22 2",
and gawk "print 44 / 2 2" prints "222".  

I'd need "say 44 / (2 || 2)" or "print 44 / (2 2)" to get "2".

                             Bye, Frank