资源简介
河北工业大学2015级学长倾情推荐,完全是学长手动编程,未借鉴网络上任何代码,绝对能帮你实验获得好成绩。

代码片段和文件信息
# include
# include
# include
# include
# define LB 0//(
# define RB 1//)
# define PL 2//+
# define MI 3//-
# define MU 4//*
# define DI 5// /
# define II 6
# define WE 7//#
# define e 8
# define t 9
# define f 10
# define BEGIN 11
# define END 12
# define IF 13
# define THEN 14
# define ELSE 15
# define WHILE 16
# define DO 17
# define ID 18
# define FCON 19
# define LT 20
# define LE 21
# define EQ 22
# define NE 23
# define GT 24
# define GE 25
# define PU 26
# define PLU 27
# define MIN 28
# define MUL 29
# define DIV 30
# define IS 31
#define idlen 20//此编译程序允许标识符的最大长度
#define MAXLENGTH 10;//将最大长度设置为10
#define MAX_KEY_NUMBER 20 //此编译程序允许的最大关键字数量
#define KEY_WORD_END “waiting for your expanding“
char *KeyWordTable[MAX_KEY_NUMBER]={“begin““end“ “if“ “then“ “else“ “while““do“KEY_WORD_END};//要添加关键字
void analyse();
void push(intstruct type);
void act(int);
int advance(struct type);//函数声明
char TOKEN[idlen];//存储从文档中读取的字符串
char *temp;
int NXTemp = 0;/*整型变量NXTemp指示临时变量的编号*/
struct type{
char prename[idlen];//规约前的name和临时变量的结果
char name;
float num;
}type1type2type11type12;//type1表示经过词法分析后读入的词的类型,若是浮点型,则name有值,type2表示规约出的表达式
struct type a[100];//a是分析栈
int c[100];//c是状态栈
int k = 0;//分析栈指针
int TopStat;//SLR1分析表的行
int InpSym;//SLR1分析表的列
int ifSpace = 0;//读入的是否是空格、制表等无意义字符
int isRight = 1;//文法正确标志位
int endtext = 0;//文档结束标志位
int signal = 0;//判断输入浮点型数字时是否重复输入小数点的标志位
int lookup (char *token)
{
int n=0;
while (strcmp(KeyWordTable[n] KEY_WORD_END)) //strcmp比较两串是否相同,若相同返回0
{
if (!strcmp(KeyWordTable[n] token)) //比较token所指向的关键字和保留字表中哪个关键字相符
{
return n+11; //根据单词分类码表I,设置正确的关键字类别码,并返回此类别码的值
break;
}
n++;
}
return 0; //单词不是关键字,而是标识符
}
void out(int identifychar *tokenFILE *f2){
switch(identify){
case BEGIN:
fprintf(f2“(begin%s)\n“token);
break;
case END:
fprintf(f2“(end%s)\n“token);
break;
case IF:
fprintf(f2“(if%s)\n“token);
break;
case THEN:
fprintf(f2“(then%s)\n“token);
break;
case ELSE:
fprintf(f2“(else%s)\n“token);
break;
case WHILE:
fprintf(f2“(while%s)\n“token);
break;
case DO:
fprintf(f2“(do%s)\n“token);
break;
case ID:
fprintf(f2“(ID%s)\n“token);
type1.name = ‘i‘;
strcpy(type1.prenametoken);
break;
case FCON:
fprintf(f2“(FCON%s)\n“token);
type1.name = ‘i‘;
type1.num = (float) atoi(token);
strcpy(type1.prenametoken);
break;
case LE:
fprintf(f2“(LE%s)\n“token);
break;
case NE:
fprintf(f2“(NE%s)\n“token);
break;
case LT:
fprintf(f2“(LT%s)\n“token);
break;
case EQ:
fprintf(f2“(EQ%s)\n“token);
break;
case GE:
fprintf(f2“(GE%s)\n“token);
break;
case GT:
fprintf(f2“(GT%s)\n“token);
break;
case PU:
fprintf(f2“(PU %s )\n“token);
break;
case PLU:
fprintf(f2“(PLU %s )\n“token);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-10 20:38 河北工业大学编译原理实验代码及实验报告\
目录 0 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\
文件 12232 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\byyl 1+2+3.cpp
文件 4276 2017-12-24 21:29 河北工业大学编译原理实验代码及实验报告\byyl 153123\byyl.dsp
文件 547 2017-12-24 21:29 河北工业大学编译原理实验代码及实验报告\byyl 153123\byyl.dsw
文件 33792 2017-12-24 21:34 河北工业大学编译原理实验代码及实验报告\byyl 153123\byyl.ncb
文件 1324 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\byyl.plg
目录 0 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\
文件 32929 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\byyl 1+2+3.obj
文件 213057 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\byyl.exe
文件 224696 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\byyl.ilk
文件 239144 2017-12-24 21:29 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\byyl.pch
文件 500736 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\byyl.pdb
文件 33792 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\vc60.idb
文件 53248 2017-12-24 21:32 河北工业大学编译原理实验代码及实验报告\byyl 153123\Debug\vc60.pdb
文件 11924 2017-12-24 21:42 河北工业大学编译原理实验代码及实验报告\使用说明.docx
文件 177963 2019-07-10 20:42 河北工业大学编译原理实验代码及实验报告\实验报告.docx
相关资源
- SpringBoot+H2+mybatis-plus59130
- 条码字体barcode128
- Diltiazem augmented pentobarbital-induced LORR
-
大数据。基于Hba
se的网站日志分析系 - mybatis连接oracle实例
- BCG帮助手册,完整版_修正
- 用foobar2000听google音乐[更新一下]
- vc 柱形图 CBarChart
- EXE 转换 BAT工具
- SAP ABAP培训练习题
- 全自动多功能编码转换工具(URLASCI
- 文件夹图标修改器.bat
- 《Visual Basic 串口通信与测控应用技术
- 基于SSM+CXF构建的RESTFul webservice
- 基于ABAQUS的TC4钛合金电阻热热处理温
- 批量随机重命名批量重命名bat文件
- Tesseract-ocr快速训练语言库批处理文件
- Spring+MyBatis企业应用实战第一二版的源
- In vitro screening of lactobacilli with antago
- Effect of dietary nitrate dosage on gas produc
- A note on balls in cone metr
- libaio-0.3.107-10.el6.x86_64.rpm
- excel VBA 800(全)
- bacnet网络讲义
- Software Engineering(10th Edition)(Globa
- ABAQUS子程序UMAT(11页)
- Indentification of Interface Blocker to the LA
-
Temporal-ba
sed Multi-Strokes Sketchy Graphi - Bandicam注册机
- bandicam 4.2.1.1454
评论
共有 条评论