#ifndef MACROS_H
#define MACROS_H
#include <stddef.h>
struct macro_arg {
char *name;
struct token *toklist;
struct macro_arg *next;
};
struct macro {
char *name;
size_t namelen;
int empty;
int functionlike;
int dontexpand;
void *builtin;
struct macro_arg *trailing_last;
struct macro_arg *arglist;
struct token *toklist;
struct macro *next;
};
struct macro *alloc_macro();
struct macro *lookup_macro(const char *name, size_t len);
struct macro *put_macro(struct macro *m);
int drop_macro(const char *name);
struct token *builtin_to_tok(struct macro *mp, struct token **tail);
struct token *skip_ws(struct token *); /* XXX token.c ... */
#endif
syntax highlighted by Code2HTML, v. 0.9.1