Faculty of Information Technology Programming Languages and Systems
Skip to Content
QUT Home FIT Home PLAS Home Projects People Wiki Contacts
 
     

The Gardens Point Scanner Generator (GPLEX)

   

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

 

PLAS
Projects
  ActiveSheets
  Bioinformatics
  ConcernMaps
  ELP
  ELP.NET
  G2 Cluster Computing
  Generics
  Gardens Point Component Pascal
  Gardens Point Flow
  Gardens Point Modula
  Gardens Point Service Language
  Language Processing Tools
    Gardens Point Parser Generator
    Gardens Point Scanner Generator
    PE File Reader/Writer
  Mentok
  Metaphor
  Mobilizer
  RikWik
  Ruby.NET
People
Wiki
Contacts