int nestlevel = -1;
+PRIVATE do_include();
+PRIVATE ifexpr();
+PRIVATE do_define();
+PRIVATE push_if();
+PRIVATE do_elif();
+PRIVATE do_else();
+PRIVATE do_endif();
+PRIVATE do_if();
+PRIVATE do_ifdef();
+PRIVATE do_undef();
+PRIVATE int getparams();
+PRIVATE char *get_text();
+PRIVATE int macroeq();
+PRIVATE SkipRestOfLine();
+PRIVATE do_line();
+
struct idf *
GetIdentifier()
{
char *repl_text; /* start of the replacement text */
int length; /* length of the replacement text */
register ch;
- char *get_text();
/* read the #defined macro's name */
if (!(id = GetIdentifier())) {
as strings, without taking care of the leading and trailing
blanks (spaces and tabs).
*/
-PRIVATE
+PRIVATE int
macroeq(s, t)
register char *s, *t;
{
PRIVATE struct mlist *ReplaceList; /* list of currently active macros */
+PRIVATE macro_func();
+PRIVATE char *macro2buffer();
+extern char **getactuals();
+
EXPORT int
replace(idef)
register struct idf *idef;
register struct macro *mac = idef->id_macro;
register struct mlist *repl;
register int c;
- char **actpars, **getactuals();
- char *reptext, *macro2buffer();
+ char **actpars;
+ char *reptext;
int size;
if (mac->mc_flag & NOREPLACE) {
PRIVATE int nr_of_params; /* number of actuals read until now */
+PRIVATE copyact();
+
char **
getactuals(idef)
register struct idf *idef;