|
Overview
GPLEX is a generator for lexical scanners. It accepts a “LEX-like” input
specification and produces a C# output file. The scanners that it produces
are thread-safe, with all scanner state held within the scanner instance.
GPLEX scanners are designed to be used with parsers constructed with the
Gardens Point Parser Generator (GPPG). Both GPLEX and the scanners which it
produces use the generic types defined in C# 2.0.
GPLEX and GPPG are released in open source form under “Free-BSD” style
licence arrangements. The distribution is a zip archive which contains
executable files, source files, documentation and examples.
Version 1.0 now supports unicode, including surrogate pairs and fallback codepages, and allows multiple input files using yywrap.
UPDATED: 11 November, 2008 - Version 1.0.1
Version 1.0.1 is designed to match version 1.1 or later of GPPG.
Download the licence from here
Download the documentation from here
Download the changelog from here
Download unicode-specific documentation from here
Download the input specification from here
Download the complete package from here
Download old complete package from here
Changes in Version 1.0
- Unicode scanners have a flexible new mechanism for handling files without a UTF prefix.
- Rewritten and extra documentation.
- GPLEX now handles codepoints throughout the whole 21-bit space.
- Several internal limits have been removed so that automata with hundreds of thousands of states may be created.
- Predicate functions for membership tests on named character classes are automatically created.
Limitations of Version 1.0
The following limitations may be important: GPLEX accepts only
fixed-length right context, that is, in “R1/R2” where R1 and R2
are regular expressions at least one of the expressions must
define a language of fixed length strings.
See the documentation for a complete summary of the accepted language.
Origins
We gratefully acknowledge the support of Microsoft in the development of
GPLEX. The application is closely related to the “Managed Package LEX”
application that forms part of the Visual Studio Managed Babel distribution,
although MPLEX provides additional VS-specific interfaces.
GPLEX is copyright © 2008 John Gough and Queensland University of Technology.
John may be contacted at j.gough@qut.edu.au
|