编译原理词法分析器实验报告_第1页
编译原理词法分析器实验报告_第2页
编译原理词法分析器实验报告_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

曲阜师范大学实验报告No. 计算机系 2008年级 软件工程一 班 组 日期 2010年10月17日星期日 姓名 陈金金 同组者姓名 课程编译原理成绩 教师签章 实验名称: 词法分析器 实验目的:1·掌握词法分析的原理。2·熟悉保留字表等相关的数据结构与单词的分类方法。3·掌握词法分析器的设计与调试。实验内容:根据编译中的分词原理,编写一个词法分析程序:1.输入:任意一个C语言程序的源代码。2.处理:对输入进行分析,分离出保留字、标识符、常量、算符和界符。3.输出:对应的二元式(种别编码自定,可暂编为一类对应一个编码)。实验要求:1.任选C/C++/Java中的一种高级程序语言编程完成词法分析器。2.词法分析器应以教材所述分词原理为依据,使用恰当的数据结构和方法,结构清晰、高效。实验环境:WindowsXp操作系统,J2SE,Eclipse集成开发环境实验分析:将源代码作为长字符串进行读入,之后通过switch语句,及状态转换图进行词素识别,并对识别的词素进行分类整理以二元式的形式输出。实验过程:1、建立词法分析器界面,很简单:输入框,输出框,执行分析按钮,清空按钮,退出程序按钮。主要的地方是,考虑mvc开发模式,为model及controller提供接口。实现界面如下所示:2、核心代码的编写,考虑到需要进行词素的匹配,创建符号表类SymTable。提供两个变量,分别存放如下内容:并提供方法insert(),lookUp(),分别负责标志符的插入和查找。3.、根据语法规则书写状态转换图,并用switch语句实现:需要注意的地方是,begin和forward两个指针的移动:通过swith语句识别词素,并在符号表中进行匹配,匹配成功,则返回相应的记号,否则返回id。实验结论:实验过程还算顺利,遇到的一系列问题都得到比较好的解决,当然分析器还有很大的改进空间,这里只是简单的实现了词素的识别及简单的判断。下一步的目标是完成界符后注释的判断,几种特殊运算符在不同的上下文中会有不同的含义,瑞和进行判断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论