implemented ast printing

This commit is contained in:
Aaro Koivukangas
2024-08-16 13:27:24 +02:00
parent 9452ebfdb1
commit 67992d8b52
13 changed files with 278 additions and 4 deletions
+1
View File
@@ -7,5 +7,6 @@ struct comment {
};
struct comment * comment_create(char *text);
int comment_print(struct comment *c);
#endif
+2
View File
@@ -25,6 +25,8 @@ struct expr {
};
struct expr * expr_create(expr_t kind, struct label *l, struct oper *o, struct ttk_register *f_arg, struct value *s_arg, struct comment *c, struct expr *n);
int expr_print(struct expr *e);
void expr_copy(struct expr *orig, struct expr *copy);
struct expr *expr_create_instruction(struct oper *o, struct ttk_register *ttk_reg, struct value *v);
+2
View File
@@ -15,6 +15,8 @@ struct label {
};
struct label * label_create(label_t kind, char* name, int value);
int label_print(struct label *l);
struct label * label_create_const(char* name);
struct label * label_create_const_sys(char* name);
struct label * label_create_tag(char* name);
+2
View File
@@ -19,6 +19,8 @@ struct oper {
};
struct oper * oper_create(oper_t kind, char* oper_name);
int oper_print(struct oper *o);
struct oper * oper_create_data(char* oper_name);
struct oper * oper_create_arithmetic(char* oper_name);
struct oper * oper_create_logic(char* oper_name);
+2
View File
@@ -17,4 +17,6 @@ int parse_register_num(char *name, ttk_register_t kind);
struct ttk_register * ttk_register_create_register(char* name);
struct ttk_register * ttk_register_create_stack_register(char* name);
int ttk_register_print(struct ttk_register *ttk_reg);
#endif
+1
View File
@@ -50,5 +50,6 @@ struct pure_value * pure_value_create_label(struct label *l);
struct pure_value * pure_value_create(value_t kind, struct ttk_register *ttk_reg, int num, struct label *l);
addr_mode_t parse_addr_mode(char addr_mode);
int value_print(struct value *v);
#endif