RE: User-oriented BNF "walker"?

Quinn Tyler Jackson <>
20 Jan 2003 23:55:56 -0500

          From comp.compilers

Related articles
RE: User-oriented BNF "walker"? (Quinn Tyler Jackson) (2003-01-20)
| List of all articles for this month |

From: Quinn Tyler Jackson <>
Newsgroups: comp.compilers
Date: 20 Jan 2003 23:55:56 -0500
Organization: Compilers Central
Keywords: tools, parse
Posted-Date: 20 Jan 2003 23:55:56 EST
In-reply-to: 03-01-089

Chuck Lutz said:

> I am wondering if there is some sort of "interactive" tool out there
> that can be used to incrementally build up syntactic structures. As
> I wrote, I'm not a compiler theorist so I don't know if this is some
> sort of theroet- ical no-no. Since I'm befuddled by the apparent
> lack of such "seemingly easy to do" tools (i.e. the idea of
> interacting with such a tool is very in- tuitive and easily
> imagined), perhaps it is indeed a theoretical brick wall.

#include <software\author\dislclaimer\Meta-S\here.h>

Yes, there are tools like that. In fact, the Meta-S Grammar
Development System is just such a tool. Version 4.0 is currently in

Although Meta-S uses A-BNF, A-BNF is enough like EBNF that one can
write what amounts to an EBNF grammar with Meta-S, just ignoring
adaptive features.

The system allows for the kind of incremental grammar development that
programmers have become used to with programming language IDEs. You
can set breakpoints on clauses of a production, profile the
performance of individual productions, set breakpoints in the test
input, et cetera. Once you have incrementally constructed a grammar,
you "Generate Code" and it produces a C++ class that behaves exactly
the way the grammar behaved during development. Version 4.0 will
include a DLL that allows grammars to be used in Delphi, Java (via
JNI), PowerBASIC, and any C-style calling language.

There are other systems besides Meta-S: Visual Parse++, AnaGram, and
ProGrammar are three commercial strength grammar tools.

Incremental grammar development using a tool like Visual Parse++ or
Meta-S, in my experience, greatly speeds up grammar development and
increases grammar understanding. There is no "theoretical" reason one
should not be using such tools -- the only caveat I would issue is
that they can tend to make the grammar developer think like a
programmer, rather than a mathematician. ;-)

Quinn Tyler Jackson

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.