Joel Edward Denny
School of Computing
McAdams Hall
joeldenny@joeldenny.org
Research

PSLR(1)

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)

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).

GNU Bison

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.

 
Valid XHTML 1.1! Copyright © 2001-2010, Joel Edward Denny. All rights reserved.
Page last modified: 2010/04/23 17:47
Valid CSS!