aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.h
diff options
context:
space:
mode:
authorMustafa Quraish <[email protected]>2022-01-30 01:19:54 -0500
committerMustafa Quraish <[email protected]>2022-01-30 01:19:54 -0500
commit5b87ec6ef2b84f1d319e5376bcf9eedea9829d79 (patch)
treef1afa80f034a1cd73192510046978435252e1160 /src/lexer.h
parentRemove return-0 example (diff)
downloadcup-5b87ec6ef2b84f1d319e5376bcf9eedea9829d79.tar.xz
cup-5b87ec6ef2b84f1d319e5376bcf9eedea9829d79.zip
Rename `cup` directory to `src`
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