Programming Research Group Technical Report TR-22-95

A Concrete Z Grammar

Peter Breuer and Jonathan Bowen

September 1995, 23pp.

This report presents a concrete grammar for the formal specification language Z, based on the BNF-like syntax description in the widely used Z Reference Manual. It has been used as a starting point for several projects associated with Z. The grammar is written in the format required for the public domain compiler-compiler PRECC. It has also been used as a basis for grammars aimed at other compiler-compilers, including yacc and PCCTS. An important goal in publishing it here is to make a working concrete grammar for Z publicly available and thus to promote the production of Z-based utilities. Another intention of this report is to report on the use of what is itself a high-level formal specification language with a formally defined parser semantics: PRECC. It is used here to define a human-readable language, namely Z, that has an ambiguous and context-sensitive syntax, and we also report on engineering aspects of the work.


This report is available as a 95,393 byte compressed PostScript file or as a much larger uncompressed PostScript file.

The full script is available as a gzipped tar format file in the PRECC archive on the World Wide Web.