已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
语法分析实验报告一、语法分析器功能描述1. 算数表达式消除左递归之后的文法E - TEE - +TE| -TE | T - FTT - *FT | /FT| F - id | (E) | num 文法1其中: id: a-f, A-F num:0-92. 本语法分析器采用LL(1)分析方法对上述文法进行语法分析3. 功能如下: (1)存入FIRST集与FOLLOW集后,为算术表达式文法构造预测分析表并输出; (2)构造LL(1)预测分析程序,可以根据预测分析表对输入的表达式进行语法分析,输出产生式; (3)可以处理两类语法错误:a.如果栈顶终结符号,但却与当前输入符号不匹配;b.如果栈顶是非终结符号A,当前输入符号为a,但分析表中A,a为空。二、运行环境 windows 8.1操作系统 三、输入输出设计1. 输入设计输入算数表达式,以“回车键”结束。算数表达式的组成为:+、*、/、(、)、af、AF、09、2.输出设计输出分为三部分:a.输出预测分析表。表项为产生式的序号(文法1中的顺序),0表示空白,表示同步信息synch,用于出错处理;b.输出最左推导用到的产生式,均为文法1(消左递归后的文法)中的产生式,产生式中的 用 表示;c.若在分析过程中发现错误,输出对错误的应急式处理。四、主要数据结构设计0. FIRST集与FOLLOW集FIRST集FOLLOW集SId,(,num$,)S,+,$,)TId,(,num$,),+,T,*,/$,),+,PId,(,num$,),+,*,/1. 预测分析表:char analyze_table59; 2. FIRST集:char FIRST74=x,(,y, , +,-, , x,(,y, , *,/, , x,(,y, , x, , y, ; 注:依次为E、E、T、T、F的FIRST集。 表示终结,x 表示 id,y 表示num, 表示 。3. FOLLOW集:char FOLLOW57=$,), , $,), , $,),+,-, , $,),+,-, , $,),+,-,*,/, ;注:依次为E、E、T、T、F的FOLLOW集。 表示终结,x 表示 id,y 表示num, 表示 。4. 产生式集:char production116=STR#, R+TR#,R-TR#, R#, TPZ#, Z*PZ#,Z/PZ#, Z#, Px#, P(S)#,Py#; 注:x表示id,y表示num, 表示 。5. 输入缓冲区:char in_buffer100;6. 分析栈char stack100; 7. 栈顶指针top;指向当前符号的指针ip。五、核心算法描述核心算法主要分为两部分:构造预测分析表,预测分析程序1. 构造预测分析表子函数:void make_table(void);/构造预测分析表int locate_nontmn(char);/定位非终结符,即在分析表的第几行 int locate_tmn(char);/定位终结符,即在分析表的第几列 void print_table(void);/格式化输出预测分析表算法描述: for(文法1的每个产生式A-) for(每个终结符号aFIRST() 把A-放入MA,a中; if (FIRST() for(任何bFOLLOW(A) 把A-放入MA,b中; for(每个非终结符A) /添加同步信息synch,表项0为空白, -1为synch for(每个终结符cFOLLOW(A) if (MA,c=0) 令MA,c = -1; 构造分析表的流程图:开始初始化预测分析表,且i=1注:i表示产生式的序号,共有11条产生式iY1Y2YK 从栈顶弹出X; 依次将Yk、Yk-1.Y2、Y1压入栈; 输出产生式X-Y1 Y2. Yk ; else /出错处理,/-1表示synch表项,0表示空白表项 if (MX,a = 0) 跳过输入符号a; if (MX,a = -1) 将栈顶非
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年黄山辅警招聘考试题库及答案详解一套
- 2025年甘孜藏族自治州辅警协警招聘考试备考题库有答案详解
- 2025年滁州辅警招聘考试题库含答案详解(综合题)
- 2025年驻马店辅警协警招聘考试真题含答案详解(新)
- 2025年遂宁辅警协警招聘考试真题附答案详解(培优a卷)
- 2025年綦江县辅警协警招聘考试真题附答案详解(预热题)
- 2025年鹤岗辅警协警招聘考试备考题库含答案详解(模拟题)
- 2025年盘锦辅警协警招聘考试真题及答案详解(夺冠系列)
- 2025年阜阳辅警招聘考试题库有完整答案详解
- 2025年淮南辅警协警招聘考试真题完整答案详解
- 人教版一上41《10的再认识》课件
- 广东省廉江市实验学校2025届高一物理第一学期期中联考试题含解析
- 渣土运输承包合同
- 人教版(PEP)小学英语-(三、四、五、六年级)-单词表(附注音标)
- 网络传播概论(第5版)课件 第3、4章 网络传播形式的流变、网络传播的多重策略
- 2024年阳泉融盛投资控股集团有限公司招聘笔试冲刺题(带答案解析)
- 计算机专业生涯发展展示
- 红色金融史教学课件
- 大学生职业生涯发展报告
- 热力发电厂课程设计说明书
- 斑点叉尾鮰鱼种培育技术
评论
0/150
提交评论