Support procedures returning values

This commit is contained in:
2025-01-18 21:30:11 +01:00
parent a79def50e5
commit 7b36a3803f
10 changed files with 217 additions and 73 deletions

View File

@ -28,12 +28,6 @@ namespace gcc
&& TYPE_MAIN_VARIANT(TREE_TYPE(type)) == char_type_node;
}
bool is_array_type(tree type)
{
gcc_assert(TYPE_P(type));
return TREE_CODE(type) == ARRAY_TYPE;
}
tree tree_chain_base::head()
{
return first;
@ -76,7 +70,16 @@ namespace gcc
std::shared_ptr<elna::source::symbol_table<tree>> builtin_symbol_table()
{
return std::make_shared<elna::source::symbol_table<tree>>();
std::shared_ptr<elna::source::symbol_table<tree>> initial_table =
std::make_shared<elna::source::symbol_table<tree>>();
initial_table->enter("Int", source::make_info(integer_type_node));
initial_table->enter("Bool", source::make_info(boolean_type_node));
initial_table->enter("Float", source::make_info(double_type_node));
initial_table->enter("Char", source::make_info(elna_char_type_node));
initial_table->enter("String", source::make_info(elna_string_type_node));
return initial_table;
}
}
}