mirror of
https://github.com/iritmaximus/ttk91-compiler.git
synced 2026-10-12 19:13:40 +03:00
better error handling + segfault safe frees
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
#ifndef ERROR_H
|
||||
#define ERROR_H
|
||||
|
||||
typedef enum {
|
||||
VARIABLE_NULL=1,
|
||||
SWITCH_NOT_MATCHED,
|
||||
PARSE_ERROR,
|
||||
FILE_ERROR,
|
||||
ALLOC_FAILED
|
||||
} error_t;
|
||||
|
||||
#endif
|
||||
+1
-1
@@ -81,7 +81,7 @@ extern int yydebug;
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
union YYSTYPE
|
||||
{
|
||||
#line 47 "src/parser.bison"
|
||||
#line 48 "src/parser.bison"
|
||||
|
||||
struct expr *expr;
|
||||
struct oper *oper;
|
||||
|
||||
+3
-3
@@ -39,8 +39,8 @@ struct pure_value {
|
||||
struct value * value_create(addr_mode_t addr_m, index_t i_m, struct pure_value *value, struct ttk_register *i_reg);
|
||||
struct value * value_create_direct_value(struct pure_value *p_v);
|
||||
struct value * value_create_direct_indexed(struct pure_value *p_v, struct ttk_register *ttk_reg);
|
||||
struct value * value_create_address_mode_indexed(char addr_mode, struct pure_value *p_v, struct ttk_register *ttk_reg);
|
||||
struct value * value_create_address_mode(char addr_mode, struct pure_value *p_v);
|
||||
struct value * value_create_address_mode_indexed(char* addr_mode, struct pure_value *p_v, struct ttk_register *ttk_reg);
|
||||
struct value * value_create_address_mode(char* addr_mode, struct pure_value *p_v);
|
||||
struct value * value_create_direct_register(struct ttk_register *ttk_reg);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ struct pure_value * pure_value_create_value(int value);
|
||||
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);
|
||||
addr_mode_t parse_addr_mode(char* addr_mode);
|
||||
int value_print(struct value *v);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user