diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2021-05-08 12:22:25 -0400 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2021-05-08 12:22:25 -0400 |
commit | 9cb8e4f83b49355610134b152df129b2f68ce9fe (patch) | |
tree | 31972078120b6cae8950f6acb67e4f758df738ce /asmmon.h | |
parent | 04cc80c19d763f6de4ef5c3baac5026e5e6969b3 (diff) |
Start implementing whole file lexing.
This will eventually replace the per-line lexer.
Diffstat (limited to 'asmmon.h')
-rw-r--r-- | asmmon.h | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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 { |