示例#1
0
        // Absolute values
        private ExpressionValue ParseLiteralNode(LiteralNode literalNode)
        {
            switch (literalNode.GetQValueType())
            {
            case QValueType.BOOLEAN:
                return(new ExpressionBool(new string[0], () => { return bool.Parse(literalNode.Value); }));

            case QValueType.INTEGER:
                return(new ExpressionInt(new string[0], () => { return int.Parse(literalNode.Value); }));

            case QValueType.MONEY:
                return(new ExpressionDouble(new string[0], () => { return double.Parse(literalNode.Value); }));

            default:
                throw new NotImplementedException();
            }
        }
        private ExpressionValue ParseLiteralNode(LiteralNode literalNode)
        {
            switch (literalNode.GetQValueType())
            {
            case QValueType.Boolean:
                return(new ExpressionBool(new string[0], () => QValueTypeParser.ParseBoolean(literalNode.Value)));

            case QValueType.Integer:
                return(new ExpressionInt(new string[0], () => QValueTypeParser.ParseInteger(literalNode.Value)));

            case QValueType.Double:
            case QValueType.Money:
                return(new ExpressionDouble(new string[0], () => QValueTypeParser.ParseDouble(literalNode.Value)));

            case QValueType.Text:
                return(new ExpressionText(new string[0], () => QValueTypeParser.ParseText(literalNode.Value)));

            case QValueType.Hex:
                return(new ExpressionHex(new string[0], () => QValueTypeParser.ParseHexadecimal(literalNode.Value)));

            default:
                throw new NotImplementedException();
            }
        }