diff options
| author | Elis Eriksson <spelis@spelis.li> | 2026-06-19 21:39:16 +0200 |
|---|---|---|
| committer | Elis Eriksson <spelis@spelis.li> | 2026-06-19 21:39:16 +0200 |
| commit | cbdca328495a772716f14b1e95a7ab7d6450cc27 (patch) | |
| tree | 54b5c37a9a2d1b14e385e047980d7df99a56c331 /src/lexer.c | |
| parent | 7ccae1c362a45b28f4fbf96da4f479730e4b382b (diff) | |
| download | bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar.gz bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar.bz2 bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar.lz bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar.xz bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.tar.zst bfc-cbdca328495a772716f14b1e95a7ab7d6450cc27.zip | |
Improve the shit
No longer turing complete
No longer depends on libc (good thing)
Codegen is now unreadable (because i want it to be)
Remove a couple of unnecessary includes
Output C code to out.c when compiling
Why the fuck are you reading this?
Diffstat (limited to 'src/lexer.c')
| -rw-r--r-- | src/lexer.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/src/lexer.c b/src/lexer.c index 4f1fcd0..b4d11eb 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -1,9 +1,6 @@ #include "all.h" #include "ivec.h" -#include <stdint.h> -#include <stdio.h> #include <stdlib.h> -#include <string.h> lexer_t lex_init(str *src) { lexer_t lx = {0}; @@ -17,10 +14,8 @@ lexer_t lex_init(str *src) { void lex_run(lexer_t *lx) { for (size_t i = 0; i < lx->src->length; i++) { - char c = lx->src->data[i]; lex_tok_e tok; - switch (c) { case '+': tok = LEX_PINC; @@ -49,24 +44,19 @@ void lex_run(lexer_t *lx) { default: continue; } - iv_push(&lx->tokens, tok); } - iv_push(&lx->tokens, LEX_EOF); } void lex_free(lexer_t *lx) { if (!lx) return; - iv_free(&lx->tokens); - if (lx->src) { free(lx->src->data); free(lx->src); } - lx->src = NULL; lx->pos = 0; } |
