refactor(parser): change node handles to node results

Refs: #1
This commit is contained in:
2026-06-03 11:57:09 +02:00
parent a1b5726271
commit af982c11ed
11 changed files with 403 additions and 401 deletions
+8 -10
View File
@@ -54,20 +54,18 @@ public:
*
* @return Handle to an AST node of the program.
*/
ast::program_node_h parse() &;
ast::program_node_r parse() &;
private:
ast::declaration_node_h parse_declaration();
ast::statement_node_h parse_statement();
ast::expression_node_h parse_expression(std::uint32_t precedence = 16);
ast::literal_node_h parse_literal();
ast::declaration_node_r parse_declaration();
ast::statement_node_r parse_statement();
ast::expression_node_r parse_expression(std::uint32_t precedence = 16);
ast::literal_node_r parse_literal();
ast::expression_node_h parse_expression_primary();
ast::expression_node_h parse_expression_unary(std::uint32_t precedence);
ast::expression_node_h parse_expression_rhs(ast::expression_node_h&& init, std::uint32_t precedence);
ast::expression_node_r parse_expression_primary();
ast::expression_node_r parse_expression_unary(std::uint32_t precedence);
ast::expression_node_r parse_expression_rhs(ast::expression_node_r&& init, std::uint32_t precedence);
ast::body_r parse_body();
private:
static ast::node_handle<ast::node> error_handle(const token_r& result);
private:
token_r next_token();
const token_r& peek_token();