asm: implement import and instruction parsing

This commit is contained in:
2024-12-14 20:26:04 +00:00
parent 724f40f19f
commit 462f67c6aa
11 changed files with 805 additions and 17 deletions

View File

@@ -1,6 +1,7 @@
#ifndef _PARSE_PARSE_H_
#define _PARSE_PARSE_H_
#include <ivy/asm/assembler.h>
#include <ivy/asm/lex.h>
#include <blue/core/queue.h>
@@ -53,6 +54,7 @@ struct parser_state_type {
struct parser_state {
b_queue_entry s_entry;
const struct parser_state_type *s_type;
ivy_assembler_attrib_table s_attrib;
void *s_previous_value;
};
@@ -61,7 +63,7 @@ struct ivy_asm_parser {
b_queue p_state;
};
extern struct parser_state *asm_parser_push_state(struct ivy_asm_parser *parser, enum parser_state_type_id type);
extern struct parser_state* asm_parser_push_state(struct ivy_asm_parser* parser, enum parser_state_type_id type, const ivy_assembler_attrib_table attrib);
extern void asm_parser_pop_state(struct ivy_asm_parser *parser, void *ret);
extern struct parser_state *asm_parser_get_state(struct ivy_asm_parser *parser);