470,855 Members | 1,200 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,855 developers. It's quick & easy.

Parsers for C

Hi,

I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.

A commercial tool which can do that would be the best ...

Thanks,

Nikhil

May 3 '06 #1
7 1891
On 3 May 2006 13:53:21 -0700, "Nikhil" <n.********@gmail.com> wrote in
comp.lang.c:
Hi,

I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.

A commercial tool which can do that would be the best ...

Thanks,

Nikhil


Look at http://www.google.com

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
May 4 '06 #2
Try Lex & Yacc

May 4 '06 #3
"Nikhil" wrote:
I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.
A commercial tool which can do that would be the best ...
The following is Rod Pemberton's reply to a similar question:

"Rod Pemberton" wrote:

> For a research project, we're looking for a reliable parser for C
> that will take an ANSI C program and yield a tree representation of
> the program (as a Java or C++ object). ...

I don't know which if any of these may fulfill your needs, but they may be
worth a look. I also noticed some of the links are bad as I posted, but
they may still help you to track them down.

CIL - C Intermediate Language - C to C transformation
http://manju.cs.berkeley.edu/cil/

WCC - A C Subset Compiler (DECUS ftp links now appear to be dead...sorry)
http://www.decus.org/libcatalog/desc...ml/v00281.html
ftp://ftp.encompassus.org/lib/

npath - C Source Complexity Measures
http://www.geonius.com/software/tools/npath.html

Check: A unit test framework for C
http://check.sourceforge.net/

CTool Library (call-graph generator, source transformations)
http://ctool.sourceforge.net/

Cproto automatically generates C function prototypes
http://cproto.sourceforge.net/

JSCPP - a C preprocessor + parser with special modes
http://www.die-schoens.de/prg/

CXREF C language cross referencing program
in volume1 of comp.sources.unix:
http://ftp.sunet.se/pub/usenet/ftp.u....sources.unix/

CSur Le projet Csur (in French)
An analyzer of code C to detect common program execution errors
http://www.lsv.ens-cachan.fr/~goubault/Csur/csur.html

Chico State Mini-C Compiler (CSMCC) is a student training load-and-go
compiler (incomplete, teaching tool)
http://www.ecst.csuchico.edu/~sameerg/compproj.html
http://www.ecst.csuchico.edu/~hilzer/csci250/proj/

Edward Willink's C++ grammars:
http://www.computing.surrey.ac.uk/research/dsrg/fog/
(some of the links have an extra text '/v' in them, just delete)

ISO C/C++ grammars version 1.2 (c-c++-grammars-1.2.tar.gz)
http://www.sigala.it/sandro/download.php

A C99 Parser, a recursive decent parser
http://www.mazumdar.demon.co.uk/c_parser.html

Ctags generates an index (or tag) file of language objects
http://ctags.sourceforge.net/

Cdecl English<->C translator for C declarations
cdecl in volume6 of comp.sources.unix:
cdecl2 in volume14 of comp.sources.unix:
http://ftp.sunet.se/pub/usenet/ftp.u....sources.unix/


These additional links may be of some use. ASTRÉE appears to be great
but I don't see any code release...

CCURED memory safe C transformations (for CIL)
http://manju.cs.berkeley.edu/ccured/

C Code Checker (for CIL)
http://www.drugphish.ch/~jonny/cca.html

PScan Scan C files for format string overflows
http://www.striker.ottawa.on.ca/~aland/pscan/

CQUAL C checking through extended type qualifiers
http://www.cs.umd.edu/~jfoster/cqual/

Smatch - Source Matcher, C source checker for Linux Kernel
http://smatch.sourceforge.net/

SPLint Secure Programming Lint error detection
http://www.splint.org

BOON Buffer Overrun detectiON
http://www.cs.berkeley.edu/~daw/boon/

CZECH, project pedantic error detection
http://pedantic.sourceforge.net/

Flawfinder for C (in Python)
http://www.dwheeler.com/flawfinder/

ASTRÉE determines absence of runtime errors (in OCAML)
http://www.astree.ens.fr/
"In Nov. 2003, ASTRÉE was able to prove completely automatically the absence
of any RTE in the primary flight control software of the Airbus A340
fly-by-wire system, a program of 132,000 lines of C"

May 4 '06 #4
"ciju" <ci**********@gmail.com> writes:
Try Lex & Yacc


The question, which you failed to quote, was:

"Nikhil" <n.********@gmail.com> writes:
| I was interested in knowing of there are parsers in C than can parse C
| code in some form of Data Structures and then after some user
| manuplation, write back the code in a file.
|
| A commercial tool which can do that would be the best ...

Please read <http://cfaj.freeshell.org/google/>.

As it turns out, typedefs make C very difficult to parse with just the
usual tools. (I speak from painful experience.) The preprocessor
makes it nearly impossible, unless you parse the code *after* it's
been preprocessed (or implement your own preprocessor as part of your
parser).

A Google search for "C parser" is undoubtedly the best first step.
You can reinvent this particular wheel if you like, but making it
round is going to be harder than you think.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
May 4 '06 #5
Nikhil a écrit :
Hi,

I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.

A commercial tool which can do that would be the best ...

Thanks,

Nikhil


We distribute the lcc-win32 compiler.

We can do exactly what you want and tailor the compiler to parse C in
the form you want and write back the code as you specify.

Please send your specifications indicating what exactly you want to do
to me or to Q software solutions.

http://www.q-software-solutions.de

jacob
May 4 '06 #6

"Roberto Waltman" <us****@rwaltman.net> wrote in message
news:pp********************************@4ax.com...
"Nikhil" wrote:
I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.
A commercial tool which can do that would be the best ...


The following is Rod Pemberton's reply to a similar question:


Thanks Walt. I've posted a more complete list to alt.os.development.

The short google link:
http://groups.google.com/group/alt.o...2981cca7?hl=en
Rod Pemberton
May 5 '06 #7

"Nikhil" <n.********@gmail.com> wrote in message
news:11**********************@y43g2000cwc.googlegr oups.com...
Hi,

I was interested in knowing of there are parsers in C than can parse C
code in some form of Data Structures and then after some user
manuplation, write back the code in a file.

A commercial tool which can do that would be the best ...


http://www.semanticdesigns.com/Produ...CFrontEnd.html

Meets all of your requirements.

--
Ira Baxter, CTO
www.semanticdesigns.com
May 15 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Will Stuyvesant | last post: by
reply views Thread by Magnus Lie Hetland | last post: by
2 posts views Thread by Thomas Guettler | last post: by
reply views Thread by dagurp | last post: by
2 posts views Thread by Dale Strickland-Clark | last post: by
2 posts views Thread by dwelch91 | last post: by
reply views Thread by JosAH | last post: by
reply views Thread by JosAH | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.