print & build visitor fixed and tested

This commit is contained in:
ProgramSnail 2023-04-26 01:02:53 +03:00
parent c34523bd4f
commit 66a5dcfb4a
14 changed files with 91 additions and 62 deletions

View file

@ -38,17 +38,8 @@ void PrintVisitor::Visit(Partition* node) {
case Partition::Interface:
out_ << "INTERFACE";
break;
case Partition::Core:
out_ << "CORE";
break;
case Partition::Lib:
out_ << "LIB";
break;
case Partition::Module:
out_ << "MODULE";
break;
case Partition::Exe:
out_ << "EXE";
case Partition::Code:
out_ << "CODE";
break;
}
out_ << " {\n";
@ -281,8 +272,8 @@ void PrintVisitor::Visit(TypeConstructorPattern* node) {
for (auto& parameter : node->parameters) {
if (!is_first) {
out_ << ")\n";
is_first = false;
}
is_first = false;
out_ << '(';
Visit(&parameter);
}
@ -514,8 +505,8 @@ void PrintVisitor::Visit(TypeConstructor* node) {
for (auto& parameter : node->parameters) {
if (!is_first) {
out_ << ")\n";
is_first = false;
}
is_first = false;
out_ << '(';
Visit(&parameter);
}
@ -735,4 +726,8 @@ void PrintVisitor::Visit(CharLiteral* node) {
out_ << "[Char " << node->value << "] ";
}
void PrintVisitor::Visit(UnitLiteral* node) {
out_ << "[Unit ()] ";
}
} // namespace interpreter