static SyntaxTreeNode UnaryOperation(Operator op, SyntaxTreeNode argumentExpression) { return(new ArithmeticOperation(op.Name, argumentExpression)); }
static bool LookingAtOperator(TextReader input) { return(Operator.IsOperator(PeekOperator(input))); }
static Operator ReadOperator(TextReader input) { SwallowWhitespace(input); return(Operator.Lookup(new string((char)input.Read(), 1))); }
static int NextOperatorPrecedence(TextReader input) { return(Operator.Lookup(PeekOperator(input)).Precedence); }