public static void CombineWith(Interpreter.Sequence receiver, string line, BinaryOperation Combine) { string left = "", op = "", right = ""; if (Interpreter.Sequence.SplitTrinomial(ref left, ref op, ref right, line, Operators.assignops, Patterns.getbinaryop)) { if (Operators.right_to_left.Contains(op)) { receiver.ParseLeftValueExpression(left, Combine(receiver.Expression(left), receiver.Expression(right))); } else if (Operators.left_to_right.Contains(op)) { receiver.ParseLeftValueExpression(right, Combine(receiver.Expression(right), receiver.Expression(left))); } } else { throw new FormatException("Not a valid assign-statement."); } }
public static void InputLine(Interpreter.Sequence receiver, string line) { receiver.ParseLeftValueExpression(line, Console.ReadLine()); }
public static void Decrement(Interpreter.Sequence receiver, string line) { receiver.ParseLeftValueExpression(line, Algorithms.Arithmetic.Difference(receiver.Expression(line), 1L)); }
public static void Clear(Interpreter.Sequence receiver, string line) { receiver.ParseLeftValueExpression(line, null); }