summaryrefslogtreecommitdiff
path: root/asmmon.h
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2021-05-08 12:22:25 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2021-05-08 12:22:25 -0400
commit9cb8e4f83b49355610134b152df129b2f68ce9fe (patch)
tree31972078120b6cae8950f6acb67e4f758df738ce /asmmon.h
parent04cc80c19d763f6de4ef5c3baac5026e5e6969b3 (diff)
Start implementing whole file lexing.
This will eventually replace the per-line lexer.
Diffstat (limited to 'asmmon.h')
-rw-r--r--asmmon.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/asmmon.h b/asmmon.h
index beda687..1be290d 100644
--- a/asmmon.h
+++ b/asmmon.h
@@ -10,6 +10,7 @@ typedef struct sym symbol;
typedef struct fix fixup;
typedef struct inst instruction;
typedef struct expr expr;
+typedef struct strln strln;
struct tok {
@@ -47,8 +48,6 @@ struct ln {
uint64_t addr; /* The address of this line. */
};
-
-
struct fix {
fixup *next;
symbol *s;
@@ -89,6 +88,12 @@ struct expr {
} value;
};
+struct strln {
+ strln *next;
+ strln *prev;
+ char *str;
+ int blanks;
+};
extern char lexeme[];
extern char *string[];
@@ -105,6 +110,9 @@ extern symbol *last_loc;
extern fixup *fixups;
extern fixup *last_fix;
+extern strln *first_strln;
+extern strln *last_strln;
+
extern uint8_t lex_type;
enum dir {