aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.h')
-rw-r--r--src/lexer.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lexer.h b/src/lexer.h
new file mode 100644
index 0000000..f710d3d
--- /dev/null
+++ b/src/lexer.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "tokens.h"
+#include <stdbool.h>
+
+typedef struct {
+ char *src;
+ i64 len;
+ i64 pos;
+
+ char *filename;
+ i64 line;
+ i64 col;
+} Lexer;
+
+Lexer Lexer_new(char *filename, char *src, i64 len);
+
+Token Lexer_next(Lexer *lexer);
+Token Lexer_peek(Lexer *lexer); \ No newline at end of file