lexer.h (541B)
#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include "token.h"
/////////////////////////////////////////////////
typedef struct Lexer_State {
size_t pos;
size_t line;
size_t col;
} Lexer_State;
typedef struct Lexer {
const char* code;
size_t code_len;
const char* path;
const char* filename;
Lexer_State state;
Token* tokens;
size_t len;
size_t cap;
} Lexer;
/////////////////////////////////////////////////
Lexer* lexer_lex(Lexer* lexer);