PRECCX

PRECCX

(tool)(Pre-C-Compiler eXtended) An infinite-lookaheadcompiler-compiler by Peter Breuer forcontext dependent grammars. PRECCX generates ANSI C.Specification scripts are in very EBNF with inherited attributes and synthetic attributes allowed. Scripts canbe compiled in separate modules and linked later.Meta-production rules are allowed. Grammars can beessentially LL(oo) with optimisations. A converter for yaccscripts is available.

Versions 1.xx were known as "PRECC" and only had unboundedlookahead. The 2.xx series added the "X" for "extended" andfeatured higher order parameterisation (inherited attributes).

Version 2.42 integrates inherited and synthesized attributesby using a "monadic" model for parsing. You can now synthsizeattributes 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 aparameter. Useful for @ what = ?\\x did_you_say(x), forexample. It now compiles into C instead of running aninterpreter 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 , Jonathan Bowen.

["The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG JointNew Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8January 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].