#pragma once #include "defs.h" #include "utils.h" DECLARE_VEC(Chunk, ChunkVec) DECLARE_VEC(Token, TokenVec) typedef struct { RegionVec regions; TokenVec tokens; ChunkVec chunks; } PreprocArena; typedef struct { TokenVec top_tokens; RegionVec reg_arena; } LexResult; TokenPtrVec lex(char* input, PreprocArena* arena);