- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理论文-词法分析器的设计与实现
《编译原理》论文
题 目 词法分析器的设计与实现
姓 名
学 号
专业班级
指导老师
2015年6月15
一、引言 3
二、词法分析器的设计 4
2.1词的内部定义 4
2.2词法分析器的任务及功能 5
2.2.1任务 5
2.2.2 功能: 5
2.3单词符号对应的种别码: 6
三、词法分析器的实现 6
3.1主程序示意图: 7
3.2函数定义说明 7
3.3程序设计实现及功能说明 8
3.3.1关键字 8
3.3.2关键字的定义 8
3.3.3符合的关键字的查找 8
四、词法分析程序的C语言源代码: 8
五、 结果分析: 11
摘要:词法分析是中文信息处理中的一项基础性工作。词法分析结果的好坏将直接影响中文信息处理上层应用的效果。通过权威的评测和实际应用表明,IRLAS是一个高精度、高质量的、高可靠性的词法分析系统。 众所周知,切分歧义和未登录词识别是中文分词中的两大难点。理解词法分析在编译程序中的作用,加深对有穷自动机模型的理解,掌握词法分析程序的实现方法和技术,用c语言对一个简单语言的子集编制一个一遍扫描的编译程序,以加深对编译原理的理解,掌握编译程序的实现方法和技术。
关键词:词法分析器?扫描器?单词符号?预处理
一、引言
运用C语言设计词法分析器,由指定文件读入预分析的源程序,经过词法分析器的分析,将结果写入指定文件。本程序是在Visual?Studio环境下,使用C语言作为开发工具。基于实验任务的内容及目的,实现初步的需求分析,具备词法分析器的基本功能和整体构架。逐步细化其功能,做到相应模块的具体化。画出未成熟的流程图,确定整体设计的走向,在一定范围内约束编程活动,确保没有大的问题及缺陷存在,然后通过将来的具体的编程设计完善流程图。完成计算机翻译过程的关键阶段,它为后面的语法分析、语义分析做好准备,打好基础,以便快速地、高质量地生成目标语言程序。
二、词法分析器的设计
由于我们规定的程序语句中涉及单词较少故在词法分析 阶段忽略了单词输入错误的检查而将编译程序的重点放在中 间代码生成阶段$词法分析器的功能是输入源程序输出单词 符号$规定输出的单词符号格式为如下的二元式%!单词种别 单词自身的值#
2.1词的内部定义
对常量,变量,临时变量,保留关键字(if,while,begin,else,do等)、关系运算符、逻辑运算符、分号、括号等,规定其内部定义如附表所示
2.2词法分析器的任务及功能
2.2.1任务
就编译器基本结构而言,词法分析(lexical analysis)是编译过程的第一阶段。实际上,在词法分析之前,有些编译器模型存在编译预处理阶段,C语言就是一个典型的例子。不过,大多数Pascal编译器都不存在预处理器。本书对编译预处理不作讨论。词法分析的任务是从左到右扫描与分析构成源程序的字符流(字符串),把字符流分解为多个单词(token)。每个单词都是具有独立含义且不可再分割的字符序列。在编译器框架中,完成词法分析任务的模块称为词法分析器。
2.2.2 功能:
词法分析器的基本功能是,按照语言的定义规则,逐个地读入源程序的符号,识别出对语言有意义的符号串,即单词符号;然后分析单词符号的属性,并把单词符号及其属性填写在表中; 同时把源程序改造成等价的计算机内部表示——单词记号, 以便编译的后续阶段使用。
识别出源程序中的各个单词符号,并将其转换成内部编码形式;
删除无用的空白字符、回车字符以及其他非实质性字符;
删除注释
进行词法检查,报告所发现的错误。
2.3单词符号对应的种别码:
单词符号对应的种别码
单词符号 种别码 单词符号 种别码 bgin 1 : 17 If 2 := 18 Then 3 20 wile 4 21 do 5 = 22 end 6 23 lettet(letter|digit)* 10 = 24 dight dight* 11 = 25 + 13 ; 26 — 14 ( 27 * 15 ) 28 / 16 # 0
三、词法分析器的实现
编写词法分析器,词法分析器能够识别关系算符,词法分析器能够识别标识符和关键字,词法分析器能够识别无符号数。编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法分析器。词法分析是从左向右扫描每行源程序的符号,拼成单词,换成统一的二元式?(单词种别码,单词符号的属性值)表示。对给定的程序通过词法分析器识别一个个单词符号,并以二元式(单词种别码,单
您可能关注的文档
最近下载
- Q SCQ 005-2017_饲料级L-赖氨酸硫酸盐.pdf
- 初中物理学法指导.pptx VIP
- 2024年装饰装修施工员专业知识考试题库(浓缩500题).docx
- 大学生职业规划大赛《会计学专业》生涯发展展示PPT.pptx
- 物理学法指导.ppt VIP
- 公需课答案执行力与创新服务力题库.pdf
- 部编版四年级上册《麻雀》说课课件.pptx VIP
- 人教版(2019)选择性必修 第一册Unit 1 People of Achievement 单元集体备课教案.docx
- 湖南省长沙市天心区2024-2025学年九年级上学期开学考试语文试卷.docx VIP
- Q320582 ZD028-2020预应力混凝土实心方桩(螺锁式连接、焊接连接).docx
文档评论(0)