《编译原理》课程PPT教学课件(讲稿)第三章 词法分析

第三章词法分析 本章将讨纶祠法分析程序的計原则,单 词的描述技术,别机制及词法分析程戽 的自动构造原理。 3.1词法分析程序 ●3.2正规表达式与正规集(正规语言) 3.3有穷自动机 34词法分析程序的自动构造
本章将讨论词法分析程序的设计原则,单 词的描述技术,识别机制及词法分析程序 的自动构造原理。 3.1 词法分析程序 3.2 正规表达式与正规集(正规语言) 3.3 有穷自动机 3.4 词法分析程序的自动构造 第三章 词法分析

本章重点 ●·单词的描述工具 ·单词的识别系统 ·设计和实现词法分析程序 首先需要描述和刻画程序设计语言中的原子 单位—单词,其次需要识别单词和执行某 些相关的动作 描述程序设计语言的词法的机制是正则表达 式,识别机制是有穷状态自动机
本章重点 • 单词的描述工具 • 单词的识别系统 • 设计和实现词法分析程序 – 首先需要描述和刻画程序设计语言中的原子 单位——单词,其次需要识别单词和执行某 些相关的动作。 – 描述程序设计语言的词法的机制是正则表达 式,识别机制是有穷状态自动机

回顺什麽是词法分析程序 实现词法分析( lexical analysis)的程序 逐个读入源程序字符并按照构词规则切分成 系列单词。单词是语言中具有独立意 义的最小单位,包括保留字、标识符、运算 符、标点符号和常量等。 词法分析是编译过程中的一个阶段,在语法 分析前进行。也可以和语法分析结合在一起 作为一遍,由语法分析程序调用词法分析程 序来获得当前单词供语法分析使用
回顾 什麽是词法分析程序 实现词法分析(lexical analysis)的程序 – 逐个读入源程序字符并按照构词规则切分成 一系列单词。 单词是语言中具有独立意 义的最小单位,包括保留字、标识符、运算 符、标点符号和常量等。 词法分析是编译过程中的一个阶段,在语法 分析前进行 。也可以和语法分析结合在一起 作为一遍,由语法分析程序调用词法分析程 序来获得当前单词供语法分析使用

词法分析程序和语法分析程序的关系 Token 源程序匚心词法分析程序二语法分析程序 ret tokeny
词法分析程序和语法分析程序的关系 源程序 词法分析程序 语法分析程序 Token get token …

词法分析程序的主要任务: 读源程序,产生单词符号 词法分析程序的其他任务: 滤掉空格,跳过注释、换行符 追踪换行标志,复制出错源程序, 宏展开
词法分析程序的主要任务: – 读源程序,产生单词符号 词法分析程序的其他任务: – 滤掉空格,跳过注释、换行符 – 追踪换行标志,复制出错源程序, – 宏展开,……

常常遇到的术语 Token 单词,词标,符号 lexeme 词素,词位 pattern 模式,式样
常常遇到的术语 Token 单词,词标,符号 lexeme 词素,词位 pattern 模式,式样

帮助理解术语 In general, there is a set of strings in the input for which the same token is produced as output. This set of strings is described by a rule called a pattern associated with the token. The pattern is said to match each string in the set a lexeme is a sequence of characters in the source program that is matched by the pattern for a token g Const pi=3.14159;中的 p是 token“ identifier 的 lexeme,其 pattern为 letter followed by letters and/or digit
帮助理解术语 In general,there is a set of strings in the input for which the same token is produced as output. This set of strings is described by a rule called a pattern associated with the token. The pattern is said to match each string in the set. A lexeme is a sequence of characters in the source program that is matched by the pattern for a token. e.g. – Const pi=3.14159;中的pi是token “identifier” 的lexeme,其pattern为letter followed by letters and/or digit

词法分析工作从语法分析工作独立出来的 原因: 简化设计 改进编译效率 增加编译系统的可移植性
词法分析工作从语法分析工作独立出来的 原因: – 简化设计 – 改进编译效率 – 增加编译系统的可移植性

正规表达式与正规集(正规语言) 程序设针语言中的单词是基本语法成分.单词符 号的语法可以用有放的工具加以描述,并且基 于这类描述工具,实现词法分析程序的自动构 告 首先表述一些基本术语和概念 符号一个抽象实体我们不再形式地定义它(就象几何中的” 点”一样)例如字母是符号数字也是符号 字母表字母表是元素的非空有穷集合,我们把字母表中 的元素称为符号,因此字母表也称为符号集 不同的语言可以有不同的字母表,例如汉语的字母表中 包括汉字、数字及标点符号等。 PASCAL语言的字母表 是由字母、数字、若干专用符号及 BEGIN、I之类的保 留字组成
正规表达式与正规集(正规语言) 程序设计语言中的单词是基本语法成分.单词符 号的语法可以用有效的工具加以描述,并且基 于这类描述工具,实现词法分析程序的自动构 造. 首先表述一些基本术语和概念. 符号 一个抽象实体,我们不再形式地定义它(就象几何中的” 点”一样).例如字母是符号,数字也是符号。 字母表 字母表是元素的非空有穷集合,我们把字母表中 的元素称为符号,因此字母表也称为符号集。 不同的语言可以有不同的字母表,例如汉语的字母表中 包括汉字、数字及标点符号等。PASCAL语言的字母表 是由字母、数字、若干专用符号及BEGIN、IF之类的保 留字组成

