$Id: README,v 1.1 1996/12/16 19:02:09 gaertner Exp $

README for contrib/noweb/cee.latex

A noweb prettyprinter for C using Pretzel

Prerequisites:
--------------

You need:

    - the Pretzel system (the new version 2.0x)

    - the noweb system


Files:
------

Makefile

README			this file

cee.ft			formatted tokens for very simple C
cee.fg			formatted grammar for very simple C


Using:
------

The files in contrib/noweb/general contain an explanation
about the ideas involved here. All you need is a working version
of pretzel-it.

To use, change the cee.ft and cee.fg files to what you think will be a
good prettyprinting style and then

    pretzel-it -n cee prettycee

This will build an executable noweb filter that prettyprints the code
parts according to the specs in cee.ft and cee.fg.

    make prettyceetest

to run it on some example noweb files.  There's a lot of debugging
information around at the moment. Also, the LaTeX styles of Pretzel
and noweb still bite eachother (working on this).  You might want
to look at the same stuff for HTML instead of LaTeX (in directory
contrib/noweb/cee.html).


Ommissions (work to be done):
-----------------------------

  o a lot


Help (some is a little outdated):
---------------------------------

  o Why does pretzel-it not work?

    You have to set environment variables PRETZEL_LIBDIR and
    PRETZEL_INCLUDE to the correct paths of your Pretzel
    installation (e.g. something line /usr/local/lib/pretzel
    and /usr/local/include/pretzel).

  o Why does pretzel gobble up newlines when I prettyprint
    code?

    You probably have a line like

        [\t\ \n]        // empty

    in your formatted token file. This naturally will gobble
    up all newlines sent to the prettyprinter by noweb. Pretzel
    by itself does not place any newlines into the prettyprinted
    output. You have to do this yourself, e.g. by stating

        \n              NEWL

    in your formatted token file and then saying

        newl : NEWL ;

    in the formatted grammar, where the token newl is again
    reduced within a rule that is appropriate for parsing
    the newline token.




