电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

哈工大威海编译原理试验报告资料VIP免费

哈工大威海编译原理试验报告资料_第1页
1/23
哈工大威海编译原理试验报告资料_第2页
2/23
哈工大威海编译原理试验报告资料_第3页
3/23
《编译原理》实验报告班级:学号:姓名:实验一 词法扫描器设计一 实验目的通过设计调试词法分析程序,实现从源程序中分出各种单词的方法;加深对课堂教学的理解;提高词法分析方法的实践能力。二 实验内容设计一个简单的类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; a=2; b=1; if (a>b)c=a+b; else c=a-b; 子功能模块有:关键字处理过程; 字母的处理过程; 数字的处理过程; 整个词法分析处理过程 ;运算符处理过程以及主程序。2. 开发平台(操作系统、设计语言) ;Windows 7,Microsoft Visual C++ 6.0 3.设计方案:(1)主流程图:读入文件关闭文件流CiFaFenXi ()函数进行词法分析开始结束(2)主要子程序的流程框图:判断 是否注释子模块①:N Y模块①判断是否是字符子模块②:N Y开始是否为注释?输入文件,读完文件继续判断不处理开始是否为字符?字符临时赋值给字符串变量继续别的判断YN Y模块②判断是否为数字或者运算符子模块③:N YY读取下一字符是否为字符或者数字?字符串变量是否是关键字?将变量类型 1 输出到 DOS界面并写入文件结束将变量类型 2 输出到 DOS界面并写入文件开始是否为数字?将 数 字 赋 给 变量是 否 为 运 算符?对 每 一 个 运 算符 做 相 应 的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

哈工大威海编译原理试验报告资料

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部