#ifndef _PLY_H #define _PLY_H #include "node.h" #include "sym.h" #include "type.h" #include "arch.h" typedef struct prog prog_t; typedef struct provider provider_t; struct prog { const char *probe; node_t *ast; symtab_t *locals; symtab_t *globals; provider_t *provider; void *provider_data; }; typedef struct ctx { prog_t **progs; symtab_t *globals; } ctx_t; struct provider { const char *name; int (*resolve)(prog_t *, node_t *); int (*probe)(prog_t *); }; void provider_register(provider_t *prov); #endif /* _PLY_H */