5

I have a task of developing source analysis tool for C programs, and I need to pre-process code before the analysis itself. I was wondering what is the best library for this. I need something light-weight and portable.

1 Answer 1

5

Instead of rolling out your own, why not use cpp that's part of the gcc suite: http://gcc.gnu.org/onlinedocs/gcc-4.6.1/cpp/

CPP(1) GNU CPP(1) NAME cpp - The C Preprocessor SYNOPSIS cpp [-Dmacro[=defn]...] [-Umacro] [-Idir...] [-iquotedir...] [-Wwarn...] [-M|-MM] [-MG] [-MF filename] [-MP] [-MQ target...] [-MT target...] [-P] [-fno-working-directory] [-x language] [-std=standard] infile outfile Only the most useful options are listed here; see below for the remainder. DESCRIPTION The C preprocessor, often known as cpp, is a macro processor that is used automatically by the C compiler to transform your program before compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs. 
Sign up to request clarification or add additional context in comments.

5 Comments

This was also my basic idea, but i was wondering if there was any way to do it, without using cpp.
I guess I'm left wondering why you would need to do it without using cpp. Ie - there exists a mature solution for the problem you posed. What is it about that solution that is insufficient to the task?
I was just wondering if there was a way to do it, other than cpp, maybe something more efficient. Anyway, i will probably use cpp, because of its portability.
@Kijan what part of your cpp did you find inefficient?
Regardless of efficiency, using a C preprocessor as a library from inside another application is a legitimate use-case. Let's say I get a C file as a buffer and I want to preprocess it. Writing it to a file and calling a command-line tool on it is way overkill.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.