loopopti.h
来自「一个很全的编译器程序,有各种文法的代码,各种方法都分开写的」· C头文件 代码 · 共 72 行
H
72 行
// 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 + =
减小字号Ctrl + -
显示快捷键?