清华大学:《编译原理》课程教学资源_第三章 词法分析

第三章词法分析 本章将讨纶祠法分析程序的計原则,单 词的描述技术,别机制及词法分析程戽 的自动构造原理。 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
- 清华大学:《编译原理》课程教学资源_教学计划.doc
- 清华大学:《编译原理》课程教学资源_复习题1.doc
- 清华大学:《编译原理》课程教学资源_前后端图.doc
- 清华大学:《编译原理》课程教学资源_作业及answer.doc
- 清华大学:《编译原理》课程教学资源_TAC Three address code.rtf
- 清华大学:《编译原理》课程教学资源_第六章 LR分析程序及其自动构造.ppt
- 清华大学:《编译原理》课程教学资源_java图.doc
- 清华大学:《编译原理》课程教学资源_第8章 Review.ppt
- 清华大学:《编译原理》课程教学资源_第5章 练习答案.doc
- 清华大学:《编译原理》课程教学资源_29 TAC examples.pdf
- 西北工业大学:《计算机文化基础》 第七章 中文 Powerpoint.ppt
- 西北工业大学:《计算机文化基础》 第六章 中文 Excel97.ppt
- 西北工业大学:《计算机文化基础》 第五章 文字处理系统Word97.ppt
- 西北工业大学:《计算机文化基础》 第八章 计算机网络技术.ppt
- 西北工业大学:《计算机文化基础》 第三章计算机的数制、编码和逻辑代数及电路与第四章计算机操作系统的基本知识和应用.ppt
- 西北工业大学:《计算机文化基础》 第一章计算机文化与第二章计算机系统概论.ppt
- 清华大学:《数据结构及其应用》课程教学资源(试卷习题)试题10.doc
- 清华大学:《数据结构及其应用》课程教学资源(试卷习题)试题9.doc
- 清华大学:《数据结构及其应用》课程教学资源(试卷习题)试题7.doc
- 清华大学:《编译原理》课程教学资源_第九章 符号表.ppt
- 清华大学:《编译原理》课程教学资源_第二章 PL/0编译程序.ppt
- 清华大学:《编译原理》课程教学资源_第五章 LL(1)文法及其分析程序.ppt
- 清华大学:《编译原理》课程教学资源_第八章 语法制导翻译和中间代码生成.ppt
- 清华大学:《编译原理》课程教学资源_第十一章 代码优化.ppt
- 清华大学:《编译原理》课程教学资源_第十二章 代码生成.ppt
- 清华大学:《编译原理》课程教学资源_第十章 review.ppt
- 清华大学:《编译原理》课程教学资源_第十章 目标程序运行时的 组织.ppt
- 清华大学:《编译原理》课程教学资源_第四章 文法和语言.ppt
- 清华大学:《编译原理》课程教学资源_第四章练习答案.ppt
- 清华大学:《编译原理》课程教学资源_实验三,四讲稿.ppt
- 清华大学:《计算机文化基础》 第一章 计算机基础知识.ppt
- 清华大学:《计算机文化基础》 第二章 图形用户界面的使用.ppt
- 清华大学:《计算机文化基础》 第三章 Windows2000基本使用.ppt
- 清华大学:《计算机文化基础》 第四章 文字处理软件的使用.ppt
- 清华大学:《计算机文化基础》 第五章 因特网基础知识.ppt
- 清华大学:《计算机文化基础》 第六章 WWW信息服务与信息搜索.ppt
- 清华大学:《计算机文化基础》 第七章 网页制作(一).ppt
- 清华大学:《计算机文化基础》 第八章 网页制作(二).ppt
- 清华大学:《计算机文化基础》 第九章 Power point演示软件.ppt