mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 23:04:08 +10:00
28 lines
598 B
C
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);
|