PRECC — A PREttier Compiler-Compiler
Peter Breuer and Jonathan Bowen
See also:
Introduction[]
PRECC eXtended is an infinite-lookahead compiler-compiler for context dependent grammars developed during and after the ESPRIT II REDO project. The generated code is ANSI↑ C↑. Specification scripts are in very extended BNF↑ with inherited and synthetic attributes allowed. Scripts can be compiled in separate modules, and linked together later. Meta-production rules are allowed. The technology is essentially LL() with optimizations. A converter for {wp|yacc}} scripts is available.
News concerning PRECC is issued from time to time on the moderated (and therefore recommended) [news:comp.compilers comp.compilers] newsgroup including in the language tools catalog.
PRECCX[]
Versions of PRECCX are available for use under UNIX↑ (e.g., on a Sun workstation↑) in gzip↑ (compressed) tar↑ format and also for use on a PC under MS-DOS↑ as several zip↑ format files.
- UNIX version available as a single "gzipped↑" tar↑ format file.
- MS-DOS version in a directory including an index and information.
- PRECC examples available as a single "gzipped" tar format file.
- PRECC 2.44 for Linux, a single "gzipped" tar format file.
- See also information and index of compiler tools including PRECC.
Current stable widely available version.
- See also information and index of compiler tools including PRECC.
- Latest PRECC version 2.45 FTP directory.
- More experimental version.
A Z notation grammar is available in info-zip format and gzipped Unix tar format for use with PRECC. The former is suitable for use under DOS, apart from the Unix makefile. See PRECC support for parsing the Z notation.
See new Web interface to PRECC 2.* (PRECCX) CVS Tree.
Please note that PRECCX under continual development and is available on an as is basis, although comments are of course welcome.
Documentation[]
The following online documentation is available:
- PRECCX User Manual in HTML format (large).
- Unix-style manual page (also in smaller compressed PostScript format).
- PRECC FAQ (Frequently Asked Questions) — currently in plain text only.
See also the PRECC examples above.
Papers and reports[]
The following papers and report concerned with PRECC have been published and/or are available online:
- A PREttier Compiler-Compiler: Generating Higher Order Parsers in C, Peter Breuer and Jonathan Bowen. Software — Practice and Experience↑ 25(1):1263–1297, November 1995. See also Programming Research Group↑ Technical Report PRG-TR-20-92, 25pp, November 1992.
- A PREttier Compiler-Compiler: higher order programming in C, Peter Breuer. In Proc. TOULOUSE 92: Fifth International Conference on Software Engineering and its Applications, Toulouse, France, 7–11 December 1992. Available from EC2, 269/287 rue de la Garenne, 92024 Nanterre Cedex, France.
- Occam's Razor: The Cutting Edge of Parser Technology, Jonathan Bowen and Peter Breuer. In Proc. TOULOUSE 92: Fifth International Conference on Software Engineering and its Applications, Toulouse, France, 7–11 December 1992. Available from EC2, 269/287 rue de la Garenne, 92024 Nanterre Cedex, France.
- The PRECC Compiler-Compiler, Peter Breuer and Jonathan Bowen. In Elwyn Davies and Andrew Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, Oxford, UK, 6–8 January 1993. UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167–182, 1993.
- A Concrete Grammar for Z, Peter Breuer and Jonathan Bowen. Oxford University Computing Laboratory Technical Report PRG-TR-22-95, September 1995. Presented as a poster at FME'96.
See also:
- Compilers & Interpreters Article Archive including the compiler writers tools subject area.
- Parsing Techniques — A Practical Guide
- The BNF Web Club Language SQL, ADA, JAVA, MODULA2, PL/SQL, …
- PRECC entry under Programming Languages & Compilers from SAL (Scientific Applications on Linux).
For further information, please contact Peter Breuer on ptb@it.uc3m.es or Jonathan Bowen.
See also Spanish site.
Part of the REDO project archive.