public override string AST(int depth = 0) { return($"{Spaces(depth)}[{Name}\n" + $"{Expression.AST(depth + 1)}" + $"{Statement.AST(depth + 1)}" + $"{Spaces(depth)}]\n"); }
public override string AST(int depth = 0) { return($"{Spaces(depth)}[{Name}\n" + $"{Expression.AST(depth + 1)}" + $"{TrueBranch.AST(depth + 1)}" + (FalseBranch is NoOpNode ? "" : $"{FalseBranch.AST(depth + 1)}") + $"{Spaces(depth)}]\n"); }
public override string AST(int depth = 0) { return($"{Spaces(depth)}[{Name}" + $"{(Expression is NoOpNode ? "" : $"\n{Expression.AST(depth + 1)}{Spaces(depth)}")}" + "]\n"); }