diff --git a/v0/parser.h b/v0/parser.h new file mode 100644 index 0000000..2c09a5a --- /dev/null +++ b/v0/parser.h @@ -0,0 +1,22 @@ +#ifndef PARSER_H +#define PARSER_H + +#include "ast.h" +#include "token.h" + +/** + * Parse a stream of tokens into a module. + * + * @param ts The TokenStream to read. + * @returns The parsed module. + */ +Module* parser_parse(TokenStream* ts); + +/** + * Frees the parsed AST. + * + * @param module The AST return by parser_parse. + */ +void parser_free(Module* module); + +#endif