statements builders start

This commit is contained in:
ProgramSnail 2023-07-22 19:49:52 +03:00
parent 0e6d4bd67f
commit 64a91299ff
3 changed files with 107 additions and 5 deletions

View file

@ -0,0 +1,41 @@
#pragma once
#include "statement_nodes.hpp"
#include "tree_sitter_wrapper.hpp"
namespace builders {
// IN PROGRESS: return type, etc.
void build_source_file(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
// IN PROGRESS: return type, etc.
void build_statement(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
nodes::Import build_import(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
nodes::Constraint build_constraint(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
nodes::TypeDefinition
build_type_definition(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
nodes::FunctionDefinition
build_function_definition(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
nodes::TypeclassDefinition
build_typeclass_definition(parser::ParseTree::Node parse_node,
nodes::ExpressionStorage &expression_storage,
nodes::TypeStorage &type_storage);
} // namespace builders