|
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 0.6 now supports unicode.
Version 0.6.2 is designed to match version 1.1 or later of GPPG.
Download the licence from here
Download the documentation from here
Download the complete package from here
Download old complete package from here
Limitations of Version 0.6
The preliminary version of GPLEX does not support either the complete POSIX
LEX standard, nor is it wholly FLEX compatible. 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. Also, in
version 0.6 there is no facility for switching input streams.
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 © 2007 John Gough and Queensland University of Technology.
John may be contacted at j.gough@qut.edu.au
|