diff options
Diffstat (limited to 'include/parser.h')
-rw-r--r-- | include/parser.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/parser.h b/include/parser.h new file mode 100644 index 0000000..8207381 --- /dev/null +++ b/include/parser.h @@ -0,0 +1,23 @@ +#ifndef AMALGAM_PARSER_H +#define AMALGAM_PARSER_H + +#include "buffer.h" +#include "buffer_view.h" +#include "tokenizer.h" + +#define PARSER_OK 0 +/* General error */ +#define PARSER_ERR -1 +#define PARSER_UNEXPECTED_TOKEN -2 + +typedef struct { + Buffer ast_objects; + Tokenizer tokenizer; +} Parser; + +WARN_UNUSED_RESULT int parser_init(Parser *self); +void parser_deinit(Parser *self); + +WARN_UNUSED_RESULT int parser_parse_buffer(Parser *self, BufferView code_buffer); + +#endif |