code.h

来自「c语言做的pl0编译器」· C头文件 代码 · 共 34 行

H
34
字号
// code.h: interface for the code class.
//////////////////////////////////////////////////////////////////////
#ifndef __CODE_H
#define __CODE_H
#include "yufa.h"
#define CODE_SIZE	200               //可容纳代码行数
#define RUN_STACK_SIZE	500	          //runtime stack size
enum fct {lit,opr,lod,sto,cal,intint,jmp,jpc};

struct instruction
{
	fct f;	                          //fuction code
	int l;	                          //level
	int a;	                          //displacement addr
};
class Ccode
{
friend class CYufa;
public:
	Ccode(){cx=0;}
	void Gen(fct f,int l,int a);
	void ListCode();
	void Interpret();

private:
	instruction code[CODE_SIZE];
	int cx;                           //指令数组的索引值
	int b;	                          //堆栈基址
	int s[RUN_STACK_SIZE];	          //数据存储
private:
	int base(int l);
};

#endif

⌨️ 快捷键说明

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