- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理4章概要
词法分析的主要任务是对源程序进行扫描,从中识别出单词,它是编译过程的第一步,也是编译过程中不可缺少的部分。 本章介绍词法分析程序的手工构造和自动构造原理。 4.1 词法分析器与单词符号 4.1 词法分析器与单词符号 4.1 词法分析器与单词符号 4.1 词法分析器与单词符号 4.2 扫描程序的设计 4.2 扫描程序的设计 4.2 扫描程序的设计 4.2 扫描程序的设计 4.3 词法分析程序自动生成 LEX是一个词法分析程序生成器。 LEX接受一组正规表达式以及每个正规表达式相应的一组动作。 “动作”本身是一小段程序代码,它指出了按正规表达式识别出一个单词后应采取的动作。 实 习 第4章 词法分析 编译原理 陈炬桦 isscjh@mail.sysu.edu.cn 词法分析器 完成词法分析任务的程序段; 可作为独立的程序; 可作为独立的子程序: 对源程序进行扫描,从中识别各个单词符号。 输出数对(单词类别,单词号—值) 单词符号 程序设计语言的基本语法单位和最小语义单位 单词符号的种类: ①???? 关键字 ②???? 用户标识符 ③???? 常量 ④???? 运算符 ⑤???? 分界符 扫描程序的设计 状态转换图 词法分析程序依据语言词法规则,分析由字符组成的源程序,把它识别为一个一个具有独立意义的最小语法单位,即“单词”,并识别出与其相关的属性(如是标识符,是界限符,还是数,等等),再转换成长度上统一的标准形式——属性字,把字符串形式的源程序改造成为单词符号串(属性字)形式的中间程序,以供其它部分使用。 1. 词法分析程序的作用 如删除注解、空格、回车符、换行符之类非必要信息,把标识符登录入符号表及某些预加工处理等。 2.词法分析程序的地位 · 作为一个独立阶段 ⑴能独立地研究词法与语法两方面的特性。 ⑵词法规则简单,可建立特别适用的有效分析技术,易于实现词法分析程序生成自动化。 ⑶可以就同一语言,为每种不同的机器编写一个词法分析程序,而只编写一个共同的语法分析程序。 每当语法分析程序需要一个单词符号时就调用词法分析子程序,每一次调用,词法分析子程序就从源程序中识别出一个单词符号交给语法分析程序。 2.词法分析程序的地位 · 作为一个独立阶段 · 安排为一个子程序 3. 单词符号 程序语言的单词符号一般可分为五种: 关键字、标识符、常数、运算符、界限符。 ? 单词种别 一类一码;一符一码。 ? 单词符号的属性值 反映单词符号特征或特性的值。如标识符的符号表指针,常数的常数表指针等。 1.预处理 如删除注解、空格、回车符、换行符之类非必要信息。 从源程序中处理出一串确定长度的输入字符,并将其装进词法分析程序指定的缓冲区——扫描缓冲区中。 1.预处理 2.单词符号的识别——超前搜索 ? 关键字的识别 ? 标识符的识别 ? 常数的识别 ? 算符和界限符的识别 3.状态转换图 0 1 0 1 0 1 0 1 q3 q1 start q2 q4 状态转换图中的每一个状态实际上对应着分析过程的某一个时刻。 状态转换图的实现 :将状态转换图看作是通常的程序框图。 每个状态构造一段代码,代码的功能为: ①从输入串中读一个字符; ②判明读入的字符与由此状态出发的哪条弧上的标记相匹配,便转至相匹配的那条弧所指向的状态; ③均不匹配时便失败(不能到达正常出口)。 有些词法分析程序还会在这些代码段中加上一些其它语义处理(如对数值进行10进制到2进制的转换等)。 词法分析程序L 输入源程序 单词符号串 LEX编译程序 LEX源程序 词法分析器L 实习题:构造一个小语言的词法分析程序。 设计一个包含简单算术表达式、赋值语句、IF语句的小语言的文法。 根据此文法,构造一词法分析程序。输入以“#”为结束符的源程序,输出为各类单词表和单词串文件。 要求:源程序和输出的单词串均以文件的形式存放。单词的自身值均为其对应的表的指针,如标识符表的指针、常数表的指针等。 提交:实习报告、程序运行结果。 4.3 标识符的处理 类型的机内表示 标识符的机内表示又称为机内符,它包括标识符的全部信息。 可以采用向量形式表示。 表示符的语义表示 标识符用来标识变量、数组、函数和过程等。 符号表 用来存放程序中出现
您可能关注的文档
- 闲聊整合传播.ppt
- 间隔排列-朱娟.pptx
- 绿灯间隔时间对交叉口交通安全的影响概要.ppt
- 绿色建筑与绿色施工概要.ppt
- 问题解决介绍课件_延锋江森质量学院.pptx
- 间隔排列找规律(四上).ppt
- 闸门面板和次梁的设计.pptx
- 综述风云变幻的八十年概要.ppt
- 阅读指导——理解文中重要词句的含义.ppt
- 阅读解读课件.ppt
- GB/T 22120-2025企业信用数据项要求.pdf
- GB/T 45988-2025数字化转型管理 能力体系建设要求.pdf
- GB/T 45957-2025信息技术 政务服务码 码系统接口要求.pdf
- 中国国家标准 GB/T 45957-2025信息技术 政务服务码 码系统接口要求.pdf
- 《GB/T 45957-2025信息技术 政务服务码 码系统接口要求》.pdf
- GB/T 755-2025旋转电机 定额与性能.pdf
- 《GB/T 755-2025旋转电机 定额与性能》.pdf
- 中国国家标准 GB/T 755-2025旋转电机 定额与性能.pdf
- GB/T 31722-2025网络安全技术 信息安全风险管理指导.pdf
- 《GB/T 31722-2025网络安全技术 信息安全风险管理指导》.pdf
文档评论(0)