ccode.h

来自「pl0文法编译器」· C头文件 代码 · 共 35 行

H
35
字号
#ifndef __CCODE_H
#define __CCODE_H

class PL0Compiler;
#include "SymSet.h"
#include <fstream>
using namespace std;

class CCode
{
public:
	CCode(PL0Compiler *p);

public:
	void gen(OPCode insCode, int lev, float val);
	void list();
	int getTopIndex(){return (codeStack.size()-1);}
	void stringEnter(string str);//向stringstack压入符号串
	void setAdr(int index, int adr){codeStack[index].a=adr;}
	void writeToFile(string outFileName);
	int getStringID(){return stringStack.size()-1;}

private:
	CodeStack codeStack;//活动记录
	vector<string> stringStack;//字符串栈,用于输出函数调用
	int IP;//当前指令寄存器
	int PC;//下一条执行指令地址寄存器
	//int lnNum;
	int idxOfStringStack;
	
	PL0Compiler *pl0Compiler;
};


#endif//CCode.h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?