001/**
002 * 
003 */
004package csheets.core.formula.lang;
005
006import csheets.core.*;
007import csheets.core.formula.*;
008
009/**
010 * Class for eval expressions
011 * 
012 * @author Andre
013 * 
014 */
015public class Eval implements Function {
016
017        /** the function parameters */
018        public static final FunctionParameter[] parameters = new FunctionParameter[] { new FunctionParameter(
019                        Value.Type.TEXT, "Expression", false,
020                        "An expression to evaluated in eval") };
021
022        @Override
023        public String getIdentifier() {
024                return "EVAL";
025        }
026
027        @Override
028        public Value applyTo(Expression[] args) throws IllegalValueTypeException {
029                return args[0].evaluate();
030        }
031
032        @Override
033        public FunctionParameter[] getParameters() {
034                return parameters;
035        }
036
037        @Override
038        public boolean isVarArg() {
039                return true;
040        }
041}