资源简介
河北工业大学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
相关资源
- abaqus软件对隧道开挖过程的模拟
-
Hba
se完全分布式搭建-new.docx - Visual Basic串口通信工程开发导航.(配
- Visual Basic.NET自动化系统监控.(范逸之
- Visual Basic串口通信与测控应用技术实
- Visual Basic串口通信与测控应用技术实
- Nathan Jacobson. Basic Algebra II (2ed)
-
Cloud networking understanding cloud-ba
sed - MBA十日谈——MBA学习必读资料
- Baidu Exporter For Chrome 0.8.8
- Acrobat_Pro_8.1.2注册机
- 大数据平台基础组件介绍.ppt
- 基于yml 配置方式 ,实现springBoot+sha
- Project导出成Excel的工具
- Synthesis and biological evaluation of cytotox
- 工资条分发工具
- PCBA外观目检检验标准
- Anti-CD3 antibody treatment ameliorates transf
- Yang–Baxter变形,AdS / CFT和扭转非交
-
A triphenylamine-ba
sed four-armed molecule - Multi-armed Bandit Allocation Indice.pdf
- 掺杂Nb2O5对Ba0.92Sr0.08Ti0.95Sn0.05O3介质瓷
- 论文研究 - 无铅多晶电陶瓷Ba的结构和
- 基于DBAN的监控视频数据挖掘
- extjs 分页是碰到的问题,点击下一页
- 论文研究 - 为Barnett余额评估坐下BBA
- SAM-BA 2.9可通过USB、串口将内核直接到
- 论文研究 - TBAB和PEG-400胶束介质
- A co<em>mem>p
- Probabilistic representation for solution of s
评论
共有 条评论