summaryrefslogtreecommitdiff
path: root/c/libdietc.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/libdietc.h')
-rw-r--r--c/libdietc.h13
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);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback