Article View: comp.lang.c++.leda
Article #181Re: c++ class browser
From: Bruno Conductier
Date: Thu, 15 Feb 1996 08:01
Date: Thu, 15 Feb 1996 08:01
130 lines
5959 bytes
5959 bytes
In article <4fttcc$5gt@unix.sbu.ac.uk>, John Glavey <glavey@vax.sbu.ac.ik>
writes:
|> Hi, I am a final year degree student looking for a c++ class parser.
|> I am trying to write one, but not having a great deal of success.
|> Would appreciate any contact on any existing software available, that may
|> be customised to my requirements.
|>
|> i.e I am trying to parse out values to a VRML file.
|>
|>
|> Any comments queries advice would be gratefully accepted.
|>
|> Thanking in advance.
|>
|> John Glavey
|> South Bank University
|> London
|> U.K.
|> glavey@vax.sbu.ac.uk.
|>
|>
Have a look to :
file://ftp.th-darmstadt.de/pub/programming/languages/C++/tools/
file://ftp.th-darmstadt.de/pub/programming/languages/C++/tools/cppp.README
*** PS: please follow me any pointer you find on C++ grammar
This is the README file for version 1.26 of cppp, a C++ parser.
Copyright 1993 Brown University -- Tony Davis.
See the full copyright and permission notice later in this file.
For installation instructions see the file ./INSTALL.
For short descriptions of the source files see ./Manifest.
Name: cppp - a C++ parser
Synopsis: cppp [ -dP ] [ -dS ] [ -n ] [ -I... -D... -U... ] [ cplpl_file
]
Description: parse the given cplpl_file (or standard input) optionally
dumping the generated abstract syntax graph
Options:
-dP dump an ASCII version of the generated abstract syntax
graph
-dS suppress semantic processing (semantic error checking,
symbol resolution)
-n suppress invocation of the C preprocessor (cpp)
-I standard C preprocessor option passed along unchanged
-D standard C preprocessor option passed along unchanged
-U standard C preprocessor option passed along unchanged
REQUIREMENTS
C++ (cppp is written in C++)
lex(1)
yacc(1)
make(1)
sed(1) // Unnecessary for compiling (with a small amount of hand
// editing). Necessary for the "test" Makefile target.
USAGE
Unless you are going to modify the source code, the most practical
way to use cppp is to dump the abstract syntax graph (-dP) that it
creates and reparse that to gather the information you desire.
The file ./Dump.doc contains the best current documentation of the
dump format. It is not complete, but should serve as a good
introduction. Dump.doc will make more sense if an example dump
listing is examined simultaneously.
FUTURE PLANS
Included with this distribution is the file ./Problems. Of course,
we plan to fix the problems listed in that file. However, progress
with cppp has been slow recently mostly due to other pressing
matters. If anyone cares to contribute fixes for the problems listed
or any others that might be found, they will happily be incorporated
into future releases; see ./Origins for an appropriate email address.
Other plans include development of a more convenient interface to
cppp. Currently the easiest route is to dump the abstract syntax
graph constructed by cppp and reparse the dump to rebuild the graph
in a separate process. It would be far more convenient to turn cppp
into a library and pass it a table of functions to be called during
a post-processing traversal of the graph. The nature of such a
library and its implementation remain to be developed.
COPYRIGHT
Copyright 1993 Brown University -- Tony Davis.
Copyright 1993 Brown University, Providence, RI
Permission to use and modify this software and its documentation
for any purpose other than its incorporation into a commercial
product is hereby granted without fee. Permission to copy and
distribute this software and its documentation for free for
any use other than its incorporation into a commercial product
is also granted without fee, provided, however, that the
above copyright notice appear in all copies, that both that
copyright notice and this permission notice appear in supporting
documentation, that the name of Brown University not be used in
advertising or publicity pertaining to distribution of the software
without specific, written prior permission, and that Brown
University be notified by the distributor when such distributions
are done outside of his or her organization. Brown University makes
no representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied
warranty. Brown University requests notification of any
modifications to this software or its documentation.
Please send the name, organization, and address (postal and
electronic) of recipients of software outside of the receiving
organization to:
Software Librarian
Computer Science Department, Box 1910
Brown University
Providence, RI 02912
or
brusd@cs.brown.edu
All electronic notifications will be acknowledged.
Technical Details
Message-ID:
<4fup96$nv4@news-sop.inria.fr>Path:
arc1-ca.pugleaf.net!sarastro.inria.fr!cbrunoReferences:
<4fttcc$5gt@unix.sbu.ac.uk>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sarastro.inria.fr!cbruno From: cbruno@sarastro.inria.fr (Bruno Conductier) Newsgroups: comp.lang.c++.leda Subject: Re: c++ class browser Date: 15 Feb 1996 08:01:42 GMT Organization: INRIA Sophia-Antipolis Distribution: world Message-ID: <4fup96$nv4@news-sop.inria.fr> References: <4fttcc$5gt@unix.sbu.ac.uk> Reply-To: cbruno@lynus.inria.fr NNTP-Posting-Host: sarastro.inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit