0.简介
在生成中间码之间,要设计好一个运行内存模型。这里直接就用数组来代替内存空间。
1.内存
class Memory
{
public:
Memory()
{
//初始化内存
memory = new char[8192];
}
//生成中间代码用的地址分配计数器
int address = 0;
//内存空间
int esp=0;
int ebp = 0;
int malloc(int size)
{
return address+=size;
}
char & operator[](int addr)
{
return memory[addr];
}
char * memory;
~Memory(){}
};
同时我们还需要对内存的使用和分配做工作。暂时先用这个类,后面再根据情况继续完善。