next up previous contents index
Next: Availability Up: Prop Language Reference Manual Previous: Contents

Introduction

tex2html_wrap6151. INTRODUCTION  

This is the language reference manual for Prop, a compiler generator. Prop can be used to generate lexers, parsers, analysis and transformation tools using pattern matching and rewriting. The Prop language is a multi-paradigm extension of C++[Str91] and C++ programs generated from Prop specifications can be compiled into efficient code.

Version 2.3.4 of Prop includes the following major features:

  1. Algebraic datatypes and pattern matching, and automatic mapping of algebraic datatypes into C++ class hierarchies.
  2. A LALR(1) parser generator in the tradition of yacc and bison. Each grammar is encapsulated into a parser class and it is possible to have multiple instances of a parser.
  3. Regular expression string matching and lexer generation.
  4. Transformation of algebraic datatypes using conditional rewriting.
  5. In addition, using the view mechanism, it is possible to treat externally defined C or C++ data structures as if they were Prop defined datatypes. The full range of pattern matching and rewriting capability can be used on these externally defined data..

In addition, we intend to implement/fix-up the following features in the near future:

  1. Persistence.
  2. Pretty printing/reading.
  3. Visualization of data structures using vcg[San94, San95].
  4. Automatic mapping of graph structure specifications into C++ classes.
  5. Graph rewriting system generation.




Allen Leung
Mon Apr 7 14:33:55 EDT 1997