diff options
Diffstat (limited to 'src/prc1/cgen.h')
| -rw-r--r-- | src/prc1/cgen.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/prc1/cgen.h b/src/prc1/cgen.h new file mode 100644 index 0000000..0a30138 --- /dev/null +++ b/src/prc1/cgen.h @@ -0,0 +1,23 @@ +#ifndef CGEN_H +#define CGEN_H + +#include "parse.h" +#include "storage.h" + +struct cgen +{ + const struct fn *fn; +}; + +int cgen(const struct ast *ast, struct cgen *c); +int cgen_param(const struct fn *fn, const struct stentry *e); +int cgen_global(const struct fn *fn, const struct stentry *e); +void cgen_printvar(const struct fn *fn, const struct stentry *e); +const char *cgen_sz(const size_t sz); +const char *cgen_tmp(const size_t sz); +const char *cgen_type(const struct type *t); +const char *cgen_abity(const struct type *t); +const char *cgen_load(const struct type *t); +void cgen_free(struct cgen *c); + +#endif |
