第2章 文法 计算机专业 形式语言课件_506
合集下载
《编译方法》第2章 形式语言和文法
S 推导出 “ 000111” , 推导长度3
“ 000111” 归约到 S
+ 表示成 S ⇒ 000111
第2章 形式语言与文法 2.2 文法
2.2.3 相关概念
2.句型和句子
定义: 文法G(VN,VT,S ,P),若符号串x可由开始符号S推导出
* (S ⇒ x),则称 x 是 G 的一个句型,若x仅由终结符组成, 则称 x 为G 的一个句子。 注意:句型和句子都必须由开始符号S推出!
(2)用适当条数的规则描述了一个语言的全部句子。
第2章 形式语言与文法 2.1 语言
2.2 文法
2.2.1 文法的形式定义
2.2.2 文法的表示方法
2.2.3 相关概念
第2章 形式语言与文法
2.2 文法
2.2.1 文法的形式定义
1.终结符
不可分割的符号串,是组成句子的最基本的单位。
一个语言允许使用的所有终结符组成的集合称为终结符集, 用VT 表示。
则 |x|=4 , |y|=4 xy = “homework”
第2章 形式语言与文法
| xy | = 4+4 = 8
2.1 语言
2.1.1 语言的概念
方幂:符号串 x 的方幂就是 n个x 自身连接 次,表示为 xn 。 规定 x0 =ε。 成立的等式: x1=x , x2=xx , x3=xxx ,……
若n>0,则有: xn = xxn-1 = xn-1x
x* 表示 x 的任意多次方幂(可以是 0 次) x+ 表示 x 的任意非 0 次方幂。 【例2-3】 若 x = “ab” 则 x0 =ε x1 = “ab”
x2 = “abab”
第2章 形式语言与文法
编译原理讲义第二章文法与语言.ppt
• 注意:在寻找一个句型的短语(或简单 短语)时,必须要求将这个短语规约为 相应的非终结符号后所得到的符号串仍 然是句型。
• 句柄:一个句型的最左简单短语称为该 句型的句柄。
• 定义句柄的原因:在自底向上识别一个 符号串时,总是规约这个句柄。
语言的定义(文法的语言)
• 文法的语言:一个文法G[Z]的语言,用 L(G[Z])表示,定义如下:
文法和语言的定义(推导)
• 直接推导:,,并且是文法中的一个重 写规则,那么我们说v可以直接推导到w, 或者w可以直接规约到v。记作 v => w。
• 例如: • 〈主语〉〈谓语〉〈状语〉 • =>〈名词〉〈谓语〉〈状语〉
文法和语言的定义(推导)
• 推导:对于符号串v和w,如果存在一个 直接推导序列u0=>u1=>…=>,并且u0,, 那么我们说v可以推导到w,或者w规约 到v。记作v =>+ w。
编译原理讲义 (章:文法与语言)
文法与语言
• 文法被用来精确而无歧义地描述语言的 句子的构成方式.
• 文法描述语言的时候不考虑语言的含义。
字母表
定义:字母表是有穷非空集合。
字母表包含了语言中所允许出现的一切符 号。
符号串
• 定义:符号串是由字母表中的符号所组 成的有穷序列。
• 一个语言的句子总是它的字母表的符号 串。这个符号串的组成必须是按照文法 规则组合而成的。
符号串集合
• 定义:若集合A中的一切元素都是同一个 字母表上的集合,那么A被称为该字母表 上的符号串集合。
• 在本课程中,语言被认为是句子的集合。 (外延定义?)所以,一个语言就是对 应于它的字母表上的一个符号串集合。
符号串集合的运算
• 句柄:一个句型的最左简单短语称为该 句型的句柄。
• 定义句柄的原因:在自底向上识别一个 符号串时,总是规约这个句柄。
语言的定义(文法的语言)
• 文法的语言:一个文法G[Z]的语言,用 L(G[Z])表示,定义如下:
文法和语言的定义(推导)
• 直接推导:,,并且是文法中的一个重 写规则,那么我们说v可以直接推导到w, 或者w可以直接规约到v。记作 v => w。
• 例如: • 〈主语〉〈谓语〉〈状语〉 • =>〈名词〉〈谓语〉〈状语〉
文法和语言的定义(推导)
• 推导:对于符号串v和w,如果存在一个 直接推导序列u0=>u1=>…=>,并且u0,, 那么我们说v可以推导到w,或者w规约 到v。记作v =>+ w。
编译原理讲义 (章:文法与语言)
文法与语言
• 文法被用来精确而无歧义地描述语言的 句子的构成方式.
• 文法描述语言的时候不考虑语言的含义。
字母表
定义:字母表是有穷非空集合。
字母表包含了语言中所允许出现的一切符 号。
符号串
• 定义:符号串是由字母表中的符号所组 成的有穷序列。
• 一个语言的句子总是它的字母表的符号 串。这个符号串的组成必须是按照文法 规则组合而成的。
符号串集合
• 定义:若集合A中的一切元素都是同一个 字母表上的集合,那么A被称为该字母表 上的符号串集合。
• 在本课程中,语言被认为是句子的集合。 (外延定义?)所以,一个语言就是对 应于它的字母表上的一个符号串集合。
符号串集合的运算
计算机二级C语言PPT第2章
S1:1=>sign S2:1=>sum S3:2=>deno S4:(-1)×sign=>sign S5:sign×(1/deno)=>term S6:sum+term=>sum S7:deno+1=>deno S8:若deno≤100 返回S4;
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
否则算法结束。
在步骤S1中先预设sign(代表级数中各项的符 号,它的值为1或-1)。在步骤S2中使sum等于 1 ,相当于已将级数中的第一项放到了sum中。 在步骤S3中使分母的值为2。在步骤S4中使sign 的值变为-1。在步骤S5中求出级数中第2项的值 -1/2。在步骤S6中将刚才求出的第二项的值-1/2 累加到sum中。至此,sum的值是1-1/2。在步骤 S7中使分母deno的值加1(变成3)。执行S8步 骤,由于deno≤100,故返回S4步骤,sign的值 改为1,在S5中求出term的值为1/3,在S6中将 1/3累加到sum中。然后S7再使分母变为4。按此 规律反复执行S4到S8步骤,直到分母大于100为 止。一共执行了99次循环,向sum累加入了99 个分数。sum最后的值就是级数的值。
对同一个问题,可以有不同的解题方法和 步骤。方法有优劣之分。有的方法只需进行很 少的步骤,而有些方法则需要较多的步骤。一 般说,希望采用简单的和运算步骤少的方法。 因此 ,为了有效地进行解题,不仅需要保证算 法正确, 还要考虑算法的质量, 选择合适的算法
我们所关心的当然只限于计算机算法,即计算 机能执行的算法。
计算机算法可分为两大类别:数值算法和 非数值算法。数值运算的目的是求数值解 。非 数值运算包括的面十分广泛,最常见的是用于 事务管理领域。目前,计算机在非数值运算方 面的应用远远超过了在数值运算方面的应用。 由于数值运算有现成的模型,可以运用数值分 析方法,因此对数值运算的算法研究比较深入, 算法比较成熟。对各种数值运算都有比较成熟 的算法可供选用。人们常常把这些算法汇编成 册(写成程序形式),或者将这些程序存放在磁 盘或磁带上,供用户调用。
编译原理_第2章_文法和语言
2.1 文法和语言的定义
字符串连接、字符串长度
定义2.4 符号串x和y的连接:指x和y的符号按先后顺序排列 在一起组成的新的符号串,用xy表示。 例:若∑={a,b}, x=ab, y=ba, 则xy=abba, yx=baab。 注意:(1)xy≠yx; (2)εx=xε=x。
定义2.5 符号串的长度:指符号串中符号的个数。
2.1 文法和语言的定义
文法
什么是文法
文法是定义或描述语法结构的一组形式规则,是规则的非空有穷集合 规则又称为重写规则,产生式或生成式,每个产生式为αβ或 α::=β, α是某字母表A的正闭包A+的一个符号称为规则的左部; β是A*中的一 个符号,称为规则的右部。
α与β的区别?
2.1 文法和语言的定义
文法 定义2.11 符号串的推导与归约:已给文法G={VN, VT, P, S}, V=VN∪VT,令x,y,α,β ∈V*,且αβ∈P,则xαy能直接推导出xβy ,或者xβy 直接规约到xαy ,记作xαyxβy。 “”读作直接推导
例2.1 G=({ N }, { 0,1 },{ N0N, N1N, N0, N1 }, N)中,存
2.1 文法和语言的定义
当语言包含的句子无限时,如何构造文法?
2.1 文法和语言的定义
根据语言构造文法 例2.3 构造文法G,使其描述的语言为正奇数集合。 分析:正奇数要求,要么是一位奇数数字,要么是以奇数数字结尾的十进 制数字。 令G={VN,VT,P,<正奇数>} VT={0,1,2,3,4,5,6,7,8,9} P: <一位奇数>1|3|5|7|9 <正奇数><一位奇数>|<数字串><一位奇数> <数字串><数字串><数字>|<数字> <数字> <一位奇数>|0|2|4|6|8 VN={<正奇数>,<一位奇数>,<数字串>,<数字>}
Chapt文法和语言精品PPT课件
,11,100, 0110,111110000等二进制数都是上的符号串
={a,b,c,+,*},则ε, a , b , c , + , *,aa, ab,ac,a+,a*,ba,bb,bc,b+,b*,aaa,bbb 等都是上的符号串
一个字母表上的全部符号串所组成的集合是无穷 的。
语言的语法成分
非终结符号集Vn={<句子>, <主语>, <谓语>, <冠词>, <形容词>, <名词>,
<动词>, <直接宾语>, <助动词>, <动词原形>}
产生式集P={<句子>→ <主语><谓语>,…… } 开始符号Z= <句子>
又称为语法规则集, 即符号的组成规则
文法G的形式定义:G=(Vn,Vt,P,Z) ➢Vn(非终结符号集)是一个由非终结符号(一般是大写 字母或用<汉字>)构成的非空有穷集合。
2.1 字母表和符号串
符号串的长度:指符号串x中所含符号的个数, 记为|x|。特别地, |ε|=0。 例
={a,b,c,+,*}, |abc|=3,|abc+*abc|=8
符号串相等:若x、y是字母表∑上的两个符号串, 那么当且仅当组成x的各符号与组成y的各符号依 次相等时,则符号串x与符号串y相等,记作x=y。 例
学习重点
1 文法的定义、分类和二义性 2 最左推导、规范推导(或最右推导) 3 语言、句型和句子 4 短语、简单短语(或直接短语)和句柄 5 语法树
形式语言(P12)
如果不考虑语义和语用,只从语法这一侧面来看 语言,它是由符合某种语法(用规则定义)的句 子构成的集合,这种意义下的语言称作形式语言。
={a,b,c,+,*},则ε, a , b , c , + , *,aa, ab,ac,a+,a*,ba,bb,bc,b+,b*,aaa,bbb 等都是上的符号串
一个字母表上的全部符号串所组成的集合是无穷 的。
语言的语法成分
非终结符号集Vn={<句子>, <主语>, <谓语>, <冠词>, <形容词>, <名词>,
<动词>, <直接宾语>, <助动词>, <动词原形>}
产生式集P={<句子>→ <主语><谓语>,…… } 开始符号Z= <句子>
又称为语法规则集, 即符号的组成规则
文法G的形式定义:G=(Vn,Vt,P,Z) ➢Vn(非终结符号集)是一个由非终结符号(一般是大写 字母或用<汉字>)构成的非空有穷集合。
2.1 字母表和符号串
符号串的长度:指符号串x中所含符号的个数, 记为|x|。特别地, |ε|=0。 例
={a,b,c,+,*}, |abc|=3,|abc+*abc|=8
符号串相等:若x、y是字母表∑上的两个符号串, 那么当且仅当组成x的各符号与组成y的各符号依 次相等时,则符号串x与符号串y相等,记作x=y。 例
学习重点
1 文法的定义、分类和二义性 2 最左推导、规范推导(或最右推导) 3 语言、句型和句子 4 短语、简单短语(或直接短语)和句柄 5 语法树
形式语言(P12)
如果不考虑语义和语用,只从语法这一侧面来看 语言,它是由符合某种语法(用规则定义)的句 子构成的集合,这种意义下的语言称作形式语言。
编译原理第二章文法和语言
语言的语法结构
总结词
语言的语法结构是语言形成和发展的核心要素,决定 了语言的表达方式和意义。
详细描述
语言的语法结构是指语言的组织规律和规则,包括词 法、句法、语义等方面的规则。词法规定了词汇的构 成和变化规则,如名词、动词、形容词等词类的划分 ;句法规定了句子结构的规则,如主语、谓语、宾语 等句子的成分及其排列顺序;语义则涉及到词汇和句 子的意义和解释。语言的语法结构是语言理解和生成 的基础,也是语言演变和发展的关键因素。
文法和语言的应用前景
1 2
人工智能领域
文法和语言是人工智能领域的重要基础,可用于 自然语言处理、机器翻译、语音识别等技术的研 究和应用。
计算机科学教育
文法和语言是计算机科学专业的重要课程之一, 对于培养计算机科学人才具有重要意义。
3
软件工程领域
文法和语言可用于软件工程领域中的编译器设计 和开发,提高软件开发的效率和可靠性。
05
文法和语言的未来发展
文法和语言的研究方向
形式语言理论
深入研究形式语言的基本理论, 包括语法、语义和语用等方面, 为自然语言处理和人工智能等领 域提供理论基础。
自然语言处理
结合自然语言处理技术,研究自 然语言的语法、语义和语用规律, 提高自然语言处理的准确性和效 率。
计算语言学
将计算语言学与形式语言理论相 结合,研究语言处理算法和模型, 为机器翻译、语音识别等领域提 供技术支持。
文法和语言的发展趋势
深度学习与文法和语言的结合
01
随着深度学习技术的发展,文法和语言的研究将更加注重与深
度学习的结合,以提高语言处理的性能和效率。
跨媒体语言处理
02
随着多媒体数据的普及,文法和语言的研究将逐渐扩展到跨媒
编译原理第二章课件
例1:文法G: S aSb | ab
L(G)={anbn|n≥1}
28
2.2.2 文法的分类
3型文法(又称线性文法、正则文法、正 规文法)
➢ 如果对文法G中的任一产生式均限制为形如: AB 或 A
其中: A,B∈VN , ∈VT 则称文法G为3型文 法。 ➢ 上述形式的3型文法也称为右线性文法。 ➢ 如果对文法G中的任一产生式均限制为形如:
A0 = { } A1 = { a,b } A2 = AA ={ aa,ab,ba,bb } A3 = A2A ={ aaa,aab,aba,abb,baa,bab,bba,bbb }
……
An =An-1A = AAA……A
12
2.1 基本概念
10.符号串集合的正闭包
设A为符号串的集合,则称A+为符号串集A的 正闭包.具体定义如下:
文法
字符串集合
16
2.2 .1 文法的定义
2.2.1 文法(Grammar)的定义 文法的定义
一个文法G是一个四元组: G = ( VN, VT, S, P )
其中:
➢ VT (Terminal Vocabulary)是一个非空的有限集合,
它的每个元素称为终极符号或终极符,一般用小 写字母表示。 从语法分析的角度看,终极符号是 一个语言不可再分的基本符号。
可合并为一个,缩写为:
P 1 | 2 | … | n
其中,每个i 称为 P 的一个候选式,符号“|” 读作“或” 。
21
⑥一个文法的核心是产生式。 一般约定:
用< >括起来或 大写字母:非终结符 不用< >括起来或小写字母:终结符
22
例1
G =(VN,VT, S, P) 其中:VN={ S , A}
L(G)={anbn|n≥1}
28
2.2.2 文法的分类
3型文法(又称线性文法、正则文法、正 规文法)
➢ 如果对文法G中的任一产生式均限制为形如: AB 或 A
其中: A,B∈VN , ∈VT 则称文法G为3型文 法。 ➢ 上述形式的3型文法也称为右线性文法。 ➢ 如果对文法G中的任一产生式均限制为形如:
A0 = { } A1 = { a,b } A2 = AA ={ aa,ab,ba,bb } A3 = A2A ={ aaa,aab,aba,abb,baa,bab,bba,bbb }
……
An =An-1A = AAA……A
12
2.1 基本概念
10.符号串集合的正闭包
设A为符号串的集合,则称A+为符号串集A的 正闭包.具体定义如下:
文法
字符串集合
16
2.2 .1 文法的定义
2.2.1 文法(Grammar)的定义 文法的定义
一个文法G是一个四元组: G = ( VN, VT, S, P )
其中:
➢ VT (Terminal Vocabulary)是一个非空的有限集合,
它的每个元素称为终极符号或终极符,一般用小 写字母表示。 从语法分析的角度看,终极符号是 一个语言不可再分的基本符号。
可合并为一个,缩写为:
P 1 | 2 | … | n
其中,每个i 称为 P 的一个候选式,符号“|” 读作“或” 。
21
⑥一个文法的核心是产生式。 一般约定:
用< >括起来或 大写字母:非终结符 不用< >括起来或小写字母:终结符
22
例1
G =(VN,VT, S, P) 其中:VN={ S , A}
大学计算机基础第2章PPT课件
常见的操作系统
总结词:特点
详细描述:Windows操作系统具有界面友好、易用性强的特点,广泛用于个人和企业用户;macOS操作系统具有高度的稳定 性和安全性,适用于创意工作者和高端用户;Linux操作系统具有开源、免费、高度可定制的特点,适用于服务器和开发人员 等。
操作系统的基本操作
总结词
启动与关闭
按规模
巨型计算机、大型计算机、小型计算机、微型计算机等。巨型计算机主要用于尖端科学研 究领域,大型计算机则用于大规模数据处理和事务处理,小型计算机主要用于部门或单位 的信息系统,微型计算机则广泛应用于个人和家庭。
按用途
通用计算机和专用计算机。通用计算机能够执行多种任务,而专用计算机则是针对特定任 务进行优化设计的,如工业控制计算机、智能终端等。
输出设备
输出设备用于将计算机处理的数据和信息呈现出来。 常见的输出设备包括显示器、打印机、投影仪等。
输出设备的分辨率、色彩和速度会影响计算机的显示效果和打印质量。
03
计算机软件系统
系统软件
操作系统
语言处理系统
是计算机中最基本、最重要、最核心的软 件,负责管理和控制计算机硬件与软件资 源,为用户提供友好的操作界面。
CPU的性能决定了计算机的运行速度 和处理能力。
CPU由数亿个晶体管组成,负责处理 数据和执行任务。
内存储器
内存储器是计算机中用于存储 临时数据的区域。
它分为随机存取存储器(RAM) 和只读存储器(ROM)。
RAM是用于存储运行中的程序 和数据,而ROM则用于存储固 件和启动程序。
外存储器
外存储器是用于永久存储数据的 设备,如硬盘驱动器、固态驱动
06
上机实践操作
安装操作系统
计算机程序编译原理 第2章 形式语言概论
文法举例
例2.6 1型文法G6=(VN ,VT ,P,S),其中VN={S,X,Y,Z}, VT={x , y , z} , P={S→xSYZ|xYZ, xY→xy, yY→yy, yZ→yz, ZY→YZ, zZ→zz} 例2.7 2型文法G7=(VN,VT,P,S),其中VN={S,T},VT={a, b,c, d},P={S→aTd, T→bT|cT|b|c } 例2.8 2型文法G8=(VN,VT,P,B),其中VN={B},VT={(,) }, P={B→(B)|BB|( )} 例2.9 2型文法G9=(VN,VT,P,S),其中VN={S},VT={0,1 }, P={S→0S1, S→01} 例2.10 正规文法G10=(VN,VT,P,A),其中VN={A, B, C, D}, VT={x, y, z },P={A→xB|yC, B→zB|y|yC, C→xD, D→yD|x }
文法和语言的几点说明
(1) 文法中某些非终结符不在任何规则的右部出现,该非 终结符称为不可到达的; (2) 文法中某些非终结符,由它不能推出终结符号串来, 称为不可终止的(无用非终结符); (3)可空终结符,可以用于消除左递归; (4)一个文法,如果它的一个句子有两棵或两棵以上的语法 树,则称该句子具有二义性。如果一个文法含有二义性的 句子,则该文法具有二义性。形如U→U的产生式。会引起 文法的二义性。
推导
定 义 2.3 G= ( VN, VT, P, S ) , α→β 是 文 法 G 的 产 生 式 , γ,δ∈V* , 若 有 v, w 满 足 : v=γαδ, w= γβδ, 则 说 : v (应用规则α→β)直接产生w 或说:w是v的直接推导 或说:w 直接归约到v 记作 v ⇒w。 例 G[S]:S→0S1, S→01 直接推导: 0S1⇒0011 (v=0S1,w=0011,使用规则S→01,γ=0,δ=1) S ⇒0S1 (v=S,w=0S1,使用规则S→0S1,γ=ε,δ= ε ) 0S1⇒00S11 (v=0S1,w=00S11,使用规则S→0S1,γ=0,δ=1) 定义2 定义2.4 v⇒+u 若存在v =α0 =>α1=>…=>αn=u, (n>0) 则称u为u的一个推导,记为v⇒+u。 定义2 定义2.5 v⇒*u 表示v⇒+u 或 v=u
最新第2章文法和语言PPT课件
重点回顾
➢解释程序(interpreter)与编译程序
编译程序是将源程序翻译成目标程序后再执 行该目标程序 解释程序则是逐条读出源程序中的语句并解 释执行,即在解释程序的执行过程中并不产 生目标程序。
➢编译的基本过程
源程序 词法分析程序
语法分析程序
表 格 管 理 程 序
出
语义分析程序
错
处
中间代码生成程序
2.文法的定义
例3:以下四元组都是文法。
⑴ ({A},{0,1},{A01,A0A1,A1A0},A)。 ⑵ ({A},{0,1},{A0,A0A},A)。 ⑶ ({A,B},{0,1},{A01,A0A1,A1A0,BAB,
B0},A)。 ⑷ ({A,B},{0,1},{A0,A1,A0A,A1A },
开始符为S
例2:文法G=(VN,VT,P,S)
VN ={标识符,字母,数字}, VT ={a,b,c,…x,y,z,0,1,…,9}, P={<标识符>→<字母>,
<标识符>→<标识符><字母> <标识符>→<标识符><数字>, <字母>→a, …, <字母>→z, <数字>→0,…,<数字>→9 }, S=<标识符>
S→A|SA|SD
<数字>→0,…,<数字>→9 }, A→a|b|…|z
S=<标识符>
D→0|1|…|9
4. 推导(Derivation)与归约(Reduction)
直接推导和直接归约: A→a是文法G的产生式,若有v,w满足: v=xAy,w= xay, 则称v直接推导出w,也称w直接归约到v, 记作 v w
第2章文法和语言终.ppt
[解]: G(Z): Z 1Z0 | A A 0A1 | ε
例5. 给出生成下述语言的三型文法: {anbmck|n,m,k>=0 }
[解]: G(Z): Z aZ | A A bA | B B cB | ε
例6.已知文法G=({A,B,C},{a,b,c},A,P) 其中产生式P由以下组成: S A c | aB A ab B bc
例:|hello|=5,|main|=4,| ε |=0。 符号串的连接:设x、y是两个符号串,则 xy被称为x与y的连接。特别有:
x=xε=εx=εxε 例:x=my,y=classmate,
则y=myclassmate。
符号串的方幂:设x是符号串,x自身的连接 称为符号串的方幂,有:
例:x=ba,x0 = ε, x1 =ba, x2 =baba
例 :“我是大学生”。 具体操作如下: 〈句子〉 〈主语〉 | 〈谓语〉
〈代词〉〈谓语〉 我〈谓语〉 我〈动词〉〈直接宾语〉 我是〈直接宾语〉 我是〈名词〉 我是大学生 文法:就是这样一些规则的有穷集合,它是以有 穷规则集来刻划无穷句子集合的工具。
2.2 符号和符号串
一、基本概念
4、推导
如存在一直接推导序列
v=>α0=>α1=>α2....=>αn=u (n>0) ,则称符 号串u为符号串v的一个推导(或者说v是u 的一个归约) ,记为v=+> u;若有v=+>u, 且有v=u,则记作v=*>u。
例:对于上例中文法G[E]:
EE) | i
2.1 语言概述和文法的直观概念
一、基本概念
语言:是由句子组成的集合,是由一组符号 所构成的集合。
例5. 给出生成下述语言的三型文法: {anbmck|n,m,k>=0 }
[解]: G(Z): Z aZ | A A bA | B B cB | ε
例6.已知文法G=({A,B,C},{a,b,c},A,P) 其中产生式P由以下组成: S A c | aB A ab B bc
例:|hello|=5,|main|=4,| ε |=0。 符号串的连接:设x、y是两个符号串,则 xy被称为x与y的连接。特别有:
x=xε=εx=εxε 例:x=my,y=classmate,
则y=myclassmate。
符号串的方幂:设x是符号串,x自身的连接 称为符号串的方幂,有:
例:x=ba,x0 = ε, x1 =ba, x2 =baba
例 :“我是大学生”。 具体操作如下: 〈句子〉 〈主语〉 | 〈谓语〉
〈代词〉〈谓语〉 我〈谓语〉 我〈动词〉〈直接宾语〉 我是〈直接宾语〉 我是〈名词〉 我是大学生 文法:就是这样一些规则的有穷集合,它是以有 穷规则集来刻划无穷句子集合的工具。
2.2 符号和符号串
一、基本概念
4、推导
如存在一直接推导序列
v=>α0=>α1=>α2....=>αn=u (n>0) ,则称符 号串u为符号串v的一个推导(或者说v是u 的一个归约) ,记为v=+> u;若有v=+>u, 且有v=u,则记作v=*>u。
例:对于上例中文法G[E]:
EE) | i
2.1 语言概述和文法的直观概念
一、基本概念
语言:是由句子组成的集合,是由一组符号 所构成的集合。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/6/16
5
2.1 启示
2020/6/16
6
2.1 启示
• 表示成αβ形式
<句子><名词短语><动词短语><句号> <动词短语><动词><形容词短语> <动词短语><动词><名词短语> <动词>是
2020/6/16
7
2.1 启示
<动词>走在 <动词>进入 <形容词短语>很抽象的 <名词短语>北京 <名词短语>哈尔滨 <名词短语>形式语言
– 对任意的x,y∈∑+,我们要使语法范畴D代表 的集合为{xnyn|n≥0},可用产生式组 {Dε|xDy}来实现。
2020/6/16
31
2.2 形式定义
• 语言(language)
L(G)={w | w∈T*且S * w}
• 句子(sentence)
w∈L(G),w称为G产生的一个句子。
• 句型(sentential form)
• 归约(reduction) – γαδG γβδ
– 称γβδ在文法G中直接归约成γαδ。在不 特别强调归约的直接性时,“直接归约”可以 简称为归约。
2020/6/16
21
2.2 形式定义
1. 推导与归约表达的意思的异同。
2.
推导与归约和产生式不一样。所以,和
G
所表达的意思不一样。
3. 推导与归约是一一对应的。
它们表示相应语言结构中某个位置上可以出现 的一些内容。每个“符号”对应的是一个集合,在 该语言的一个具体句子中,句子的这个位置上能且 仅能出现相应集合中的某个元素。所以,这种“符 号”代表的是一个语法范畴。
⑵ <句子>
所有的“规则”,都是为了说明<句子>的结构 而存在,相当于说,定义的就是<句子>。
G=(V,T,P,S),对于α∈(V∪T)*,如果S * α,则称α是G产生的一个句型。
2020/6/16
32
2.2 形式定义
• 句子w是从S开始,在G中可以推导出来的 终极符号行,它不含语法变量。
• 句型α是从S开始,在G中可以推导出来的 符号行,它可能含有语法变量。
• 例 2-7 给定文法G=({S,A,B,C,D},{a, b,c,d,#},{SABCD|abc#,AaaA, ABaabbB,BCbbccC,cCcccC, CDccd#,CDd#,CD#d},S)
(2) ({A,B,C,E,S },{a,b,c},{SABC|abc, AA,E abc|ε},S)。
(3) ({A,B,C,E},{a,b,c},{ AA,E abc|ε},A)。
(4) ({A,B,C,E},{a,b,c},{ AA,E abc|ε},E)。
2020/6/16
19
2.2 形式定义
aaaaaabbbbcccc#d 使用产生式CD#d
2020/6/16
34
2.2 形式定义
求句型aaaaaaaaAbbccccd# 的推导过程
n≥0,m≥n n≥0,m≥n+1 n≥0,m≥n+1 n≥0,m≥n+1
2020/6/16
30
2.2 形式定义
• 几点结论
– 对任意的x∈∑+,我们要使语法范畴D代表的 集合为{xn|n≥0},可用产生式组{Dε|xD}来 实现。
– 对任意的x,y∈∑+,我们要使语法范畴D代表 的集合为{xnyn|n≥1},可用产生式组 {Dxy|xDy}来实现。
第2章 文法
• 对任何语言L,有一个字母表∑,使得L∑* 。 • L的具体组成结构是什么样的? • 一个给定的字符串是否为一个给定语言的句子?如
果不是,它在结构的什么地方出了错?进一步地, 这个错误是什么样的错?如何更正?……。 • 这些问题对有穷语言来说,比较容易解决。 • 这些问题对无穷语言来说,不太容易解决。 • 语言的有穷描述。
A)。
2020/6/16
15
2.2 形式定义
⑸ ({S,A,B,C,D},{a,b,c,d,#},{SABCD, Sabc# , AaaA , ABaabbB , BCbbccC , cCcccC,CDccd#,CDd#,CD#d},S)。
⑹ ({S},{a,b},{S00S,S11S,S00,S11}, S)。
• <动词短语>可以是<动词><形容词短语> 或者<动 词><名词短语> 。
• <名词短语>={北京、哈尔滨、形式语言、中国、 教育、集合、WTO、美丽的城市、祖国的首都、 数学的基础、社会发展的前面}。
• <动词>={是、走在、进入}。 • <形容词短语>={很抽象的}。 • 把<名词短语><动词短语><句号>取名为<句子>。
2020/6/16
16
2.2 形式定义
• 约定
⑴ 对一组有相同左部的产生式 αβ1,αβ2 ,… ,αβn 可以简单地记为: αβ1|β2|…|βn 读作:α定义为β1,或者β2,…,或者βn。并
且称它们为α产生式。β1,β2,…,βn称为 候选式(candidate)。
2020/6/16
17
2.2 形式定义
2020/6/16
1
2.1 启示
• 6个句子的主体结构
<名词短语><动词短语><句号> <名词短语>={哈尔滨,北京,集合,形式语言,
教育,中国} <动词短语>={是美丽的城市,是祖国的首都,是
数学的基础,是很抽象的,走在社会发展的前 面,进入WTO} <句号>={。}
2020/6/16
4
2.1 启示
2020/6/16
14
2.2 形式定义
• 例 2-1 以下四元组都是文法。
⑴ ({A},{0,1},{A01,A0A1,A1A0},A)。 ⑵ ({A},{0,1},{A0,A0A},A)。 ⑶ ({A,B},{0,1},{A01,A0A1,A1A0,BAB,
B0},A)。 ⑷ ({A,B},{0,1},{A0,A1,A0A,A1A },
使用产生式AaA 使用产生式AaA 使用产生式Aa 使用产生式Aa 使用产生式Aa 使用产生式AaA 使用产生式Aa 使用产生式Aa
2020/6/16
27
2.2 形式定义
• 例 2-5 设G=({S,A,B},{0,1}, {SA|AB,A0|0A,B1|11},S)
对于n≥1, A n 0n A0A,
• 推导(derivation)
设G=(V,T,P,S)是一个文法,如果αβ∈P, γ,δ∈(V∪T)*,则称γαδ在G中直接推导 出γβδ。
γαδ
G
γβδ
读作:γαδ在文法G中直接推导出γβδ。
“直接推导”可以简称为推导(derivation),也 称推导为派生。
2020/6/16
20
2.2 形式定义
2020/6/16
8
2.1 启示
<名词短语>中国
<名词短语>教育
<名词短语>集合
<名词短语> WTO
<名词短语>美丽的城市
<名词短语>祖国的首都
<名词短语>数学的基础
<名词短语>社会发展的前面
<句号>。
2020/6/16
9
2.1 启示
• 表示一个语言,需要4种东西 ⑴形如<名词短语>的 “符号”
4. 推导与归约的作用。
2020/6/16
22
2.2 形式定义
、
G
G+ 、
G*
当成(V∪T)*上的二元关系。
(1)Αn β:表示α在G中经过n步推导出β;
G
β在G中经过n步归约成α。即,存在α1,
(2)α α当21n,=G0α…时2,,,α有…nα,-1∈=αβ(Vn-。1∪G即Tβ)α*。使G0得αα。G
={0 , 00 , 000 , 0000 , …}∪{0 , 00 , 000 , 0000,…}{1,11} ={0,00,000,0000,…}∪ ∪{01,001,0001,00001,…}∪ ∪{011,0011,00011,000011,…}
2020/6/16
29
2.2 形式定义
例2-6 设G=({A},{0,1},{A01,A0A1},A),
2020/6/16
33
2.2 形式定义
求句型aaaaaabbbbcccc#d 的推导过程
S ABCD
使用产生式SABCD
aaABCD
使用产生式AaaA
aaaaABCD
使用产生式AaaA
aaaaaabbBCD
使用产生式ABaabbB
aaaaaabbbbccCD 使用产生式BCbbccC
aaaaaabbbbccccCD 使用产生式cCcccC
2.2 形式定义
– T——为终极符(terminal)的非空有穷集。 a∈T,a叫做终极符。由于V中变量表 示语法范畴,T中的字符是语言的句子中
出现的字符,所以,有V∩T=Φ。
– S——S∈V,为文法G的开始符号(start symbol)。
2020/6/16
13
2.2 形式定义
– P——为产生式(production)的非空有穷 集合。P中的元素均具有形式αβ, 被称为产生式,读作:α定义为β。其 中α∈(V∪T)+,且α中至少有V中元素 的一个出现。β∈(V∪T)*。α称为产生 式αβ的左部,β称为产生式αβ 的右部。产生式又叫做定义式或者语法 规则。