Delete nasal_scalar.h

This commit is contained in:
Valk Richard Li 2020-03-03 10:04:17 +08:00 committed by GitHub
parent dc4ab9707e
commit 43234865f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 0 additions and 123 deletions

View File

@ -1,123 +0,0 @@
#ifndef __NASAL_SCALAR_H__
#define __NASAL_SCALAR_H__
class nasal_function
{
private:
std::map<std::string,int> local_scope;
abstract_syntax_tree function_root;
public:
nasal_function()
{
local_scope.clear();
function_root.set_clear();
return;
}
~nasal_function()
{
local_scope.clear();
function_root.set_clear();
return;
}
void set_clear()
{
local_scope.clear();
function_root.set_clear();
return;
}
nasal_function& operator=(const nasal_function& tmp)
{
local_scope=tmp.local_scope;
function_root=tmp.function_root;
return *this;
}
std::map<std::string,int>& get_local_scope()
{
return local_scope;
}
};
class nasal_scalar
{
private:
int type;
std::string var_string;
double var_number;
std::vector<int> var_array;
std::map<std::string,int> var_hash;
nasal_function var_func;
public:
nasal_scalar()
{
type=scalar_nil;
var_string="";
var_number=0;
var_array.clear();
var_hash.clear();
return;
}
nasal_scalar(const nasal_scalar& tmp)
{
type=tmp.type;
var_string=tmp.var_string;
var_number=tmp.var_number;
var_array =tmp.var_array;
var_hash =tmp.var_hash;
var_func =tmp.var_func;
return;
}
nasal_scalar& operator=(const nasal_scalar& tmp)
{
type=tmp.type;
var_string=tmp.var_string;
var_number=tmp.var_number;
var_array =tmp.var_array;
var_hash =tmp.var_hash;
var_func =tmp.var_func;
return *this;
}
void set_clear()
{
type=scalar_nil;
var_string.clear();
var_number=0;
var_array.clear();
var_hash.clear();
var_func.set_clear();
return;
}
void set_type(const int tmp_type)
{
// scalar_function is the last enum in enum::scalar_type
type=tmp_type>scalar_function? scalar_nil:tmp_type;
return;
}
void set_number(const double tmp_number)
{
var_number=tmp_number;
return;
}
void set_string(const std::string& tmp_str)
{
var_string=tmp_str;
return;
}
void vector_add_new_member(const int addr)
{
var_array.push_back(addr);
return;
}
void hash_add_new_member(const std::string member_name,const int addr)
{
if(var_hash.find(member_name)!=var_hash.end())
std::cout<<">> [Runtime] "<<member_name<<" exists."<<std::endl;
else
var_hash[member_name]=addr;
return;
}
int get_type() {return type;}
double get_number(){return var_number;}
std::string get_string(){return var_string;}
};
#endif