‘教案’课程教案-第三章-1

‘教案’课程教案-第三章-1

教案:课程教案---第三章-1-教案作者:编译原理

章节名称第三章高级语言及其语法描述

3.1对于词法分析器的要求3.2词法分析器的设计

3.3.1正规式与正规集3.3.2确定有限自动机

课程类型理论课√讨论课□习题课□实验课□上机课□技能课□其他□

授课时间第4周周二3、4节教学进度

学生考勤应到:实到:请假:旷课:

教学方法多媒体+讲授

目的要求:

了解词法分析器的功能和输出形式,熟练掌握词法分析器设计的原理和方法,能够以转换图为工具

使用某种语言的编写并调试一个扫描器。

重点难点:

重点:词法分析器的设计;难点:状态转换图的实现

课后作业:

作业批改记录:

教学后记:

教学过程:

词法分析的任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号。

词法分析器(Lexical Analyzer)又称扫描器(Scanner):执行词法分析的程序

3.1对于词法分析器的要求

3.1.1词法分析器的功能和输出形式

功能:输入源程序、输出单词符号

单词符号的种类或者输出形式:

基本字:如begin,repeat,

标识符--表示各种名字:如变量名、数组名和过程名

常数:各种类型的常数

运算符:+,-,*,/,

界符:逗号、分号、括号和空白

输出的单词符号的表示形式:

(单词种别,单词自身的值)

单词种别通常用整数编码表示。若一个种别只有一个单词符号,则种别编码就代表该单词符号。假定基本字、运算符和界符都是一符一种。

若一个种别有多个单词符号,则对于每个单词符号,给出种别编码和自身的值。标识符单列一种;标识符自身的值表示成按机器字节划分的内部码。

常数按类型分种;常数的值则表示成标准的二进制形式。

3.1.2词法分析器作为一个独立子程序

词法分析是作为一个独立的阶段,是否应当将其处理为一遍呢?作为独立阶段的优点:结构简洁、清晰和条理化,有利于集中考虑词法分析一些枝节问题。

不作为一遍:将其处理为一个子程序。

3.2词法分析器的设计

3.2.1输入、预处理

输入串放在输入缓冲区中。

预处理子程序:剔除无用的空白、跳格、回车和换行等编辑性字符;区分标号区、捻接续行和给出句末符等

扫描缓冲区

3.2.2单词符号的识别:超前搜索

基本字识别:需要超前搜索才能确定哪些是基本字

