Files
Nasal-Interpreter/version1.0/nasal_var.h
Valk Richard Li f1de7b3a09 New update
2019-10-10 10:33:14 -05:00

61 lines
833 B
C++

#ifndef __NASAL_VAR_H__
#define __NASAL_VAR_H__
#include <cstring>
#include <list>
enum var_type
{
var_null=0xaa55,
var_number,
var_string,
var_list,
var_hash,
var_function
};
class nasal_list;
class nasal_hash;
class var
{
private:
void* ptr;
int type;
public:
var();
var(const var&);
~var();
var& operator=(const var& temp);
};
class nasal_list
{
private:
std::list<var> elem;
public:
nasal_list();
nasal_list(const nasal_list&);
};
class nasal_hash
{
private:
std::list<var> elem;
std::list<std::string> elem_name;
public:
nasal_hash();
nasal_hash(const nasal_hash&);
};
class nasal_function
{
private:
std::list<abstract_syntax_tree> root;
public:
nasal_function();
nasal_function(const nasal_function&);
};
#endif