首页 实验2 应用预测分析法实现语法分析

实验2 应用预测分析法实现语法分析

举报
开通vip

实验2 应用预测分析法实现语法分析实验2 应用预测分析法LL(1)实现语法分析 一、实验目的 1.学习消除文法左递归算法。 2.掌握预测分析法实现语法分析。 3.自动求得“FIRST”、“FOLLOW”集构造预测分析表。 3.能够使用自己编写的分析程序对简单的程序段进行语法翻译。 二、实验内容 用预测分析法编制语法分析程序,实现可以采用任何一种编程工具。候选题目见表一。 表1  语法分析单元的候选实验题目 编号 文法 A001 已知文法G(E),试编写一个程序,判断文法G所能接受的串。 E->TA A->+TA A->...

实验2  应用预测分析法实现语法分析
实验2 应用预测 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 法LL(1)实现语法分析 一、实验目的 1.学习消除文法左递归算法。 2.掌握预测分析法实现语法分析。 3.自动求得“FIRST”、“FOLLOW”集构造预测分析 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 。 3.能够使用自己编写的分析程序对简单的程序段进行语法翻译。 二、实验内容 用预测分析法编制语法分析程序,实现可以采用任何一种编程工具。候选 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目见表一。 表1  语法分析单元的候选实验题目 编号 文法 A001 已知文法G(E),试编写一个程序,判断文法G所能接受的串。 E->TA A->+TA A->( T->FB B->*FB B->( F->(E) F->i A002 已知文法G(S),试编写一个程序,判断文法G所能接受的串。 S->AB S->bC A->( A->b B->( B->aD C->AD C->b D->aS D->c A003 已知文法G(S),试编写一个程序,判断文法G所能接受的串。 S->MH S->a H->LSo H->( K->dML K->( L->eHf M->K M->bLM A004 已知文法G(E),试编写一个程序,判断文法G所能接受的串。 E->TA A->+E A->( T->FB B->T B->( F->PC C->*C C->( P->(E) P->a P->b P->^ A005 已知文法G(S),试编写一个程序,判断文法G所能接受的串。 S->[A A->B]Y Y ->ASY Y->( B->iC C->iC C->( A006 已知文法G(Z),试编写一个程序,判断文法G所能接受的串。 Z->aAcB | Bd A->cD D->aBD | d B->bC C->BcA | ( 三、实验要求 1. 定义目标语言的语法 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 。 2. 预测分析表的构造。 3*.对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成语法分析过程。 四、实验学时 4学时 五、考核要求: 以班为单位,每个班内4-5人为一组,自由组合。选一人为组长,要适当分工,要分工明确。 需上交:源程序,实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 。实验报告只用交电子档,重点写自己那部分的设计思路和实现方法。发qq邮箱:823004751。 六、实验内容指导 1.文法的表示 可以采用字符串数组的形式表示文法中的各项,其优点在于操作相当直观,缺点是当项目较多时,需要较多的检索时间。 2.消除文法左递归核心算法框架如下: For each vN in Grammer For each item which started by vN’ (vN’ has been operated) If has vN->vN’a then Replace all vN with vN’->beta Endif End for If(vN has left recursive) Find new sign vNNew Change VN->VNB|A to VN->A vNNew vNNew->B vNNew vNNew->z //这里用z代表空 Else Copy all vN->beta to tmpGrammerArr End If End for 3.求FIRST集与FOLLOW集 可使用递归的方法,采用与手工计算相似的方法。 FIRST集: 若有规则A(BC 1)如果B为终结符,则将B加入到A的FIRST集中 2)如果B为非终结符,则先算出B的FIRST集,并将B的FIRST集加入到A的FIRST集中 3)如果B的FIRST集中包含空串(B能推出空串)则将C的FIRST集加入到A的FIRST集中 FOLLOW集: 若有规则A(BC 1)如果C为终结符,则将C加入到B的FOLLOW集中 2)如果C为非终结符,则将C的FIRST集加入到B的FOLLOW集中,并将将A的FOLLOW集加入到C的FOLLOW集中 3)如果C的FIRST集中包含空串(C能推出空串)则将A的FOLLOW集加入到B的FOLLOW集中 4.预测分析表的构建 预测分析表的构建是一个填充二维字符串数组的过程。预测分析法中所有预测分析法的总控分析程序都是一样的,主要是分析表不同。表中的元素如用规则来表示,需要用三维数组存放,则分析表所需的存储空间较大,为此可考虑用规则号表示预测分析表中的元素。另外表中出错元素的元素可用0表示。 5.预测分析程序的主框架如下: Push(start sign)to analyse Stack While(analyse stack is not empty) { If top(analyse stack ==curChar) { Pop analyse stack. Get new curChar } Else { find produce started in analyse table: rowIndex: top(analyse stack)’s top colIndex: curChar’s pos if(not founded) error eles if ->z pop analyse stack else if ->B1B2 push B2,B1 to analyse stack. } }
本文档为【实验2 应用预测分析法实现语法分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_384406
暂无简介~
格式:doc
大小:45KB
软件:Word
页数:4
分类:互联网
上传时间:2013-11-20
浏览量:17