🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.c++.leda
Article #181

Re: c++ class browser

#181
From: Bruno Conductier
Date: Thu, 15 Feb 1996 08:01
130 lines
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!cbruno
References: <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