from
The Free On-line Dictionary of Computing (8 July 2008)
PRECCX
<tool> (Pre-C-Compiler eXtended) An infinite-{lookahead}
{compiler-compiler} by Peter Breuer <[email protected]> for
{context dependent grammars}. PRECCX generates {ANSI C}.
Specification scripts are in very {EBNF} with {inherited
attributes} and {synthetic attributes} allowed. Scripts can
be compiled in separate {modules} and linked later.
{Meta-production rules} are allowed. Grammars can be
essentially LL(oo) with optimisations. A converter for {yacc}
scripts is available.
Versions 1.xx were known as "PRECC" and only had unbounded
lookahead. The 2.xx series added the "X" for "extended" and
featured higher order parameterisation (inherited attributes).
Version 2.42 integrates inherited and synthesized attributes
by using a "monadic" model for parsing. You can now synthsize
attributes during the pass and inherit them in the remainder,
e.g.
@ foo = bar\x gum(x)
synthesises an x in bar and passes it down into gum as a
parameter. Useful for @ what = ?\x did_you_say(x), for
example. It now compiles into {C} instead of running an
{interpreter} at parse-time.
Version 2.42 runs under {Unix} and {MS-DOS}.
(http://comlab.ox.ac.uk/archive/redo/precc.html).
E-mail: Peter Breuer <[email protected]>, Jonathan Bowen
<[email protected]>.
["The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint
New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8
January 1993, ISBN 1 873611 06 4 ({UKUUG}), 0 9520700 0 6
(SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
Herts SG9 9PL, UK, pp 167-182, 1993].
(2000-04-24)