private Types.Object EvaluateWhileLoop(Node.WhileLoop node) { Types.List list = new Types.List(); while (Evaluate(node.Test).True()) { list.Concatenate(Evaluate(node.Loop)); } return(list); }
private Types.List EvaluateSequence(Node.Sequence node) { Types.List sequence = new Types.List(); Node.Sequence next = node; while (next != null) { sequence.AppendElement(Evaluate(next.E)); next = next.S; } return(sequence); }
private Types.Object EvaluateLoopWhile(Node.LoopWhile node) { Types.List list = new Types.List(); list.AppendElement(Evaluate(node.Loop)); while (Evaluate(node.Test).True()) { list.Concatenate(Evaluate(node.Loop)); } return(list); }