view macro.h @ 18:c08a947d8f30

deal with macro parameters
author David A. Holland
date Mon, 20 Dec 2010 01:51:47 -0500
parents 76da41da923f
children 76c114899f63
line wrap: on
line source

#include <stdbool.h>
#include <stddef.h>

struct place;

void macros_init(void);
void macros_cleanup(void);

void macro_define_plain(struct place *, const char *macro,
			struct place *, const char *expansion);
void macro_define_params(struct place *, const char *macro,
			 struct place *, const char *params,
			 struct place *, const char *expansion);
void macro_undef(const char *macro);
bool macro_isdefined(const char *macro);

char *macroexpand(struct place *, char *buf, size_t len, bool honordefined);

void macro_sendline(struct place *, char *buf, size_t len);
void macro_sendeof(struct place *);