Related articles |
---|
[Announcement] PAISLEI grammar generator open beta qjackson@wave.home.com (Quinn Tyler Jackson) (1998-11-21) |
From: | "Quinn Tyler Jackson" <qjackson@wave.home.com> |
Newsgroups: | comp.compilers |
Date: | 21 Nov 1998 12:07:29 -0500 |
Organization: | Compilers Central |
Keywords: | tools, parse, available |
Hello:
The PAISLEI IDE, a graphical grammar development environment for Win32
systems (Win 95/98/NT 4.0+), is now in open beta, and the public is
invited to download the software in the interest of eliminating any
bugs before the official release of version 1.0. PAISLEI comes with
all the C++ source for LPM 2.0, a parsing and pattern matching engine
of my design and implementation. I intend that this software will
always be free, and is released under an "all use" license, with the
restriction that the right to distribute the software in source code
format remains with the author. The C++ source to PAISLEI itself is
not being made available at this time.
PAISLEI allows the grammar developer to design, test, and debug
grammars in a simple, visual fashion. Once a grammar has been
thoroughly tested against test data, the PAISLEI IDE facilities
attaching C++ code to the key productions of the grammar. A simple
button click generates a portable, re-entrant C++ class that, in
tandem with the LPM C++ engine classes, can be plugged in to any
system, and is guaranteed to behave as it did during the grammar
design phase. This guarantee comes from the fact that PAISLEI's
debugger uses the same C++ pattern matcher and grammar classes as the
generated code, and uses them in the same way that they are used in
the generated source. There is no theoretical limit to the number of
grammars that may coexist in the same system, or any restrictions on
one grammar invoking another in the middle of its parse to parse
embedded languages.
Some of the key features of the PAISLEI IDE include the ability to:
* view the stack to know exactly at which points in the parse your
C++ code will be called
* view the tree generated by your parse in a clear manner
* single step through clauses of each production pattern
* clearly see which parts of the stream are parsed, and which are
about to be
* set breakpoints on pattern clauses or on lines of the test data
* profiled grammars to quantify the results of optimizing your patterns
* access to parse information by the attached C++ code via macros
such as $LEXEME(n)
Build 183 comes with a simple 17 pattern C++ grammar that parses the
following without a single line of C++ helper code:
1. both styles of C++ comments
2. class declarations that contain:
a. public, protected, or private
sections
b. member function declarations or
inline member functions
3. member function definitions
The example C++ grammar also demonstrates an LPM grammar's ability to
generate custom error messages during the parse such as "Undeclared
class" and "Dtors must be in the form a::~a".
LPM 2.0, the suite of C++ classes at the heart of PAISLEI, has been
compiled and the test suite successfully run under the following
environments:
http://www.qtj.net/~lpm/help/platforms.html
All that remains at this stage is for me to complete the documentation
and example grammars, although there may still be minor bugs in the
IDE, and I like to catch them in the public beta phase. You are
invited to download the fast and friendly Win32 installation at:
http://www.qtj.net/~lpm/beta/paislei/index.html
--
Quinn Tyler Jackson
email: qjackson@wave.home.com
url: http://www.qtj.net/~quinn/
ftp: qtj.net
Return to the
comp.compilers page.
Search the
comp.compilers archives again.