Talk:Parse EBNF/Tests

From Rosetta Code
Revision as of 00:41, 12 September 2011 by rosettacode>Avmich
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Why the example provided at the bottom of the page

{ foo = bar . }

is not a valid EBNF grammar, according to the accepted definition?

I guess because it never defines a production for bar. --Kernigh 01:51, 9 September 2011 (UTC)
Then we have a contradiction - grammar { foo = bar . } is correct if definition on the linked page is used (and at least one implementation verifies that), together with restrictions on identifier and literal allowed characters, but is not correct, if we assume that all identifiers should be defined.
I'd lift the requirement that all identifiers should be defined, and stick to the provided definitions. Then this example grammar should be in the "correct" section.