#pragma once

#include <expression/Expression.h>
#include <string>
#include <vector>
#include <list>
#include <boost/shared_ptr.hpp>

class ExpressionUtils   
{
public:
    static const char PARAM_ESCAPE_SINGLE = '\'';
    static const char PARAM_ESCAPE_DOUBLE = '\"';
    static const char PARAMS_DELIM = ',';
    static const char PARAMS_ESCAPE = '\\';

    static AgString NULL_PARAM() { return "null"; }

    static std::vector<boost::shared_ptr<void> > getFunctionParameters(AgString paramsString, bool allowExpressions);
};
