Related articles |
---|
Lacing C/C++ code elan@tasha.cheme.cornell.edu (1993-11-14) |
Re: Lacing C/C++ code ltd@netcom.com (1993-11-15) |
Re: Lacing C/C++ code prashanth@cdotd.ernet.in (Prashant V Hedaoo) (1993-11-16) |
Re: Lacing C/C++ code mike@vlsivie.tuwien.ac.at (1993-11-29) |
Newsgroups: | comp.compilers |
From: | mike@vlsivie.tuwien.ac.at (Michael Gschwind) |
Keywords: | C |
Organization: | TU Wien |
References: | 93-11-092 93-11-109 |
Date: | Mon, 29 Nov 1993 13:30:38 GMT |
Prashant V Hedaoo <prashanth@cdotd.ernet.in> writes:
[How to find the start/end of C functios using reg-exps]
Our moderator adds:
[I'd be concerned that this approach could be confused by declarations of
pointers to functions. -John]
Those should have a semi-colon at the end of the declaration, so this is a
simple way to check it it's the declaration of a pointer to function or a
function. If the next token is a ';' you have a pointer to function, if it
is ( id * ';' )* '{' it's a function. This of course modulo any nifty CPP
#ifdef's and comments. (I can't really imagine you can do a full blown job
before you preprocess the file. Any token could really be MACRO and blow
all your assumptions about the code to pieces. But for most code, the
regexp approach should do the job.)
mike
--
Michael Gschwind, Institut fuer Technische Informatik, TU Wien
snail: Treitlstrasse 3-182-2 || A-1040 Wien || Austria
email: mike@vlsivie.tuwien.ac.at
phone: +(43)(1)58801 8156 fax: +(43)(1)569 697
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.