符号串由字母表中的符号组成的任何有穷序列称为符 号串,例如001110是字母表∑={0,1}上的符号串 字母表A={ab,c}上的一些符号串有:ab,c,ab,aca。 在符号串中,符号的顺序是很重要的,符号串ab就不 同于ba,abca和abc也不同 可以使用字母表示符号串,如x=STR表示“x是由符号 S、T和R,并按此顺序组成的符号串” 符号串的长度如果某符号串ⅹ中有m个符号,则称其长度 为m,表示为|x|=m,如001110的长度是6。 空符号串,即不包含任何符号的符号串,用E表示,其长 度为0,即|ε|=0
– 符号串 由字母表中的符号组成的任何有穷序列称为符 号串,例如00 11 10 是字母表 ={0,1}上的符号串. 字母表A={a,b,c}上的一些符号串有:a,b,c,ab,aaca。 在符号串中,符号的顺序是很重要的,符号串ab就不 同于ba,abca和aabc也不同。 可以使用字母表示符号串,如x=STR表示“ x是由符号 S、T和R,并按此顺序组成的符号串” 。 符号串的长度如果某符号串x中有m个符号,则称其长度 为m,表示为|x|=m,如001110的长度是6。 空符号串,即不包含任何符号的符号串,用ε表示,其长 度为0,即|ε|=0
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《编译原理》课程PPT教学课件(讲稿)第一章 概述.ppt
- 华北电力大学《操作系统》PPT教案_第八章 文件系统(File System).ppt
- 华北电力大学《操作系统》PPT教案_第七章 设备管理 (Devices Management).ppt
- 华北电力大学《操作系统》PPT教案_第六章 虚拟存储器(Virtual Memory).ppt
- 华北电力大学《操作系统》PPT教案_第五课 存储器管理(Memory Management).ppt
- 华北电力大学《操作系统》PPT教案_第四章 调度和死锁(Scheduling and Deadlock).ppt
- 华北电力大学《操作系统》PPT教案_第三章 进程的同步和通讯 (Synchronization and Communication Among Processes).ppt
- 华北电力大学《操作系统》PPT教案_第二章 进程的描述和控制(Process Description and Control).ppt
- 华北电力大学《操作系统》PPT教案_第一章 操作系统概述.ppt
- 计算机硬件基本知识_鼠标.doc
- 计算机硬件基本知识_键盘.doc
- 计算机硬件基本知识_硬盘.doc
- 计算机硬件基本知识_机箱.doc
- 计算机硬件基本知识_有趣.doc
- 计算机硬件基本知识_显示器.doc
- 计算机硬件基本知识_声卡.doc
- 计算机硬件基本知识_内存.doc
- 计算机硬件基本知识_光驱.doc
- 计算机硬件基本知识_主板.doc
- 计算机硬件基本知识_CPU.doc
- 《编译原理》课程PPT教学课件(讲稿)第九章 符号表.ppt
- 《编译原理》课程PPT教学课件(讲稿)第二章 PL/0编译程序.ppt
- 《编译原理》课程PPT教学课件(讲稿)第五章 LL(1)文法及其分析程序.ppt
- 《编译原理》课程PPT教学课件(讲稿)第八章 语法制导翻译和中间代码生成.ppt
- 《编译原理》课程PPT教学课件(讲稿)第六章 LR分析程序及其自动构造.ppt
- 《编译原理》课程PPT教学课件(讲稿)第十一章 代码优化.ppt
- 《编译原理》课程PPT教学课件(讲稿)第十二章 代码生成.ppt
- 《编译原理》课程PPT教学课件(讲稿)第十章 RUN-Time Organization.ppt
- 《编译原理》课程PPT教学课件(讲稿)第十章 目标程序运行时的组织.ppt
- 《编译原理》课程PPT教学课件(讲稿)第四章 文法和语言.ppt
- 《编译原理》课程PPT教学课件(讲稿)第四章 练习参考答案.ppt
- 《编译原理》课程PPT教学课件(讲稿)编译原理实验三、四讲稿.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)课程介绍.ppt
- 《VB语言程序设计》课程电子教案(讲义)教材习题答案(林卓然编著).doc
- 《VB语言程序设计》课程电子教案(PPT教学课件)第1章 认识 Visual Basic.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)第2章 程序设计基础.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)第3章 赋值与输入输出.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)第4章 选择结构设计.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)第5章 循环结构设计.ppt
- 《VB语言程序设计》课程电子教案(PPT教学课件)第6章 数组.ppt