aboutsummaryrefslogtreecommitdiff
path: root/src/lexer
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-30 22:42:20 +0200
committerhachem <im@hachem.wtf>2026-08-30 22:42:20 +0200
commit81799f3e41ad9cab305930b7743a752003ff16ec (patch)
tree20fd67914ac143ab97a00392abcf5817ba11db22 /src/lexer
parent294777178f9203283364f3e672569becb4dd1e7c (diff)
feat: sized memory stores bia ^
Diffstat (limited to 'src/lexer')
-rw-r--r--src/lexer/lexer.c8
-rw-r--r--src/lexer/lexer.h4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c
index 97a91b1..da45741 100644
--- a/src/lexer/lexer.c
+++ b/src/lexer/lexer.c
@@ -31,6 +31,10 @@ static enum TokenType identifier_type(const char* start, size_t length)
{ "if", 2, TOKEN_IF },
{ "goto", 4, TOKEN_GOTO },
{ "syscall", 7, TOKEN_SYSCALL },
+ { "byte", 4, TOKEN_BYTE },
+ { "word", 4, TOKEN_WORD },
+ { "dword", 5, TOKEN_DWORD },
+ { "qword", 5, TOKEN_QWORD },
};
for (size_t i = 0; i < sizeof(keywords) / sizeof(keywords[0]); i += 1)
@@ -224,6 +228,10 @@ const char* token_type_name(enum TokenType type)
case TOKEN_IF: return "if";
case TOKEN_GOTO: return "goto";
case TOKEN_SYSCALL: return "syscall";
+ case TOKEN_BYTE: return "byte";
+ case TOKEN_WORD: return "word";
+ case TOKEN_DWORD: return "dword";
+ case TOKEN_QWORD: return "qword";
case TOKEN_EQUAL: return "equal";
case TOKEN_PLUS: return "plus";
case TOKEN_MINUS: return "minus";
diff --git a/src/lexer/lexer.h b/src/lexer/lexer.h
index 56c1feb..441fe10 100644
--- a/src/lexer/lexer.h
+++ b/src/lexer/lexer.h
@@ -18,6 +18,10 @@ enum TokenType
TOKEN_IF,
TOKEN_GOTO,
TOKEN_SYSCALL,
+ TOKEN_BYTE,
+ TOKEN_WORD,
+ TOKEN_DWORD,
+ TOKEN_QWORD,
TOKEN_EQUAL,
TOKEN_PLUS,