C-Tree - C Tree Parser
Copyright 1994-98 - Shaun Flisakowski
This is a beta version of C-Tree.
Please keep the complaints rolling in, or I'll never work on it :).
The newest version is currently available at:
ftp.cs.wisc.edu:/coral/tmp/spf/ctree_XX.tar.gz
ftp.kagi.com:/flisakow/ctree_XX.tar.gz
or off my web page:
http://www.kagi.com/flisakow/
http://www.cs.wisc.edu/~flisakow/
Hopefully, I will find a better home for it in the future,
but I will leave a pointer at that site in any case.
Newer versions have bug fixes donated by various programmers,
the list keeps growing. In particular, I would like to thank:
Kurt Cockrum
Robert O'Callahan
John Harper
Joerg Schoen
Franklin Chen
Keith Thompson
Pavel Kalugin
Mark Willey
Richard O'Keefe
And also thanks to the many more people who have
pointed out bugs and made suggestions.
The files ctree.c, ctree.h implement a simple main() that
reads in C files, parses them using tree_parse() and then
_attempts_ to print them back out. (It doesn't do a real good
job of it). This is only supposed to be an example, and is
not meant to be a real program. You would of course write
your own main() which did something useful :).
I have added options to the example to show the tree as code
(or rather attempts to, it's still pretty buggy)
or as a tree (ie left child vs right child).
Read ANNOUNCE, which is my hard-sell for why you want this
C lexer/parser package instead of Roskind's (which doesn't even
include a symbol table).
Also, read COPYRIGHT which releases me from all responsibilites
relating to the use or mis-use of this code.
The 'gram' directory contains should ansi specs I got off the
net somewhere, I didn't use them (I didn't find them until
after I had already had mine) but I tossed them in anyway.
The 'tst' directory contains some programs I was testing it
with.
The 'tri' directory contains code to make a simple preprocessor
that will translate trigraphs.
If you have problems/comments/suggestions I would like to hear
from you:
flisakow@cs.wisc.edu
flisakow@kagi.com