private Operand ParseOperand() { var operand = TryExtractVariants(new Func <AstNode>[] { ParseReceiver, ParseReference, () => ParseLiteral(false), }); if (operand == null) { var t = NextToken(); throw SyntaxError.Make(SyntaxErrorMessages.OPERAND_EXPECTED, t); } var node = new Operand(); node.AddChild(operand); return(node); }