aboutsummaryrefslogtreecommitdiff
path: root/boot/validation.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-09-02 13:31:04 +0200
committerEugen Wissner <belka@caraus.de>2026-09-07 10:53:02 +0200
commit47521ad6d85f9bd6caee39696ce40dff82cfa50d (patch)
treecf5813033a440c6ac374948894d5dd70e0712cdb /boot/validation.cc
parent0fada11e99da430e9a056e46da9f0e110df6c45c (diff)
downloadelna-47521ad6d85f9bd6caee39696ce40dff82cfa50d.tar.gz
Implement program entry point
Diffstat (limited to 'boot/validation.cc')
-rw-r--r--boot/validation.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/boot/validation.cc b/boot/validation.cc
index b046b4e..91dc064 100644
--- a/boot/validation.cc
+++ b/boot/validation.cc
@@ -79,9 +79,12 @@ namespace elna::boot
{
procedure->accept(this);
}
- for (auto *entry_statement : unit->entry_point)
+ if (unit->entry_point.has_value())
{
- entry_statement->accept(this);
+ for (auto *entry_statement : unit->entry_point->statements)
+ {
+ entry_statement->accept(this);
+ }
}
}
@@ -91,7 +94,7 @@ namespace elna::boot
{
auto procedure = this->bag.lookup(declaration->identifier.name())->is_procedure();
this->bag.enter(procedure->scope);
- for (auto *statement : declaration->body.value().entry_point)
+ for (auto *statement : declaration->body.value().statements)
{
statement->accept(this);
}