aboutsummaryrefslogtreecommitdiff
path: root/asm/lexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'asm/lexer.h')
-rw-r--r--asm/lexer.h91
1 files changed, 0 insertions, 91 deletions
diff --git a/asm/lexer.h b/asm/lexer.h
deleted file mode 100644
index 734ffa1..0000000
--- a/asm/lexer.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (C) 2023 Aryadev Chavali
-
- * You may distribute and modify this code under the terms of the
- * GPLv2 license. You should have received a copy of the GPLv2
- * license with this file. If not, please write to:
- * aryadev@aryadevchavali.com.
-
- * Created: 2023-10-24
- * Author: Aryadev Chavali
- * Description: Lexer for assembly language
- */
-
-#ifndef LEXER_H
-#define LEXER_H
-
-#include <lib/darr.h>
-
-typedef enum TokenType
-{
- TOKEN_PP_CONST, // %const(<symbol>)...
- TOKEN_PP_USE, // %use <string>
- TOKEN_PP_END, // %end
- TOKEN_PP_REFERENCE, // $<symbol>
- TOKEN_GLOBAL,
- TOKEN_STAR,
- TOKEN_LITERAL_NUMBER,
- TOKEN_LITERAL_CHAR,
- TOKEN_LITERAL_STRING,
- TOKEN_NOOP,
- TOKEN_HALT,
- TOKEN_PUSH,
- TOKEN_POP,
- TOKEN_PUSH_REG,
- TOKEN_MOV,
- TOKEN_DUP,
- TOKEN_MALLOC,
- TOKEN_MALLOC_STACK,
- TOKEN_MSET,
- TOKEN_MSET_STACK,
- TOKEN_MGET,
- TOKEN_MGET_STACK,
- TOKEN_MDELETE,
- TOKEN_MSIZE,
- TOKEN_NOT,
- TOKEN_OR,
- TOKEN_AND,
- TOKEN_XOR,
- TOKEN_EQ,
- TOKEN_LT,
- TOKEN_LTE,
- TOKEN_GT,
- TOKEN_GTE,
- TOKEN_PLUS,
- TOKEN_SUB,
- TOKEN_MULT,
- TOKEN_PRINT,
- TOKEN_JUMP_ABS,
- TOKEN_JUMP_STACK,
- TOKEN_JUMP_IF,
- TOKEN_CALL,
- TOKEN_CALL_STACK,
- TOKEN_RET,
- TOKEN_SYMBOL,
-} token_type_t;
-
-typedef struct
-{
- token_type_t type;
- size_t column, line;
- char *str;
- size_t str_size;
-} token_t;
-
-token_t token_copy(token_t);
-
-typedef enum
-{
- LERR_OK = 0,
- LERR_INVALID_CHAR_LITERAL,
- LERR_INVALID_PREPROCESSOR_DIRECTIVE,
-} lerr_t;
-const char *lerr_as_cstr(lerr_t);
-
-typedef darr_t buffer_t;
-typedef darr_t token_stream_t;
-#define TOKEN_STREAM_AT(STREAM_DATA, INDEX) (((token_t *)(STREAM_DATA))[INDEX])
-
-const char *token_type_as_cstr(token_type_t type);
-lerr_t tokenise_buffer(buffer_t *, token_stream_t *);
-
-#endif