ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:556.26KB ,
资源ID:9496999      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9496999.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译实习-词法分析.doc)为本站会员(fmgc7290)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

编译实习-词法分析.doc

1、0编号: 实习 一 二 三 四 五 六 七 八 九 十 总评 教师签名成绩编译原理课程实习报告编 号: 实习题目: 词法分析器 专业(班): 学生学号: 学生姓名: 任课教师: 年 月 9 日11. 问题定义和分析1.1 实习目的1.2 实习要求1.3 要求分析2. 程序设计 2.1. 数据结构 2.2. 算法及程序流程图2.3. 界面3. 程序运行实例3.1 实例 1 3.2 实例 2 3.3 实例 3 3.4 实例 4 3.5 非合法词法输入4. 部分程序核心源代码5. 总结21. 问题定义与分析1.1 实习目的构造一个小语言的词法分析程序。1.2 实习要求 (1)设计一个包含简单算术表达

2、式、赋值语句、IF 语句的小语言的文法。(2)根据此文法,构造一词法分析程序。输入以“#”为结束符的源程序,输出为各类单词表和单词串文件。 (3)源程序和输出的单词串均以文件的形式存放。单词的自身值均为其对应的表的指针,如标识符表的指针、常数表的指针等。 (4)提交:实习报告、程序运行结果。 1.3 要求分析1.3.1 输入部分输入为文法源程序,定义CString 类型变量 m_EnterString ,用于获取编辑框1的输入,将其转换为char类型的数组,用s 保研,即char *s=m_EnterString.GetBuffer() ,再将s中的内容以文件形式保存于D盘test.txt中,

3、即: ofstream outfile; int x=0; outfile.open(“D:test.txt“);while(sx!=#)outfile = (4)界限符 ( ) ; , (5)结束符 #1.3.4 各种单词符号对应的类别码单词符号 类别码 单词符号 类别码begin 1 21else 5 22while 6 = 23do 7 24int 8 ( 25char 9 ) 26标识符 10 27常数 11 28+ 12 29- 13 ; 30* 14 , 31/ 15 32= 16 33:= 17 # 042. 设计2.1 数据结构定义了以下字符串类型数据:CString m_En

4、terString :用于接受编辑框1输入的源程序CString m_OutputString; :用于保存输出到编辑框 2 的内容,即单词符号 与其对应的类别码char *s=m_EnterString.GetBuffer() :用于将输入的 Cstring 类型转换为字符数组 类型,以存入文件中ofstream outfile :用于将源程序写入文件FILE *fpin :用于读取文件内容,即源程序 界面数据结构:IDC_STATIC1 (Group-box Control) 放输入框的框IDC_STATIC2 (Group-box Control) 放输出框的框IDC_EDIT1 (Ed

5、it Control) 输入编辑框IDC_EDIT2 (Edit Control) 输出编辑框IDOK (Button Control) 确定按钮IDCANCEL (Button Control) 取消按钮5IDD_CIFA_DIALOG (Dialog) 整个界面框界面如下图所示:2.2. 算法及程序流程图2.2.1 算法设计:算法的基本任务是从字符串表示的源程序中识别出具有独立意思的单词符号,无独立意义的字符视为错误字符,基本思想是根据扫描到单词符号的第一个字符的各类,拉出相应的单词符号,根据字符与类别码对应表,找到相应的类别码并输出,具体见流程图。62.2.1 程序流程图如下:YNN开始

6、输入源程序txt 格式在于 D 盘打开已存储的文件初始化文件指针是#?识别指针内容结束YN空/换行?指向下一个字符YN字母? 数字? 界符?YN将字符加入 arr指向下一个字符字母/数字?Y将 arr 与 key 中项比较匹配?根据返回值输出arr 与其类别码指向下一字符标识符N加入 arr指下个字符数字?Y输出arr 类别码为 11N输出ch 为界符相应的类别码Y输出ch 为不可识别字符72.3. 界面83. 程序运行实例3.1 实例 1 3.2 实例 2 93.3 实例 3 103.4 实例 4 113.5 非合法词法输入4. 部分程序核心源代码void CcifaDlg:Start()ofstream outfile;int x=0;outfile.open(“D:test.txt“);if(!outfile)cout=a)|(c=A)return 1;elsereturn 0;int CcifaDlg:IsDigit(char c)if(c=0elsereturn 0;5. 总结通过此次实验,自己动手写这样一个简单的词法分析器,通过设计、编制并调试词法分析器,加深对词法分析原理的理解;熟悉了构造词法分析程序的手工方式的相关原理,在使用C+中MFC编写程序的过程中,也加强了自己的编程练习。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报