diff options
Diffstat (limited to 'stmt.h')
| -rw-r--r-- | stmt.h | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#ifndef STMTS_H +#define STMTS_H + +#include "cgen.h" +#include "prv.h" +#include "call.h" +#include "display.h" +#include "end.h" +#include "from.h" +#include "set.h" +#include "warn.h" + +struct stmt +{ + enum + { + DISPLAY, + SET, + CALL, + WARN, + FROM, + END + } type; + + int (*end)(const struct stmt *, struct cgen *); + + union + { + struct display display; + struct set set; + struct call call; + struct warn warn; + struct from from; + struct end end; + } u; +}; + +struct stmt *stmt_cur(const struct prv *p); +int stmt_cgen(const struct stmt *s, struct cgen *c); +void stmt_free(struct stmt *s); + +extern const struct seq stmts[]; + +#endif |
