mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-24 07:48:45 +00:00
print & build visitor fixed and tested
This commit is contained in:
parent
c34523bd4f
commit
66a5dcfb4a
14 changed files with 91 additions and 62 deletions
|
|
@ -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(¶meter);
|
||||
}
|
||||
|
|
@ -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(¶meter);
|
||||
}
|
||||
|
|
@ -735,4 +726,8 @@ void PrintVisitor::Visit(CharLiteral* node) {
|
|||
out_ << "[Char " << node->value << "] ";
|
||||
}
|
||||
|
||||
void PrintVisitor::Visit(UnitLiteral* node) {
|
||||
out_ << "[Unit ()] ";
|
||||
}
|
||||
|
||||
} // namespace interpreter
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue