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

📄 loopopti.h

📁 SNL语言的编译器
💻 H
字号:
// loopOpti.h: interface for the CloopOpti class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LOOPOPTI_H__E7EBD917_70E0_49DD_840D_9136C00AA5AE__INCLUDED_)
#define AFX_LOOPOPTI_H__E7EBD917_70E0_49DD_840D_9136C00AA5AE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "global.h"

class CloopOpti : public Cglobal  
{
public:
	CloopOpti();
	virtual ~CloopOpti();

/**************变量声明*****************/

/*变量定值表,用变量的arg结构表示变量*/
 ArgRecord  *varTable[100];
 int  TotalNum;

/*循环信息栈*/
LoopStack  *loopTop ;
bool  loopStackEmpty;


/**************实用函数*****************/

void  PushLoop(LoopInfo  *t);

LoopInfo *PopLoop();


//重复:各个优化都有。
void  PrintMidCode(CodeFile  *firstCode);

void  PrintOneCode(CodeFile  *code);

void  PrintCodeName(CodeKind kind);

void  PrintContent(ArgRecord  *arg);
//

/***************循环不变式的函数声明********************/

Cglobal::CodeFile * LoopOpti(CodeFile *firstCode);

void      whileEntry(CodeFile *code);

void      whileEnd(CodeFile *code);

void      call(CodeFile  *code);

void	  LoopOutside(CodeFile  *entry);

int  	  SearchTable(ArgRecord  *arg , int  head);

void      DelItem(ArgRecord  *arg, int head);

void      AddTable(ArgRecord *arg);

void      printVarTable();


};

#endif // !defined(AFX_LOOPOPTI_H__E7EBD917_70E0_49DD_840D_9136C00AA5AE__INCLUDED_)

⌨️ 快捷键说明

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