/* * par2serial-cc: parser.h - Recursive-descent parser */ #ifndef P2S_PARSER_H #define P2S_PARSER_H #include "ast.h" typedef struct { Token *tokens; size_t count; size_t pos; Arena *arena; int error_count; const char *filename; } Parser; Parser *parser_create(Arena *arena, Token *tokens, size_t count, const char *filename); ASTNode *parser_parse(Parser *p); /* returns NODE_PROGRAM */ #endif /* P2S_PARSER_H */