Files
Toy/source/toy_parser.h
2024-11-10 10:27:50 +11:00

28 lines
598 B
C

#pragma once
#include "toy_common.h"
#include "toy_lexer.h"
#include "toy_ast.h"
typedef struct Toy_Parser {
Toy_Lexer* lexer;
//last two outputs
Toy_Token current;
Toy_Token previous;
bool error;
bool panic; //currently processing an error
//configs
bool removeAssert;
} Toy_Parser;
TOY_API void Toy_bindParser(Toy_Parser* parser, Toy_Lexer* lexer);
TOY_API Toy_Ast* Toy_scanParser(Toy_Bucket** bucketHandle, Toy_Parser* parser);
TOY_API void Toy_resetParser(Toy_Parser* parser);
//configure certain options
TOY_API void Toy_configureParser(Toy_Parser* parser, bool removeAssert);