编译原理-语法分析-规约
21页1、课程名称 编译原理 设计题目 语法分析规约 目 录一 .问题描述.(2)二文法及属性文法的描述.(2) 2.1文法描述.(2) 2.2 while-do循环语句的文法.(2)2.3属性文法描述.(2)3语法分析方法及中间代码形式的描述.(3) 3.1 语法分析方法.(3) 3.2 中间代码形式描述.(3)4简要的分析与概要设计.(4) 4.1词法分析.(4)4.2递归下降翻译器的设计.(4)4.3语法制导翻译.(5)5 详细的算法描述.(5) 5.1 文法.(6) 5.2 查错.(6)三 测试方法和测试结果.(9) 3.1测试方法.(9) 3.2测试结果.(9)四 设计心得.(10) 一、 问题描述1.1 能够写出一个while-do语句,此语句符合LL(1)的文法。1.2 构造词法分析程序对while-do语句进行词法分析。 1.3构造语法分析程序对while-do语句进行语法分析,判断语法正确性。1.4 运行程序,要求有正确的语义输出(4地址码)。二、 文法及属性文法的描述: 2.1 文法描述: 基本概念:文法是对语言结构的定义与描述。即从形式上用于描述和规定语言构的称为“文法”。
2、定义:文法G=(VN,VT,P,Z) VN :非终结符号集 VT :终结符号集 P:产生式或规则的集合 Z:开始符号(识别符号) ZVN 其中:2.2 while-do循环语句的文法 文法G(s)如下: S-WEDG (意思是while E do G) G-c=R R-dTe|d T-+|-|*|/ E-aFb F- |=|有一组产生式b:=f(c1,c2,,ck)的语义规则,其中f式函数,b和c1,c2,,ck式该产生式文法符号的属性。3语法分析方法及中间代码形式的描述; 3.1 语法分析方法: 本次设计采用LL(1)分析 :预测分析方法概述:分析钜阵的元素MA,a中的下标A为非终结符,a为终结符或句子的结束标记“#”,钜阵元素MA,a的内容为一条关于A的产生式。它表明当用非终结符A向下推而当输入符a时,所应该采用的后选式。当钜阵元素为空时,则表示用A往下推导时遇到了不应该出现的符号,即A与a不能匹配,因此应该出错处理。在构造预测分析表时,对每个终结符或“#”号用a表示,则若aSELECT(A-a)。令MA,a= A-a(一般为了简化,取MA,a= a)把所有的无定义的MA,a标上E
3、RROR(一般在表中用空白表示)。3.1.2 此程序预测分析方法: 此设计为非左递归while-do文法,应采用自上而下的预测分析方法。在此设计中,产生式只到E-id1id2| id1=id2| id1 id1= id2(E-aFb F-|=|)对F只有一种产生式而在输入串中的终结符a,b等在程序中用id代替了,正好做到了输入串和符号栈的匹配抵消,因此简化了预测分析表的构造,对于E来说有3个侯选式,在本程序中通过函数firstset()来判断应该选哪个产生式,但是firstset()是依赖Token2数组来判断的,没有完全摆脱掉数组的限制,因此也是本程序的不足之处。3.2 中间代码的描述:中间代码概述:中间代码采用四元式输出,一个四元式是一个带有四个域的记录结构,这四个域分别称为oparg1arg2及result。域op包含一个代表运算符的内部码。语句while ab do a=a+b的四元式输出形式如下: 100 ( WEDG G-c=R R-dTe|d T - +|-|*|/|%E-aFb F- |=| */ 5.2 查错:按照递归下降法求WaWEDGn,total);total+; W(); E();2) W()void W() if(ch!=W) printf(有非法字符%c请按回车返回!,ch); getchar(); getchar(); exit(1); 3) E()void E() ch=a+i1; if(ch!=a) printf(有非法字符%c %c请按回车返回!,ch); getchar(); getchar(); exit(1); printf(%dtE-aFbn,total);total+; F();4) F()void F() int i; ch=a+i1; i=i1+1; if(ai!=b) printf(有非法字符%c请按回车返回!,ai); getchar(); getchar();
《编译原理-语法分析-规约》由会员夏**分享,可在线阅读,更多相关《编译原理-语法分析-规约》请在金锄头文库上搜索。
苏教版高一数学必修4教学案:第1章14三角函数的应用
人教版小学六年级语文毕业模拟试题
小学种植课程教学设计全册
青年水库设计报告
银行双元能力及服务敏捷性分析
东财21春《社会保险X》在线作业二满分答案_73
学前班班主任工作总结范例(2篇).doc
汽车刹车总泵项目资金申请报告写作模板代写
小学后进生转化工作计划集锦大全(5篇).doc
中中小学后勤工作计划
五上52《读书莫放拦路虎》解读
新时代好少年事迹例文三篇
机械设计大作业二
群体中培养学生个体的主体性素质
某公司后勤管理工作计划
探讨我省病死畜禽无害化处理的思路
C语言知识点总结完美版
苏教版六年级语文——《大江保卫战》第一课时教学设计和说课设计2
常见自然灾害预防相关知识
小学数学六年级下册口算竞赛试卷
2023-04-17 19页
2023-10-07 5页
2023-07-21 2页
2022-08-13 6页
2023-07-25 13页
2023-06-01 9页
2023-08-12 10页
2023-09-12 3页
2022-08-03 15页
2023-01-01 1页