added ast creation to parsing

This commit is contained in:
Aaro Koivukangas
2024-08-15 16:26:06 +02:00
parent 94b95397af
commit 573f2e041e
10 changed files with 70 additions and 22 deletions
+1
View File
@@ -9,6 +9,7 @@
typedef enum {
INSTRUCTION,
INSTRUCTION_ONE_ARG,
LABEL_DEF,
COMMENT
} expr_t;
+2 -2
View File
@@ -39,7 +39,7 @@
# define YY_YY_INCLUDE_TOKEN_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
# define YYDEBUG 1
#endif
#if YYDEBUG
extern int yydebug;
@@ -81,7 +81,7 @@ extern int yydebug;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 39 "src/parser.bison"
#line 40 "src/parser.bison"
struct expr *expr;
struct oper *oper;
+8 -2
View File
@@ -1,12 +1,18 @@
#ifndef REGISTER_H
#define REGISTER_H
typedef enum {
TTK_REGISTER,
STACK_TTK_REGISTER
} ttk_register_t;
struct ttk_register {
ttk_register_t kind;
int id;
int value;
};
struct ttk_register * ttk_register_create(char* id, int value);
int parse_register_num(char *name);
struct ttk_register * ttk_register_create(ttk_register_t kind, char* id, int value);
int parse_register_num(char *name, ttk_register_t kind);
#endif
+2 -1
View File
@@ -12,7 +12,8 @@ typedef enum {
typedef enum {
NONE,
INDEXED
INDEXED,
INDEXED_ONLY_IREG
} index_t;
typedef enum {