第3章词法分析 n 3.1词法分析程序的设计 n手工设计3.2PL0编译程序的词法分析(理解实践) n 自动设计原理 u33单词的形式化描述工具(理解) u3.4有穷自动机(掌握重点难点) 3.5正规式和有穷自动机的等价性(掌握重点) u3.6正规文法和有穷自动机的等价性(了解) n自动设计工县3.7词法分析程序的自动构造工县(了解) n本章练习 n作业 课程目录 28-二月-23 ☒1
28-二月-23 1 第3章 词法分析 n 3.1 词法分析程序的设计 n 手工设计 3.2 PL/0编译程序的词法分析(理解实践) n 自动设计原理 u 3.3 单词的形式化描述工具(理解) u 3.4 有穷自动机(掌握 重点 难点) u 3.5 正规式和有穷自动机的等价性(掌握 重点 ) u 3.6 正规文法和有穷自动机的等价性(了解) n 自动设计工具3.7 词法分析程序的自动构造工具(了解) n 本章练习 n 作业 课程目录
词法分析(Lexical Analysis)p37 n主要功能 u从左至右逐个字符地对源程序进行扫描,产生 一个个的单词符号,把作为字符串的源程序改 造成为单词符号串的中间程序。 u或者说:逐个读入源程序字符,并按照词法规 则分割成一系列单词,再转换成单词串,同时 进行词法检查。 第一阶段词法分析p2例某C语言源程序 ■任务 main( ◆输入源程序(字符串) float sum,first,count .sum=first+count*10;. ◆根据语言的词法规则 输出结果 对构成源程序的字符 class value 串进行扫描和分解 保留字 main ◆识别出一个个的单词 界符一左括号 ■单词内部表示形式 界符一右括号 ◆二元式 界符左花括号 (class,value) 保留字 float 标识符1-id1 sum 单词值 算符乘号 整数 10 28-二月-23
28-二月-23 2 词法分析(Lexical Analysis)p37 n 主要功能 u 从左至右逐个字符地对源程序进行扫描,产生 一个个的单词符号,把作为字符串的源程序改 造成为单词符号串的中间程序。 u 或者说:逐个读入源程序字符,并按照词法规 则分割成一系列单词,再转换成单词串,同时 进行词法检查
3.1词法分析程序设计 (Lexical Analysis)p37 n主要任务 D:\TC\TCEXE u读源程序,产生单词符号。 n其他任务 u滤掉空格,跳过注释、换行符; u追踪换行标志,复制出错源程序; u宏展开,. n关键 u当keu to u找出单词分隔符。 28-二月-23 ☒3
28-二月-23 3 3.1 词法分析程序设计 (Lexical Analysis)p37 n 主要任务 u 读源程序,产生单词符号。 n 其他任务 u 滤掉空格,跳过注释、换行符; u 追踪换行标志,复制出错源程序; u 宏展开,. n 关键 u 找出单词分隔符
词法分析技术应用(讨论) n可应用于其它领域 u比如查询语言以及信息检索系统等,这种应用领域的程序 设计特点是,通过字符串模式的匹配来引发动作。 u又如LEX,说明词法分析程序的语言,可以看成是一个模 式动作语言。 词法分析程序的自动构造工具也广泛应用于许多方面 如用以生成一个程序,可识别印刷电路板中的缺陷。 u又如开关线路设计和文本编辑的自动生成等。 28-二月-23 ☒4
28-二月-23 4 词法分析技术应用(讨论) n 可应用于其它领域 u 比如查询语言以及信息检索系统等,这种应用领域的程序 设计特点是,通过字符串模式的匹配来引发动作。 u 又如LEX,说明词法分析程序的语言,可以看成是一个模 式动作语言。 n 词法分析程序的自动构造工具也广泛应用于许多方面 u 如用以生成一个程序,可识别印刷电路板中的缺陷。 u 又如开关线路设计和文本编辑的自动生成等
3.1.1词法和语法分析器的接口方式p37 作为单独的一遍,在语法分析前进行。 n与语法分析结合在一起作为一遍。 u作为语法分析程序的一个子程序,每次调用识别 一个单词,交给语法分析器使用。 取单词 源程序 语法树 词法分析 语法分析 送单词 表格管理 符号表 常数表 28-二月-23 ☒5
28-二月-23 5 3.1.1词法和语法分析器的接口方式 p37 n 作为单独的一遍,在语法分析前进行。 n 与语法分析结合在一起作为一遍。 u 作为语法分析程序的一个子程序,每次调用识别 一个单词,交给语法分析器使用。 词法分析 表格管理 语法分析 源 程 序 送单词 符号表 常数表 取单词 语法树