version 1.62, 2003/06/30 22:11:38 |
version 1.63, 2003/06/30 22:13:32 |
|
|
#include <string.h> |
#include <string.h> |
#include <stddef.h> |
#include <stddef.h> |
#include <stdlib.h> |
#include <stdlib.h> |
|
#include <ohash.h> |
#include <err.h> |
#include <err.h> |
#include "mdef.h" |
#include "mdef.h" |
#include "stdd.h" |
#include "stdd.h" |
|
|
char ecommt[MAXCCHARS+1] = {ECOMMT}; /* end character for comment */ |
char ecommt[MAXCCHARS+1] = {ECOMMT}; /* end character for comment */ |
int synch_lines = 0; /* line synchronisation for C preprocessor */ |
int synch_lines = 0; /* line synchronisation for C preprocessor */ |
|
|
|
struct keyblk { |
|
char *knam; /* keyword name */ |
|
int ktyp; /* keyword type */ |
|
}; |
|
|
struct keyblk keywrds[] = { /* m4 keywords to be installed */ |
struct keyblk keywrds[] = { /* m4 keywords to be installed */ |
{ "include", INCLTYPE }, |
{ "include", INCLTYPE }, |
{ "sinclude", SINCTYPE }, |
{ "sinclude", SINCTYPE }, |
|
|
if (signal(SIGINT, SIG_IGN) != SIG_IGN) |
if (signal(SIGINT, SIG_IGN) != SIG_IGN) |
signal(SIGINT, onintr); |
signal(SIGINT, onintr); |
|
|
init_trace(); |
|
init_macros(); |
init_macros(); |
initkwds(); |
initkwds(); |
initspaces(); |
initspaces(); |
|
|
*/ |
*/ |
pushf(fp); /* previous call frm */ |
pushf(fp); /* previous call frm */ |
pushf(macro_getdef(p)->type); /* type of the call */ |
pushf(macro_getdef(p)->type); /* type of the call */ |
if (traced_macros && is_traced(macro_name(p))) |
pushf(is_traced(p)); |
pushf(1); |
|
else |
|
pushf(0); |
|
pushf(0); /* parenthesis level */ |
pushf(0); /* parenthesis level */ |
fp = sp; /* new frame pointer */ |
fp = sp; /* new frame pointer */ |
/* |
/* |
|
|
return NULL; |
return NULL; |
} |
} |
|
|
p = lookup(name); |
p = ohash_find(¯os, ohash_qlookupi(¯os, name, (const char **)&tp)); |
if (p == NULL) |
if (p == NULL) |
return NULL; |
return NULL; |
if (macro_getdef(p) == NULL) |
if (macro_getdef(p) == NULL) |