view macro.h @ 19:f9792a9ec704

macro expansion.
author David A. Holland
date Mon, 20 Dec 2010 03:55:19 -0500
parents c08a947d8f30
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 *);