编译原理_语法分析_实验报告

编译原理_语法分析_实验报告

ID:17978011

大小:692.00 KB

页数:10页

时间:2018-09-12

编译原理_语法分析_实验报告_第1页
编译原理_语法分析_实验报告_第2页
编译原理_语法分析_实验报告_第3页
编译原理_语法分析_实验报告_第4页
编译原理_语法分析_实验报告_第5页
资源描述:

《编译原理_语法分析_实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《编译原理及实践》结课大作业《语法分析》学生姓名艾力娜·托里干依勒斯江·木尔扎合买提克勒曼·沙布勒别克学号501111013250111101315011110136所属学院信息工程学院专业计算机科学与技术班级民本15-1班信息工程学院otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderof

2、theWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand

3、一.LL(1)预测语法分析器[实现目标]简单的算术表达式的LL(1)语法分析器实现工具MicrosoftVisualC++6.0,使用C/C++语言实现代码编程。需求分析与概要设计:编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。编译程序的语法规则可用上下文无关文法来刻画。语法分析的方法分为两种:自上而下分析法和自下而上分析法。自上而下就是从文法的开始符号出发,向下推导,推出

4、句子。而自下而上分析法采用的是移进归约法,基本思想是:用一个寄存符号的先进后出栈,把输入符号一个一个地移进栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分归约成该产生式的左邻符号。详细的算法描述:(1)自顶向下带递归语法分析(这个方法用的是老师给的文法)1、首先对所以的生成式消除左递归、提取公共左因子2、在源程序里建立一个字符串数组,将所有的生成式都存在这个数组中。3、给每个非终结符写一个带递归的匹配函数,其中起始符的函数写在main函数里。这些函数对生成式右边从左向右扫描,若是终结符直接进行匹配,匹配失败,则调用出错函数。如果是非终结符则调

5、用相应的非终结符函数。4、对输入的符号串进行扫描,从起始符的生成式开始。如果匹配成功某个非终结符生成式右边的首个终结符,则将这个生成式输出。匹配过程中,应该出现的非终结符没有出现,则出错处理。[文法]l产生式P:E->E+TT->T/FE->E-TT->FE->TF->(E)T->T*FF->i提取左因子并消除左递归得产生式P:(0)E→TeotherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,Jian

6、gxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandr

7、ecorderoftheCountypartyCommitteeSecretary,Ministersand(1)e→+Te(2)e→-Te(3)e→ε(4)T→Ft(5)t→*Ft(6)t→/Ft(7)t→ε(8)F→(E)(9)F→i/*表示id*/l开始符号S:El终结符集Vt:{E,e,T,t,F}l非终结符集Vn:{+,-,*,/,(,),i}[构造预测分析表]lFIRST集:first(E)=first(T)=first(F)={﹝,i}first(e)={+,-,ε}first(t)={*,/,ε}lFOLLOW集:follow(E)={$

8、,﹞}follow(e)=follow(E)={$,}}follow(T)={f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。