编译原理课件.ppt
《编译原理课件.ppt》由会员分享,可在线阅读,更多相关《编译原理课件.ppt(91页珍藏版)》请在第壹文秘上搜索。
1、编 译 原 理 词法分析理解词法分析器功能及形式;熟练掌理解词法分析器功能及形式;熟练掌握词法分析器设计的原理,单词的描述工具,掌握握词法分析器设计的原理,单词的描述工具,掌握正规文法、正规式、有穷自动机的相关概念及相互正规文法、正规式、有穷自动机的相关概念及相互转换转换; 掌握运用状态转换图进行词法分析器设计。掌握运用状态转换图进行词法分析器设计。 编 译 原 理 词法分析本章知识点本章知识点(内容内容)词法分析程序的设计词法分析程序的设计单词的描述工具单词的描述工具有穷自动机有穷自动机正规式和有穷自动机的等价性正规式和有穷自动机的等价性正规文法和有穷自动机的等价性正规文法和有穷自动机的等价
2、性词法分析程序的自动构造词法分析程序的自动构造编 译 原 理 词法分析编译程序首先是在单词级别上来分析和翻译源编译程序首先是在单词级别上来分析和翻译源程序的。程序的。词法分析的任务是词法分析的任务是:从左至右逐个字符地对源:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号,把作为程序进行扫描,产生一个个单词符号,把作为字符串的源程序改造成为单词符号串的中间程字符串的源程序改造成为单词符号串的中间程序。因此,词法分析是编译的基础。执行词法序。因此,词法分析是编译的基础。执行词法分析的程序称为分析的程序称为词法分析器词法分析器, ,词法分析程序亦词法分析程序亦称为扫描器。称为扫描器。词法分析
3、程序的设计词法分析程序的设计首页首页结束结束首页首页结束结束编 译 原 理 词法分析一、一、词法分析器功能和输出形式词法分析器功能和输出形式功能:输入源程序,输出单词符号。功能:输入源程序,输出单词符号。程序语言的单词符号一般分为五种:程序语言的单词符号一般分为五种:(1)关键字(保留字或基本字)关键字(保留字或基本字)(2)标识符标识符(3)常数(整型、实型、布尔型、文字型等)常数(整型、实型、布尔型、文字型等) (4)运算符。运算符。(5)界符界符(逗号、分号、括号、逗号、分号、括号、*,*等等)。词法分析器输出的单词符号常常表示为二元式:词法分析器输出的单词符号常常表示为二元式: (单词
4、种别,单词符号的属性值)(单词种别,单词符号的属性值)首页首页结束结束编 译 原 理 词法分析单词种别单词种别通常用整数编码。通常用整数编码。1 1、标识符一般统归为一种、标识符一般统归为一种2 2、常数则宜按类型(整、实、布尔等)分、常数则宜按类型(整、实、布尔等)分种种3 3、关键字可视其全体为一种,也可以一字、关键字可视其全体为一种,也可以一字一种。一种。4 4、运算符可采用一符一种的分法,但也可、运算符可采用一符一种的分法,但也可以把具有一定共性的运算符视为一种。以把具有一定共性的运算符视为一种。5 5、界符一般一符一种的分法。、界符一般一符一种的分法。首页首页结束结束编 译 原 理
5、词法分析 如果一个种别只含有一个单词符号,那么如果一个种别只含有一个单词符号,那么对于这个单词符号,种别编码就完全代表它自对于这个单词符号,种别编码就完全代表它自身了。若一个种别含有多个单词符号,那麽,身了。若一个种别含有多个单词符号,那麽,对于它的每个单词符号,除了给出种别编码之对于它的每个单词符号,除了给出种别编码之外,还应给出有关单词符号的外,还应给出有关单词符号的属性信息。属性信息。 单词符号的属性是指单词符号的特征或特单词符号的属性是指单词符号的特征或特性。属性值则是反映特性或特征的值。性。属性值则是反映特性或特征的值。【例如【例如】对于某个标识符,常将存放它有关信对于某个标识符,常
6、将存放它有关信息的符号表项的指针作为其属性值;对于某个息的符号表项的指针作为其属性值;对于某个常数,则将存放它的常数表项的指针作为其属常数,则将存放它的常数表项的指针作为其属性值。性值。首页首页结束结束编 译 原 理 词法分析 作为例子考虑下述作为例子考虑下述C+C+代码段:代码段: while (i=j) i- -;while (i=j) i- -; 经词法分析器处理后,它将转换为如下的单经词法分析器处理后,它将转换为如下的单词符号序列:词符号序列: while, - ( , - 标识符编码标识符编码 , ,指向指向i i的符号表项的指针的符号表项的指针 =的编码的编码 , - , - -
7、- , - ; , - 首页首页结束结束编 译 原 理 词法分析【例如【例如】单词符号单词符号 类别编号类别编号 标识符标识符 1 常数常数 2 if3 then 4 else5 program 6 begin7 end 8 + 9 - 10 * 11 单词符号单词符号 类别编号类别编号/ 12 ( 13 ) 14 15 = 16 17 = 18 19 :=20 ; 21 . 22 ,23 单词种别编码单词种别编码首页首页结束结束编 译 原 理 词法分析可使整个编译程序的结构更简沽、清晰和条理可使整个编译程序的结构更简沽、清晰和条理化。化。 也可以把词法分析器安排成一个子程序,每当也可以把词法
8、分析器安排成一个子程序,每当语法分析器需要一个单词符号时就调用这个子程语法分析器需要一个单词符号时就调用这个子程序。每一次调用,词法分析器就从输人串中识别序。每一次调用,词法分析器就从输人串中识别出一个单词符号,把它交给语法分析器。出一个单词符号,把它交给语法分析器。词法分析器作为独立子程序词法分析器作为独立子程序首页首页结束结束编 译 原 理 词法分析二、词法分析器的设计二、词法分析器的设计 1 1、输入、预处理、输入、预处理 词法分析器工作的第一步是输入源程序文本。输入串词法分析器工作的第一步是输入源程序文本。输入串一般放在一个缓冲区中,这个缓冲区称输入缓冲区。词一般放在一个缓冲区中,这个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 课件