资源简介
编译原理 for 条件语句,while 语句的翻译及各种地质输出,大家慢慢找

代码片段和文件信息
#include“expression.h“
using namespace std;
//--------------变量定义------------------------
int predicateTable[7][11]=//预测分析表
{
{12000000000}
{014403000000}
{00050000000}
{00000060000}
{00000700000}
{0000000118910}
{1300012000000}
};
typedef struct Formula//产生式的结构体
{
string leftsec;
string*rightsec;
int rightnum;
}Form;
Formula formula[15];//定义产生式
//----------------函数定义---------------
void InitFormula()//初始化产生式
{
formula[1].leftsec=“S“;
formula[1].rightsec=new string [5];
formula[1].rightsec[0]=“do“;
formula[1].rightsec[1]=“T“;
formula[1].rightsec[2]=“while“;
formula[1].rightsec[3]=“E“;
formula[1].rightsec[4]=“K“;
formula[1].rightnum=5;
formula[2].leftsec=“S“;
formula[2].rightsec=new string [2];
formula[2].rightsec[0]=“ndo“;
formula[2].rightsec[1]=“D“;//and do pre ndo
formula[2].rightnum=2;
formula[3].leftsec=“K“;
formula[3].rightsec=new string [1];
formula[3].rightsec[0]=“}“;
formula[3].rightnum=1;
formula[4].leftsec=“K“;
string * temp=new string(““);
formula[4].rightsec=temp;
formula[4].rightnum=0;
formula[5].leftsec=“T“;
formula[5].rightsec=new string [2];
formula[5].rightsec[0]=“{“;
formula[5].rightsec[1]=“S“;
formula[5].rightnum=2;
formula[6].leftsec=“E“;
formula[6].rightsec=new string [5];
formula[6].rightsec[0]=“(“;
formula[6].rightsec[1]=“A“;
formula[6].rightsec[2]=“op“;
formula[6].rightsec[3]=“A“;
formula[6].rightsec[4]=“)“;
formula[6].rightnum=5;
formula[7].leftsec=“A“;
formula[7].rightsec=new string [1];
formula[7].rightsec[0]=“i“;
formula[7].rightnum=1;
formula[8].leftsec=“op“;
formula[8].rightsec=new string [1];
formula[8].rightsec[0]=“<“;
formula[8].rightnum=1;
formula[9].leftsec=“op“;
formula[9].rightsec=new string [1];
formula[9].rightsec[0]=“>“;
formula[9].rightnum=1;
formula[10].leftsec=“op“;
formula[10].rightsec=new string [1];
formula[10].rightsec[0]=“==“;
formula[10].rightnum=1;
formula[11].leftsec=“op“;
formula[11].rightsec=new string [1];
formula[11].rightsec[0]=“<=“;
formula[11].rightnum=1;
formula[12].leftsec=“D“;
formula[12].rightnum=1;
formula[12].rightsec=new string [1];
formula[12].rightsec[0]=“}“;
formula[13].leftsec=“D“;
formula[13].rightnum=1;
formula[13].rightsec=new string [1];
formula[13].rightsec[0]=“S“;
formula[14].leftsec=“K“;
formula[14].rightnum=2;
formula[14].rightsec=new string [2];
formula[14].rightsec[0]=“ndo“;
formula[14].rightsec[1]=“}“;
};
void ClearVar()//清空全局变量
{
for(int i=0;i<50;i++)
sstack[i]=““;
sorcecode.clear();
while(!sStack.empty())
sStack.pop();
index=‘0‘;
}
int retX(string &x)//定位产生式辅助函数
{
if(x==“S“)
return 0;
else if(x==“K“)
return 1;
else if(x==“T“)
return 2;
else if(x==“E“)
return 3;
else if(x==“A“)
return 4;
else if(x==“op“)
return 5;
else if(x==“D“)
return 6;
else //error
return -1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 82944 2009-06-21 21:11 词法分析\Debug\vc60.idb
文件 110592 2009-06-21 21:11 词法分析\Debug\vc60.pdb
文件 602192 2009-06-21 21:11 词法分析\Debug\词法分析.exe
文件 829592 2009-06-21 21:11 词法分析\Debug\词法分析.ilk
文件 377509 2009-06-21 21:11 词法分析\Debug\词法分析.obj
文件 2009656 2009-05-01 02:43 词法分析\Debug\词法分析.pch
文件 1139712 2009-06-21 21:11 词法分析\Debug\词法分析.pdb
文件 4096 2009-06-18 22:25 词法分析\Debug\词法分析.suo
文件 102 2009-06-21 17:37 词法分析\inputword.txt
文件 341 2009-06-21 21:11 词法分析\outputword.txt
文件 43376 2009-06-21 21:10 词法分析\词法分析.cpp
文件 3427 2009-06-21 21:11 词法分析\词法分析.dsp
文件 541 2009-06-21 21:12 词法分析\词法分析.dsw
文件 50176 2009-06-21 21:12 词法分析\词法分析.ncb
文件 48640 2009-06-21 21:12 词法分析\词法分析.opt
文件 702 2009-06-21 21:11 词法分析\词法分析.plg
目录 0 2009-06-21 21:11 词法分析\Debug
目录 0 2009-06-21 21:12 词法分析
----------- --------- ---------- ----- ----
5303598 18
- 上一篇:C8051F全系列代码例程
- 下一篇:Opengles2.0地球
相关资源
- MySQL Notes For Professionals
- Microsoft Forms 2.0107770
- IAR FOR 430 破解工具
- pscad近海风电模型 Fortran语言
- Xamarin forms 手势事件
- 弹塑性力学Fortran算例
- IAR For ARM 7.3最新注册机
- IAR for MSP430 v7.10.1 注册机
- IAR For ARM V5.5 注册机
- IAR for ARM 7.40 破解
- IAR For ARM 7.4 破解
- 联想y470无线网卡驱动 for 32位64位
- 最新版TTF16.OCX Formula One v. 6.1.6.2 控件
- 编译原理实验工具及参考源码(lex&
- 类pascal语言编译器(编译原理实验)
- 通风网络解算程序 fortran90
- Winform倒计时器
- 编译原理课程设计:词法语法编译器
- 中科院 编译原理 习题及解答
- 编译原理四元式和逆波兰式
- WinForm属性编辑 propertyGrid示例 仿wind
- Winform调用系统的剪切,复制,粘贴文
- 《编译原理》清华大学版中的pl0扩充
- PL/0功能扩充break功能
- winform跨窗体传值
- 关于角点检测算法HarrisForstner经典算子
- 编译原理LR(0)语法分析
- 编译原理中间代码生成程序
- Fortran常用算法程序集-徐士良(配套程
- 大气科学常用FORTRAN程序
评论
共有 条评论