aboutsummaryrefslogtreecommitdiffstats
path: root/src/lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.c')
-rw-r--r--src/lexer.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lexer.c b/src/lexer.c
index 2d2b6fc..2feba2a 100644
--- a/src/lexer.c
+++ b/src/lexer.c
@@ -1,3 +1,6 @@
1#ifndef LEXER_C
2#define LEXER_C
3
1#include "badlib.h" 4#include "badlib.h"
2 5
3#define LEXER_MEM GB(2) 6#define LEXER_MEM GB(2)
@@ -610,3 +613,19 @@ scan_token(Scanner *scanner) {
610 } 613 }
611 return emit_token(current, scanner, TOK_SYMBOL); 614 return emit_token(current, scanner, TOK_SYMBOL);
612} 615}
616
617void
618print_token(Token tok) {
619 println("%d:%d\t%s %s", tok.line, tok.col, token_str[tok.kind], tok.val);
620}
621
622void
623print_tokens(Str path, Token *tokens) {
624 for (sz i = 0; i < array_size(tokens); i++) {
625 Token tok = tokens[i];
626 print("%s:", path);
627 print_token(tok);
628 }
629}
630
631#endif // LEXER_C