91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.11MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-04
  • 語言: C/C++
  • 標簽: SNL??

資源簡介

從詞法分析到目標代碼生成 各個部分都有。

資源截圖

代碼片段和文件信息

//?analyze.cpp:?implementation?of?the?Canalyze?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“face.h“
#include?“analyze.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

Canalyze::Canalyze()
{
??/*scope棧的層數*/
??Level=-1;

??intPtr?=?NULL; /*該指針一直指向整數類型的內部表示*/
??charPtr?=?NULL; /*該指針一直指向字符類型的內部表示*/
??boolPtr?=?NULL; /*該指針一直指向布爾類型的內部表示*/
??
??Error?=?false;
}

Canalyze::~Canalyze()
{

}

/*********************實用函數實現***************************/

/**********************************************************/
/****************???符號表相關操作???**********************/
/**********************************************************/


/********************************************************/
/*?函數名??PrintFieldTable */
/*?功??能??打印紀錄類型的域表 */
/*?說??明 ????????*/
/********************************************************/
void???Canalyze::PrintFieldChain(fieldChain??*currentP)
{?
??fprintf(listing“\n--------------Field??chain--------------------\n“);
??fieldChain??*t=currentP;
??while?(t!=NULL)
??{?/*輸出標識符名字*/
fprintf(listing?“%s:??“t->id?);
/*輸出標識符的類型信息*/

switch(t->UnitType->kind)
{case??intTy?:??fprintf(listing?“intTy?????“);???break;
?case??charTy: fprintf(listing?“charTy????“);??break;
?case??arrayTy:?fprintf(listing?“arrayTy???“);?break;
?case??recordTy:fprintf(listing?“recordTy??“);break;
?default?:?fprintf(listing?“error??type!??“);?break;
}
????fprintf(listing?“off?=?%d\n“t->off);?

??t?=?t->Next;
??}
}
/********************************************************/
/*?函數名??PrintOnelayer */
/*?功??能??打印符號表的一層 */
/*?說??明??有符號表打印函數PrintSymbTable調用 ????????*/
/********************************************************/
void??Canalyze::PrintOnelayer(int?level)
{
??SymbTable??*t=?scope[level];
??fprintf(listing“\n-------SymbTable??in?level?%d?---------\n“level);

??while?(t!=NULL)
??{?/*輸出標識符名字*/
fprintf(listing?“%s:???“t->idName);
AttributeIR??*Attrib?=?&(t->attrIR?);
/*輸出標識符的類型信息,過程標識符除外*/
if?(Attrib->idtype!=NULL)??/*過程標識符*/
???switch(Attrib->idtype->kind)
{case??intTy?:??fprintf(listing?“intTy??“);???break;
?case??charTy: fprintf(listing?“charTy??“);??break;
?case??arrayTy:?fprintf(listing?“arrayTy??“);?break;
?case??recordTy:fprintf(listing?“recordTy??“);break;
?default?:?fprintf(listing?“error??type!??“);?break;
}
/*輸出標識符的類別,并根據不同類型輸出不同其它屬性*/
switch(Attrib->kind)
{case??typeKind?:?
??????fprintf(listing?“typekind??“);?break;
?case??varKind?:
??fprintf(listing?“varkind??“);
??fprintf(listing?“Level?=?%d??“?Attrib->More.VarAttr.level);
??fprintf(listing?“Offset=?%d??“?Attrib->More.VarAttr.off

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-03-23?08:44??源代碼\
?????文件????????1531??2002-08-28?00:00??源代碼\ChildFrm.cpp
?????文件????????1397??2002-08-28?00:00??源代碼\ChildFrm.h
?????目錄???????????0??2012-03-23?08:44??源代碼\Debug\
?????文件???????14734??2003-10-23?09:51??源代碼\Debug\ChildFrm.obj
?????文件???????18825??2003-10-23?09:51??源代碼\Debug\MainFrm.obj
?????文件??????105341??2003-10-23?09:51??源代碼\Debug\StdAfx.obj
?????文件???????55294??2003-10-23?09:51??源代碼\Debug\analyze.obj
?????文件????????9753??2003-10-23?09:51??源代碼\Debug\comhelp.obj
?????文件???????27853??2003-10-23?09:51??源代碼\Debug\constopti.obj
?????文件???????35499??2003-10-23?09:51??源代碼\Debug\eccOpti.obj
?????文件?????2506799??2004-02-18?10:35??源代碼\Debug\face.exe
?????文件?????2868512??2004-02-18?10:35??源代碼\Debug\face.ilk
?????文件???????27370??2003-10-23?09:51??源代碼\Debug\face.obj
?????文件?????5455508??2003-10-23?09:51??源代碼\Debug\face.pch
?????文件?????4695040??2004-02-18?10:35??源代碼\Debug\face.pdb
?????文件???????23896??2004-02-18?10:35??源代碼\Debug\face.res
?????文件???????13212??2003-10-23?09:51??源代碼\Debug\faceDoc.obj
?????文件??????108290??2003-10-23?09:51??源代碼\Debug\faceView.obj
?????文件???????12759??2003-10-23?09:51??源代碼\Debug\font.obj
?????文件????????4830??2003-10-23?09:51??源代碼\Debug\global.obj
?????文件???????11967??2003-10-23?09:51??源代碼\Debug\inNum.obj
?????文件???????12084??2003-10-23?09:51??源代碼\Debug\indialog.obj
?????文件???????26516??2003-10-23?09:51??源代碼\Debug\loopOpti.obj
?????文件???????35096??2003-10-23?09:51??源代碼\Debug\midcode.obj
?????文件???????50858??2003-10-23?09:51??源代碼\Debug\midtodemi.obj
?????文件???????11658??2003-10-23?09:51??源代碼\Debug\oleobject.obj
?????文件????????6309??2003-10-23?09:51??源代碼\Debug\oleobjects.obj
?????文件???????87531??2003-10-23?09:51??源代碼\Debug\parse.obj
?????文件??????133075??2003-10-23?09:51??源代碼\Debug\parseLL1.obj
?????文件????????5301??2003-10-23?09:51??源代碼\Debug\picture.obj
............此處省略93個文件信息

評論

共有 條評論