第三章词法分析及其自动构造 阅法分析程序的设针原則,单侗的描述技 术,识别机制及阅法分析程序的負动构造 原理
词法分析程序的设计原则,单词的描述技 术,识别机制及词法分析程序的自动构造 原理。 第三章 词法分析及其自动构造
·单词的描述工具 ·单词的识别系统 设计词法分析程序实现词法分析程序的自动构造
• 单词的描述工具 • 单词的识别系统 • 设计词法分析程序,实现词法分析程序的自动构造
回顺什麽是词法分析程序 实现词法分析( lexical analysis)的程序 逐个读入源程序字符并按照构词规则切分成 系列单词。单词是语言中具有独立意 义的最小单位,包括保留字、标识符、运算 符、标点符号和常量等。 词法分析是编译过程中的一个阶段,在语法 分析前进行。也可以和语法分析结合在一起 作为一遍,由语法分析程序调用词法分析程 序来获得当前单词供语法分析使用
回顾 什麽是词法分析程序 实现词法分析(lexical analysis)的程序 – 逐个读入源程序字符并按照构词规则切分成 一系列单词。 单词是语言中具有独立意 义的最小单位,包括保留字、标识符、运算 符、标点符号和常量等。 词法分析是编译过程中的一个阶段,在语法 分析前进行 。也可以和语法分析结合在一起 作为一遍,由语法分析程序调用词法分析程 序来获得当前单词供语法分析使用
词法分析程序和语法分析程序的关系 Token 源程序 词法分析程序 语法分析程序 get token 源程序 词法分析程序源程序 法分析程序
词法分析程序和语法分析程序的关系 源程序 词法分析程序 语法分析程序 Token get token 源程序 词法分析程序 语法分析程序…. 源程序 词法分析程序 源程序 语法分析程序
词法分析程序的主要任务: 读源程序,产生单词符号 词法分析程序的其他任务: 滤掉空格,跳过注释、换行符 追踪换行标志,复制出错源程序, 宏展开
词法分析程序的主要任务: – 读源程序,产生单词符号 词法分析程序的其他任务: – 滤掉空格,跳过注释、换行符 – 追踪换行标志,复制出错源程序, – 宏展开,……
词法分析工作从语法分析工作独立出来的 原因: 简化设计 改进编译效率 增加编译系统的可移植性
词法分析工作从语法分析工作独立出来的 原因: – 简化设计 – 改进编译效率 – 增加编译系统的可移植性
单词的描述工具正规表达式 单词的识别系统有穷自动机 ·设计词法分析程序奧现词法分析程序的自动构造
• 单词的描述工具-正规表达式 • 单词的识别系统-有穷自动机 • 设计词法分析程序,实现词法分析程序的自动构造
令∑={a,b},∑上的正规式和相应的正规 集的例子 a a ab (alb(a b) a (a b"(aa bbalb)
令={a,b},上的正规式和相应的正规 集的例子 a ab ab (ab)(ab) a (ab) (ab) (aabb)(ab)
卫规式 正规式也称正则表达式,是定义正规集的数 学工具。正规表达式( regular expression) 是说明单词的模式( pattern)的一种重要的 表示法(记号),我们用以描述单词符
正规式 正规式也称正则表达式,是定义正规集的数 学工具。正规表达式(regular expression) 是说明单词的模式(pattern)的一种重要的 表示法(记号),我们用以描述单词符 号
令∑={a,b},∑上的正规式和相应的正规 集的例子 a a a a ab ab, (alb(a b) aa, ab, ba, bb) a 8.a aa 任意个a 的串} ab,aabb.所有 由a和b组成的串} (a b"(aa bbalb) Σ*上所有含有两个相继 的a或两个相继的b组成的 串}
令={a,b},上的正规式和相应的正规 集的例子 a ab ab (ab)(ab) a (ab) (ab) (aabb)(ab) {a} {a,b} {ab} {aa,ab,ba,bb} { ,a,aa, ……任意个a 的串} { ,a,b,aa,ab,bb ……所有 由 a和b组成的串} {上所有含有两个相继 的a或两个相继的b组成的 串}