From: Jeroen Scheerder (js@cwi.nl)
Date: Thu Apr 20 2000 - 17:51:09 CDT
Clive D.W. Feather (20-04-2000 22:14 +0100) [Re: Syntax validation
(was: Special Characters)]:
>> - After a bit of research, it seemed useful and feasible
>> to simply define ABNF syntax, generate a ABNF parser,
>> and make that ABNF parser's output usable to generate
>> (instantiate) parsers for ABNF-specified grammars
>
> The ABNF syntax should be in the appropriate RFC, which one of my
> colleagues wrote. Um, 2234, I think (I'm at home and can't check from
> here, but the number feels right).
Yup. But there's a considerable gap between having the ABNF syntax
itself defined in ABNF and having a parser for messages conforming to
the syntax that's defined as an ABNF grammar in USEFOR.
What I need to do is
(1) obtain (translate, construct, massage) an syntax
definition for ABNF in a format that enables generation
of an ABNF parser (i.e. bootstrap ABNF)
(2) use that ABNF parser to, umm, parse the syntax contained
in USEFOR
(3) write a mapping to enables parse table generation for
ABNF-syntax parsed using the parser obtained in (2);
at this point a fun test would be generating a parser
for ABNF syntax from ABNF's definition in ABNF itself :-)
(4) generate the derived USEFOR parser; this is likely to
raise a few issues -- ambiguities in the syntax definition,
missing or incomplete bits, and so on
(5) validate the syntax by running test cases (i.e. wannabe
USEFOR messages or message parts) through the parser
we have now obtained
So, step (1) is in progress, with some real work yet to be done.