- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 第二章 词法分析 主要内容: 词法分析过程涉及的几个问题 模式的形式化描述-正规式与正规集 记号的识别-有限自动机 从正规式到词法分析器 词法分析器生成器简介 一、词法分析过程涉及的几个问题 词法分析是编译过程中的第一个阶段。 执行词法分析的程序称为词法分析程序,也称为词法分析器或扫描器。 任务是:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号,把字符串形式的源程序改造成为单词符号串形式的中间程序。 功能是输入源程序,输出单词符号,并检查词法错误。 词法分析器作为主程序; 词法分析器作为子程序; 并行工作方式 2、单词符号的分类 单词符号分类: 词法分析程序简单地说就是读单词程序,该程描用高级语言编写的源程序,将源程序中由单词符号组成的字符串分解出一个个单词来。因此,单词符号是程序语言的基本语法单位,具有确定的语法意义。 程序语言的单词符号通常可分为下面五种: (1) 保留字(也称基本字):如C语言中的if、else、while和do等,这些字保留了语言所规定的含义,是编译程序识别各类语法成分的依据。几乎所有程序语言都限制用户使用保留字来作为标识符。 (2) 标识符:用来标记常量、数组、类型、变量、过程或函数名等,通常由用户自己定义。 (3) 常数:包括各种类型的常数,如整型常数386、实型常数0.618、布尔型常数TRUE等。 (4) 运算符:如“+”、“?”、“*”、“/”、“”、“”等。 (5) 界符:在语言中是作为语法上的分界符号使用的,如“,”、“;”、“(”、“)”等。 注意:一个程序语言的保留字、运算符和界符的个数是确定的,而标识符或常数的使用则不限定个数。 将产生和识别单词的规则称为模式(patten)。 按照某个模式(规则)识别出的元素称为记号(token)。 单词(lexeme)一词是指被识别出元素自身的值。 词法分析程序的输入是源程序字符串,而输出是与源程序等价的单词符号序列,并且所输出的单词符号通常表示成如下的二元式: (单词种别,单词自身的值) (1) 单词种别。 单词种别表示单词的种类,它是语法分析所需要的信息。 一个语言的单词符号如何划分种类、分为几类、如何编码都属于技术性问题,主要取决于处理上的方便。 通常让每种单词对应一个整数码,这样可最大限度地把各个单词区别开来。 对于保留字,可将其全体视为一种,也可一字一种,采用一字一种的分类方法处理起来比较方便; 标识符一般统归为一种; 常数可统归为一种,也可按整型、实型、布尔型等分为几种; 运算符和界符可采用一符一种的分法,也可统归为一种。 (2) 单词自身的值。 单词自身的值是编译中其它阶段所需要的信息。 对于单词符号来说: 如果一个种别只含有一个单词符号,那么对于这个单词符号,其种别编码就完全代表了它自身的值。 如果一个种别含有多个单词符号,那么对于它的每个单词符号,除了给出种别编码之外还应给出单词符号自身的值,以便把同一种类的单词区别开来。 注意:标识符自身的值就是标识符自身的字符串,而常数自身的值是常数本身的二进制数值。此外,我们也可用指向某类表格中一个特定项目的指针来区分同类中的不同单词。 例如,对于标识符,可以用它在符号表的入口指针作为它自身的值;而常数也可用它在常数表的入口指针作为它自身的值。 二、模式的形式化描述-正规式与正规集 1、字符串与语言 从词法分析的角度看,程序设计语言是由记号组成的集合,每个记号又是由若干字母按照一定规则组成的字符串。 定义2.1 语言L是有限字母表∑上有限长度字符串的集合。 定义2.1明确指出,语言是一个集合,集合中的元素是字符串,并且强调了两个有限: ① 字母表是有限的,即字母表中元素是有限多个; ② 字符串的长度是有限的,即字符串中字符个数是有限多个。 这是由于计算机所能表示的字符个数和字符串的长度都是有限的。 字符串的基本概念: 字符串集合上的基本运算 2、正规式与正规集 定义2.2 令Σ是一个有限字母表,则Σ上的正规式及其表示的集合递归定义如下: ① ε是正规式,它表示集合L(ε)=ε; ② 若a是Σ上的字符,则a是正规式,它表示集合L(a)=; ③ 若正规式r和s分别表示集合L(r)和L(s),则 (a) r|s是正规式,表示集合L(r)∪L(s); (b) rs是正规式,表示集合L(r)L(s); (c) r*是正规式,表示集合(L(r))*; (d) (r)是正规式,表示的集合仍然是L(r)。 可用正规式描述的
您可能关注的文档
- 绪论、第一章马克思主义自然观.ppt
- 绪论、1章唐代课件精简.ppt
- 绪论珍惜大学生生活开拓新的境界.ppt
- 绪论课作业和部份数据处理(2013.4.15).ppt
- 绪论心理咨询师.ppt
- 续期业务指标解析及内涵.ppt
- 绯闻女孩剧照.ppt
- 维果茨基的心理发展观.ppt
- 维生素(北大医学部教授演讲用PPT).ppt
- 维生素C的故事.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)