|
Research
PSLR(1) is a new
parser generation system that I designed to achieve the
advantages of scannerless systems but without the need for
non-deterministic parsing.
The PSLR(1) generator reads a unified scanner and parser
specification formalism and generates a deterministic scanner
and parser that automatically communicate in order to determine
which tokens should be recognized in which syntactic contexts.
This behaviour makes PSLR(1) ideal for extensible languages and
other forms of composite languages.
PSLR(1) is the subject of my
PhD dissertation.
I have implemented it as an extension of GNU
Bison.
IELR(1) is a new minimal LR(1) parser table generation algorithm
that I designed and implemented as an extension of GNU Bison.
IELR(1) is a crucial component of my PSLR(1)
system.
Like previous minimal LR(1) algorithms, IELR(1) generates parser
tables that are nearly as small as those generated by LALR(1)
and yet that have the full power of canonical LR(1).
IELR(1)'s improvement is that it correctly handles non-LR(1) grammars
that are coupled with a specification for resolving conflicts.
My IELR(1) implementation is scheduled to appear in Bison 2.5.
I have some
publications about
IELR(1).
I am a co-maintainer of GNU's Bison project.
From the Bison documentation, "Bison is a general-purpose parser
generator that converts an annotated context-free grammar into an
LALR(1) or GLR parser for that grammar."
Currently, Bison can generate parsers in C, C++, or Java.
SHP (Simplified Hypertext Preprocessor)
SHP is a simple solution for creating templated webpages with the
power of markup-embedded server-side programming.
Instead of forcing you to learn a new scripting language, it
provides a generalized method for embedding scripting languages
you already know, like perl, python, or sh.
For downloads and documentation, see SHP's home
page.
|