⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcr.h

📁 我开发了一个基于MFC的语言翻译软件
💻 H
字号:
union ZMemory
{
	int iNumber;
	double dNumber;
	struct{union{int *iArray;double *dArray;};int length;};
};

enum ZOperator
{
	OP_AND,			//与
	OP_CALL,		// . a => 调用函数于地址a
	OP_CHANGESIGNALD,//改变符号
	OP_CHANGESIGNALI,//改变符号
	OP_COPYD,		//复制栈顶数值
	OP_COPYI,		//复制栈顶数值
	OP_D2I,			// . a => 实数变整数(地址为栈顶偏移a)
	OP_DELARRAYD,	// . a => 删除一个实数数组(a为数组头地址)
	OP_DELARRAYI,	// . a => 删除一个整数数组(a为数组头地址)
	OP_DELETE,		//删除栈顶数(栈顶指针减一)
	OP_EQUALD,		//等于
	OP_EQUALI,		//等于
	OP_EXIT,		//程序结束
	OP_GREATD,		//大于
	OP_GREATEQUALD,	//大于等于
	OP_GREATEQUALI,	//大于等于
	OP_GREATI,		//大于
	OP_I2D,			// . a => 整数变实数(地址为栈顶偏移a)
	OP_INPUTARRAYD,	// . a => 输入实型数组值(a位数组头位置,下标在栈顶)
	OP_INPUTARRAYI,	// . a => 输入整型数组值(a位数组头位置,下标在栈顶)
	OP_INPUTD,		// . a => 输入实数后存于地址a
	OP_INPUTI,		// . a => 输入整数后存于地址a
	OP_JUMP,		// . a => 跳转于地址a
	OP_JUMPC,		// . a => 条件跳转于地址a
	OP_LESSD,		//小于
	OP_LESSEQUALD,	//小于等于
	OP_LESSEQUALI,	//小于等于
	OP_LESSI,		//小于
	OP_LOADARRAYD,	// . a => 导入实数数组值(a为数组头地址,下标在栈顶)
	OP_LOADARRAYI,	// . a => 导入整数数组值(a为数组头地址,下标在栈顶)
	OP_LOADCONSTD,	// . a => 到入实常数a
	OP_LOADCONSTI,	// . a => 导入整常数a
	OP_LOADVARD,	// . a => 导入实数于地址a
	OP_LOADVARI,	// . a => 导入整数于地址a
	OP_MINUSD,		//减
	OP_MINUSI,		//减
	OP_MOD,			//余
	OP_NEWARRAYD,	// . a => 申请一个实数数组(a为数组头地址,长度在栈顶)
	OP_NEWARRAYI,	// . a => 申请一个整数数组(a为数组头地址,长度在栈顶)
	OP_NOT,			//非
	OP_NOTEQUALD,	//不等于
	OP_NOTEQUALI,	//不等于
	OP_NULL,		//空操作,用于标志函数的头尾
	OP_OR,			//或
	OP_OUTPUTD,		//输出实数
	OP_OUTPUTI,		//输出整数
	OP_OUTPUTS,		// . a => 输出字符串于实地址a
	OP_PARAMTRANSD,	//参数传递,(sd为参数数目)
	OP_PARAMTRANSI,	//参数传递,(sd为参数数目)
	OP_PLUSD,		//加
	OP_PLUSI,		//加
	OP_RETURN,		// . a => 函数返回(a为当前函数的参数数目)
	OP_RETURND,		// . a => 函数返回(a为当前函数的参数数目)
	OP_RETURNI,		// . a => 函数返回(a为当前函数的参数数目)
	OP_SAVEARRAYD,	// . a => 存储实数数组值(a为数组头地址,数值在栈顶,下标在栈次顶)
	OP_SAVEARRAYI,	// . a => 存储整数数组值(a为数组头地址,数值在栈顶,下标在栈次顶)
	OP_SAVED,		// . a => 存储于地址a
	OP_SAVEI,		// . a => 存储于地址a
	OP_SLASHD,		//除
	OP_SLASHI,		//除
	OP_TIMESD,		//乘
	OP_TIMESI,		//乘
};

union ZSecond{
	struct
	{
		int iNumber;
		int nParam;
	};
	double dNumber;
	char *string;
};

struct ZCode{
	ZOperator op;
	ZSecond sd;
};

⌨️ 快捷键说明

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