第三章有限自动机和词法分析器 主要内容: 词法分析过程涉及的几个问题 词法分析器的生成技术 正则表达式 有限自动机
第三章有限自动机和词法分析器 主要内容: ⚫ 词法分析过程涉及的几个问题 ⚫ 词法分析器的生成技术 正则表达式 有限自动机
词法分析概述 有关词法分析器的几个问题和处理方法: 词法分析器的功能、分类 单词的分类、 Token表示 保留字 空格符、制表符和换行符 复合型符号 括号类匹配预检 字符串空间 词法错误校正 词法分析结束
词法分析概述 ⚫ 有关词法分析器的几个问题和处理方法: 词法分析器的功能、分类 单词的分类、Token表示 保留字 空格符、制表符和换行符 复合型符号 括号类匹配预检 字符串空间 词法错误校正 词法分析结束
词法分析器的功能 词法分析器功能: 读源程序的字符序列,逐个拼出单词,并 构造相应的内部表示T0KEN同时检查源程序 中的词法错误 ●引入 Token的原因 编译程序总是用某种程序语言书写的程 序,语言的操作对象只能是该语言规定的各种 数据。而编译程序的操作对象是程序中的各种 语法单位,因此,必须把它们表示成某种数据 结构形式
❖ 词法分析器的功能 ⚫ 词法分析器功能: ⚫ 读源程序的字符序列,逐个拼出单词,并 构造相应的内部表示TOKEN.同时检查源程序 中的词法错误. ⚫ 引入Token的原因: ⚫ 编译程序总是用某种程序语言书写的程 序,语言的操作对象只能是该语言规定的各种 数据。而编译程序的操作对象是程序中的各种 语法单位,因此,必须把它们表示成某种数据 结构形式
词法分析器的两种形式 ca l Charlist 附属 语法分析 词法分析器 Token Charlist 独立 词法分析器 Tokenlist语法分析
词法分析器的两种形式 CharList 独 立 词法分析器 语法分析 TokenList 附 属 词法分析器 语法分析 call Token CharList
令 Token定义 ● Token表示最小的语义单位一单词的信息 即单词内部表示的数据结构形式。 单词不是程序设计语言中的语法概念,是编译程 序中引进的一个概念。是最小的语义单位,不能 分割 ● Token中需要记录有关单词的信息: 单词的标志码($id,$intG,,)标识单词的种类 词法信息 单词的特征属性(标识符名,符号表地址等) 语义信息
❖ Token定义 ⚫ Token表示最小的语义单位--单词的信息。 即单词内部表示的数据结构形式。 单词不是程序设计语言中的语法概念,是编译程 序中引进的一个概念。是最小的语义单位,不能 分割 ⚫ Token中需要记录有关单词的信息: 单词的标志码($id,$intC,…)标识单词的种类--- 词法信息 单词的特征属性(标识符名,符号表地址等) -- -语义信息