语法分析器构造互联网
14页1、编译原理实验报告实验题目:语法分析器构造指导教师: 姓名:班级:学号:实验成绩:实验题目语法分析器构造实验目的和要求借助于词法分析程序提供的分析结果,编写一个算符优先语法分析程序,程序能进行语法结构分析和错误检查并产生相应的归约信息。同时给出出错信息和错误类型,从而加深对语法分析的理解。设计思想与框架main函数:算术表达式函数:算符优先算法:核心算法主要数据结构说明:符号栈:stackN栈顶指针:top记录归约步骤号:NoN输入字符串:stringsN算术表达式:old_stringsN记录下一个输入符号:a可归约字符串:*word6手动生成的算符优先表:x99查找算符表达式:expression(char *str)入栈:push(char ch)出栈:pop(char ch)根据算符优先分析表设置读入优先次序:rank(char ch1,char ch2)判断是否为终结符:isVT(char ch)算符优先分析函数:analysis()算符优先分析算法算法采用一个符号栈的数据结构,既用它存放终结符,也用它存放非终结符。设K为符号栈使用深度,其参考算法如下: K:=1; Stack
2、K:= #; Repeat 把下一个输入符号读进a中; If StackKVT then j:=K else j:=K-1; while Stackj优先级比a高 do Begin Repeat Q:=Stackj; If Stackj-1VT then j:=j-1 else j:=j-2 Until Stackj比Q优先级低; 把Stackj+1StackK归约为某个N;记录归约产生式序号; K:=j+1; StackK:=N end of while If Stackj比a优先级低 OR Stackj与a优先级相同 then Begin K:=K+1; StackK:=a end else ERROR 查表打印出错信息 Until a=#源程序及注释#include#include#include#include#define N 100char stackN,stringsN,old_stringsN;int top=-1;int k=0;/k输入字符串数字strings即将被读的字符位置标识int NoN,id=1,sr=0,step=1,n=0;char a;/用于传递即将
3、读入的字符char x99= ,+,-,*,/,(,),i,#, +, -, *, /, (,=, , , i, , , #, ,a&chA&ch=0&ch|stri-1=)return 1;else if(xij=);else if(m=0)printf(%-8c,=);elseprintf(%-8c,);printf(%-10c,a);printf(%-10s,&stringsk);if(t)printf(%-8s,归约);Non+=step-1;elseprintf(%-8s,移进);int isVT(char ch)if(ch=N) return 0; else return 1;void analysis()int i,j=-1,m;char ch20,str;push(#);print(0,-1);a=strings0;while(a!=0)if(stacktop=N&k=(strlen(strings)a=stringsk-1;elsea=stringsk;k+;if(isVT(stacktop)j=top;elsej=top-1;while(isVT(a)&rank(stackj,a)=1)/判断是否满足规约的条件memset(ch,0,sizeof(ch);int h;doh=j;/h记录要规约的位置if(isVT(stackj-1)j=j-1;elsej=j-2;while(rank(stackj,stackh)!=-1);i=-1;while(top-j)!=0)ch+i=pop();chi+1=0;for (m=0;m=5;m+)/把字符数组ch规约成Nif(strcmp(wordm,ch)=0)str=N;push(str);/将规约后的N压入stack栈中/k+;print(1,1);if(rank(stackj,a)=-1)push(a);/k+;print(0,-1);else if(rank(stackj,a)=0)push(a);
《语法分析器构造互联网》由会员cl****1分享,可在线阅读,更多相关《语法分析器构造互联网》请在金锄头文库上搜索。
新阳能源特殊工种和岗位工人责任制
描写方法有哪些及作用
最新鲁教版英语六年级上册Unit 9Do you like bananas第四课时word教案
大班主题小老鼠和大油瓶教案
七年级数学上册第一章丰富的图形世界导学案无答案新版北师大版
精选类202x年七年级生物上册第2单元第2章第5节动物在生物圈中的作用第一课时教学案无答案新版济南版
绩效考核系统方案
小学家访工作总结
2022年煤气资格考试题库及模拟卷含参考答案62
五年级语文上册期末考试同步检测部编版
文员实习单位鉴定评语
小学营养餐领导小组及职责
仓储部工作总结标准范文(2篇).doc
2022年幼儿园中班亲子运动会活动方案9篇
重庆市渝中区公开招聘事业单位人员149人模拟试卷【附答案解析】(第6版)
(完整word版)人教版八年级上册英语unit2知识点及习题,推荐文档
科学教案设计
26有理数的混合运算导学案
荔波县大数据电子信息项目投资计划书【参考模板】
城厢区屿上棚户区改造项目房屋拆除工程重新招标
2022-09-23 7页
2023-03-24 4页
2023-09-29 8页
2022-08-04 13页
2023-10-14 4页
2023-04-08 6页
2022-10-10 13页
2022-10-12 8页
2023-06-18 43页
2023-04-16 19页