aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.h
blob: b7f3db2b7dcb891aa24a4b4107c3967a791ffeaa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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);