蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

合肥工业大学编译原理实验报告(完整代码版)

  • 资源ID:52634472       资源大小:23.97KB        全文页数:40页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:30积分 【人民币30元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要30积分 【人民币30元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

合肥工业大学编译原理实验报告(完整代码版)

计算机与信息学院 编译原理 试验报告 专 业 班 级 信息平安13-1班 学生姓名与学号 马骏 2013211869 课程教学班号 任 课 教 师 李宏芒 试验指导老师 李宏芒 试验地点 试验楼机房 2015 2016 学年第 二 学期 试验1 词法分析设计 一、 试验目的 通过本试验的编程实践,使学生了解词法分析的任务,驾驭词法分析程序设 计的原理和构造方法,使学生对编译的基本概念、原理和方法有完整的和清晰的 理解,并能正确地、娴熟地运用 二、 试验要求 1、编程时留意编程风格空行的运用、注释的运用、缩进的运用等。 2、将标识符填写的相应符号表须供应应编译程序的以后各阶段运用。 3、依据测试数据进行测试。测试实例应包括以下三个部分 u 全部合法的输入。 u 各种组合的非法输入。 u 由记号组成的句子。 4、词法分析程序设计要求输出形式 例输入VC语言的实例程序 If i0 then n; a﹤ 3b ; 输出形式为 单词 二元序列 类 型 位置(行,列) (单词种别,单词属性) for 1,for 关键字 (1,1) i 6,i 标识符 (1,2) 4, 关系运算符 (1,3) 12 0 5,0 常数 (1,4) then 1,then 关键字 (1,5) n 6,n 标识符 (1,6) Error Error (1,7) ; 2, ; 分界符 (1,8) a 6,a 标识符 (2,1) ﹤ 4, 关系运算符 (2,2) 3b Error Error (2,4) Error Error (2,4) 2, 分界符 (2,5) ; 2, ; 分界符 (2,6) 三、 试验内容 用 VC/VB/JAVA 语言实现对 C 语言子集的源程序进行词法分析。通过输 入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码与单 词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分接着显示 ;同时 进行标识符登记符号表的管理。 以下是实现词法分析设计的主要工作 (1)从源程序文件中读入字符。 (2)统计行数和列数用于错误单词的定位。 (3)删除空格类字符,包括回车、制表符空格。 (4)按拼法单词,并用(内码,属性)二元式表示。属性值token的机内 表示 (5)假如发觉错误则报告出错 7 (6)依据须要是否填写标识符表供以后各阶段运用。 四、试验步骤 1、依据流程图编写出各个模块的源程序代码上机调试。 2、 编制好源程序后,设计若干用例对系统进行全面的上机测试,并通过所设计 的词法分析程序;直至能够得到完全满足的结果。 3、书写试验报告 ;试验报告正文的内容 u 功能描述该程序具有什么功能 u 程序结构描述函数调用格式、参数含义、返回值描述、函数功能;函数 之间的调用关系图。 u 具体的算法描述(程序总体执行流程图) 。 u 给出软件的测试方法和测试结果。 u 试验总结 (设计的特点、不足、收获与体会)。 五、试验截图 先创建salaryfile.txt文件 输入 If i0 then n; a 3b ; 六、 核心代码 includeiostream includestring includefstream include sstream using namespace std; const char* salaryfilesalaryfile.txt; const int max40; string id[max]{do,end,for,if,printf,scanf,then,while};//关键字表 string s[max]{,,;,,,[,],,-,*,/,,,,,,};//分界符表 算数运算符表 关系运算符表 string k[max];// 标识符 string ci[max];// 常数 int fjfpoint5;//分界符表尾 int mathpoint9;//算数运算符表尾 int cipointer0;//常数表尾 int idpointer0;//关键字表尾 int kpointer0;//标识符表尾 int fjf;//0 不是分界符 1是 int rowy1;//识别输入行位置 int rowx1;//识别输入列位置 int outkey0;//打印限制 0为数字后有字母 其他可以 void

注意事项

本文(合肥工业大学编译原理实验报告(完整代码版))为本站会员(mxdd)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开