[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sigh, bnf bug fixed.

i introduced, then fixed, a bug in the bnf.

previously, the <line> nonterminal said this:

<line> := any number of characters, but no newlines

this is pretty informal, and not terribly useful.  i changed it to

<line> := <string-char>*

which is closer to correct, but it would've made jay too happy
(string-char requires quoting \ and ").  the fixed version now reads

<line> := '' | <line-char> <line>
<string-char> := <simple-char> | <space> | '\'<quote-char> | ':' | '*'
<line-char> := <simple-char> | <quote-char> | <space>
<quote-char> := '"' | '\'

this brings the <line> production into line (sorry) with the other
string productions.

i'm thinking of just totally eliminating our use of goofy
regex-derived metacharacters in the grammar.  are there any objections
to this?