Delete nasal_sym.h
This commit is contained in:
parent
43234865f5
commit
f53bbfef07
|
@ -1,53 +0,0 @@
|
||||||
#ifndef __NASAL_SYM_H__
|
|
||||||
#define __NASAL_SYM_H__
|
|
||||||
|
|
||||||
// all symbol_map use a same gc system named nasal_gc
|
|
||||||
// see detail of nasal_gc in "nasal_gc.h"
|
|
||||||
class sym_hash_map
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
std::map<std::string,int> sym_map;
|
|
||||||
public:
|
|
||||||
sym_hash_map()
|
|
||||||
{
|
|
||||||
sym_map.clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
sym_hash_map(const sym_hash_map& tmp)
|
|
||||||
{
|
|
||||||
sym_map=tmp.sym_map;
|
|
||||||
for(std::map<std::string,int>::iterator i=sym_map.begin();i!=sym_map.end();++i)
|
|
||||||
nasal_gc.reference_add(i->second);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
~sym_hash_map()
|
|
||||||
{
|
|
||||||
for(std::map<std::string,int>::iterator i=sym_map.begin();i!=sym_map.end();++i)
|
|
||||||
nasal_gc.reference_delete(i->second);
|
|
||||||
sym_map.clear();
|
|
||||||
nasal_gc.gc_scanner();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
void set_clear()
|
|
||||||
{
|
|
||||||
sym_map.clear();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
void add_new_symbol(std::string __sym_name)
|
|
||||||
{
|
|
||||||
if(sym_map.find(__sym_name)==sym_map.end())
|
|
||||||
sym_map[__sym_name]=nasal_gc.gc_alloc();
|
|
||||||
else
|
|
||||||
std::cout<<">> [Runtime] "<<__sym_name<<" exists."<<std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
int get_symbol_addr(std::string __sym_name)
|
|
||||||
{
|
|
||||||
if(sym_map.find(__sym_name)!=sym_map.end())
|
|
||||||
return sym_map[__sym_name];
|
|
||||||
else
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue