diff options
Diffstat (limited to 'c/libdietc.h')
-rw-r--r-- | c/libdietc.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/c/libdietc.h b/c/libdietc.h index e63af8d..4dea137 100644 --- a/c/libdietc.h +++ b/c/libdietc.h @@ -38,9 +38,19 @@ struct type { unsigned long is_variadic; }; +enum INSTRUCTION_TYPE { + INSTRUCTION_DECLARE, + INSTRUCTION_DEREF_ASSIGN, + INSTRUCTION_ASSIGN_DEREF, + INSTRUCTION_CAST, + INSTRUCTION_COPY, + INSTRUCTION_OTHER, +}; + struct instruction { char *line; - struct instruction *next; + enum INSTRUCTION_TYPE kind; + struct instruction *next, **pprev; }; struct function { @@ -83,3 +93,4 @@ struct program libdietc_parse(char *filename); void libdietc_print(struct program program); char *libdietc_nth_token(char *string, int n); struct type *libdietc_object_type(struct program program, char *name); +struct type *libdietc_lhs_type(struct program program, struct instruction *instruction); |