This commit is contained in:
2026-02-08 16:18:41 +01:00
parent 38f55d8e7c
commit 423ec4c798
4 changed files with 35 additions and 2 deletions

View File

@@ -74,6 +74,9 @@ public sealed class Generator(List<NodeDefinition> nodes)
case NodeStatementIf statement:
EmitStatementIf(statement);
break;
case NodeStatementWhile statement:
EmitStatementWhile(statement);
break;
default:
throw new ArgumentOutOfRangeException(nameof(node), node, null);
}
@@ -147,6 +150,18 @@ public sealed class Generator(List<NodeDefinition> nodes)
}
}
private void EmitStatementWhile(NodeStatementWhile statement)
{
var condition = EmitExpression(statement.Condition);
writer.WriteLine($"while ({condition})");
writer.WriteLine("{");
using (writer.Indent())
{
EmitStatement(statement.Block);
}
writer.WriteLine("}");
}
private string EmitExpression(NodeExpression node)
{
return node switch