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

哈工大威海编译原理实验报告

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

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

哈工大威海编译原理实验报告

编译原理 试验报告 班级 学号 姓名 试验一 词法扫描器设计 一 试验目的 通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课堂教学的理解;提高词法分析方法的实践实力。 二 试验内容 设计一个简洁的类C语言的词法扫描器。 三 试验要求 (一) 程序设计要求 (1) 依据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符五大类;文法见最终附录。 (2) 供应源程序输入界面; (3) 词法分析后可查看符号表和TOKEN串表; (4) 保存符号表和TOKEN串表(如文本文件); (5) 遇到错误时可显示提示信息,然后跳过错误部分接着进行分析。 (二)试验报告撰写要求 (1) 系统功能(包括各个子功能模块的功能说明); (2) 开发平台(操作系统、设计语言); (3) 设计方案; 1) 主数据流图; 2) 主要子程序的流程框图(若有必要); 3) 模块结构图; 4) 主要数据结构符号表、TOKEN串表等。 (4) 详细设计过程(包括主控程序、各个功能模块的详细实现)。 1. 系统功能 依据附录给定的文法,从输入的类C语言源程序中,识别出各个具有独立意义的单词,即关键字、标识符、常数、运算符、分隔符五大类。然后输出本源程序的符号表显示在dos界面和存放在文本文件中。本程序以如下源程序(语法分析的例子)示范 源程序; int a; int b; int c; a2; b1; if (ab) cab; else ca-b; 子功能模块有 关键字处理过程;字母的处理过程;数字的处理过程;整个词法分析处理过程;运算符处理过程以及主程序。 2. 开发平台(操作系统、设计语言); Windows 7,Microsoft Visual C 6.0 3. 设计方案 (1) 主流程图 起先 读入文件 CiFaFenXi()函数进行词法分析 关闭文件流 结束 (2) 主要子程序的流程框图 推断 是否注释子模块① 起先 输入文件,读完文件 是否为注释 N Y 不处理 接着推断 模块① 推断是否是字符子模块② 起先 是否为字符 N Y 接着别的推断 字符临时赋值给字符串变量 读取下一字符 是否为字符或者数字 Y N 字符串变量是否是关键字 Y 将变量 类型2输出到DOS界面并写入文件 将变量 类型1输出到DOS界面并写入文件 结束 模块② 推断是否为数字或者运算符子模块③ 起先 是否为运算符 是否为数字 N Y Y 将数字赋给变量 对每一个运算符做相应的处理 读取下一变量 输入小数|指数|小数点 Y N 将变量 类型3写入结果 模块③ 试验结果 Test.txt内容 Token.txt文件内容 四 试验总结 通过词法分析试验,首先我相识到词法分析就是将字符序列转换为单词(Token)序列的过程。词法分析器一般以函数的形式存在,供语法分析器调用。词法分析阶段是编译过程的第一个阶段,这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后依据构词规则识别单词也称单词符号或符号。并且对符号表有了肯定的理解,符号表是 1、编译过程中编译程序不断汇合和反复查证出现在源程序中各种名字的属性和特征信息等有关信息。 这些信息通常记录在一张或几张符号表中。 2、符号表的每一项有两部分 一部分是名字(标识符);一部分是名字属性(标识符的有关信息)。 3、编译过程中,每当扫描器(词法分析器)识别出一个名字后,编译程序就查阅符号表,看其是否在符号表中。 假如它是一个新名字就将它填进表里。 它的有关信息将在词法分析和语法-语义分析过程中接连填入表中。 4、符号表是边填边用。 附录类C语言的词法文法 id Letter temp int10 Num int10 | Num OP | - |* |/ || | | | | ; | ‘ | | | | Keywordif | then | else | while | do Lettera|b|c|d|e|f|g|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z Num0|1|2|3|4|5|6|7|8|9 |ε temp Letter temp | Num temp |ε 试验二 LR语法分析器设计 一 试验目的 通过设计调试LR语法分析程序,实现依据词法分析的输入TOKEN字,进行文法的语法分析;加深对课堂教学的理解;提高语法分析方法的实践实力。 二 试验内容 运用附录中的文法,可以对类似下面的程序语句进行语法分析 int a; int b; int c; a2; b1; if (ab) cab; else ca-b; 三 试验要求 (一) 程序设计要求 (1)给出主要数据结构分析栈、符号表; (2)将扫描器作为一个子程序,每次调用返回一个TOKEN; (3)程序界面表达式输入、语法分析的表示结果(文件或者图形方式); (

注意事项

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

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




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


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

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

经营许可证号:ICP备2024020385号



收起
展开