标识符识别:字母开头的`字母数字串,后跟界符或算符

常数识别:识别出算术常数并将其转变为二进制内码表示。有些也要超前搜索。

算符和界符的识别:把多个字符复合而成的算符和界符拼合成一个单词符号。

3.2.3状态转换图

概念:状态转换图是一张有限方向图。结点代表状态,用圆圈表示;状态之间用箭弧连结,箭弧上的标记(字符)代表射出结状态下可能出现的输入字符或字符类;一张转换图只包含有限个状态,其中有一个为初态,实际上至少要有一个终态。

一个状态转换图可用于识别(或接受)一定的字符串。

几点重要限制--不必使用超前搜索:

所有基本字都是保留字;用户不能用它们作自己的标识符

基本字作为特殊的标识符来处理;不用特殊的状态图来识别,只要查保留字表。

如果基本字、标识符和常数(或标号)之间没有确定的运算符或界符作间隔,则必须使用一个空白符作间隔。

3.2.4状态转换图的实现

做法:

1)对不含回路的分叉结,可用一个CASE语句或一组IF-THEN-ELSE语句实现

2)对含回路的状态结,可对应一段由WHILE结构和IF语句构成的程序.

3)终态结表示识别出某种单词符号,因此,对应语句为

RETURN(C,VAL)

其中,C为单词种别,VAL为单词自身值.

3.2词法分析器的设计

3.2.1输入、预处理

输入串放在输入缓冲区中。

预处理子程序:剔除无用的空白、跳格、回车和换行等编辑性字符;区分标号区、捻接续行和给出句末符等

扫描缓冲区

3.2.2单词符号的识别:超前搜索

基本字识别:需要超前搜索才能确定哪些是基本字

标识符识别:字母开头的字母数字串,后跟界符或算符

常数识别:识别出算术常数并将其转变为二进制内码表示。有些也要超前搜索。

算符和界符的识别:把多个字符复合而成的算符和界符拼合成一个单词符号。

3.2.3状态转换图

概念:状态转换图是一张有限方向图。结点代表状态,用圆圈表示;状态之间用箭弧连结,箭弧上的标记(字符)代表射出结状态下可能出现的输入字符或字符类;一张转换图只包含有限个状态,其中有一个为初态,实际上至少要有一个终态。

一个状态转换图可用于识别(或接受)一定的字符串。

几点重要限制--不必使用超前搜索:

所有基本字都是保留字;用户不能用它们作自己的标识符

基本字作为特殊的标识符来处理;不用特殊的状态图来识别,只要查保留字表。

如果基本字、标识符和常数(或标号)之间没有确定的运算符或界符作间隔,则必须使用一个空白符作间隔。

3.2.4状态转换图的实现

做法:

1)对不含回路的分叉结,可用一个CASE语句或一组IF-THEN-ELSE语句实现

2)对含回路的状态结,可对应一段由WHILE结构和IF语句构成的程序.

3)终态结表示识别出某种单词符号,因此,对应语句为

RETURN(C,VAL)

其中,C为单词种别,VAL为单词自身值.

相关文章

《声情并茂-押韵和平仄》教案【通用3篇】

《声情并茂——押韵和平仄》教案 教学目标 通过讲解让学生了解诗歌的押韵与平仄; 培养学生热爱诗歌,喜爱我国古老民族博大精深的传统文化. 教学过程...
教案大全2017-07-01
《声情并茂-押韵和平仄》教案【通用3篇】

七年级数学整式的加减教案设计(精彩3篇)

教学目的 1、使学生在掌握合并同类项、去括号法则基础上进行整式的加减运算。 2、使学生掌握整式加减的一般步骤,熟练进行整式的加减运算。 教学分析 重点:整式的加减运算。 难点:括号前是-号,去括号时,...
教案大全2015-06-08
七年级数学整式的加减教案设计(精彩3篇)

语文《口语交际习作八》教案(通用6篇)

在教学工作者实际的教学活动中,通常会被要求编写教案,教案有助于顺利而有效地开展教学活动。优秀的教案都具备一些什么特点呢?以下是小编整理的语文《口语交际习作八》教案,欢迎阅读与收藏。语文《口语交际习作八...
教案大全2017-08-01
语文《口语交际习作八》教案(通用6篇)

投实心球教学反思(优秀5篇)

导语:“一个教师写一辈子教案不可能成为名师,如果一个教师写三年教学反思,就有可能成为名师。”接下来小编整理了投实心球教学反思3篇,文章希望大家喜欢!  篇一:投实心球教学反思  本节课自认为是成功的,...
教案大全2013-07-02
投实心球教学反思(优秀5篇)

环保节约主题班会教案(经典6篇)

在教学工作者实际的教学活动中,时常会需要准备好教案,编写教案助于积累教学经验,不断提高教学质量。优秀的教案都具备一些什么特点呢?以下是小编收集整理的环保节约主题班会教案,欢迎大家借鉴与参考,希望对大家...
教案大全2012-02-02
环保节约主题班会教案(经典6篇)

二元一次方程【精彩6篇】

二元一次方程5篇1教学目标1.会列二元一次方程组解简单的应用题并能检验结果的合理性。2.提高分析问题、解决问题的能力。3.体会数学的应用价值。教学重点根据实际问题列二元一次方程组。教学难点1.找实际问...
教案大全2014-06-07
二元一次方程【精彩6篇】