计算引论5 语言与基本概念课件

上传人:我*** 文档编号:144109214 上传时间:2020-09-06 格式:PPT 页数:18 大小:53.50KB
返回 下载 相关 举报
计算引论5 语言与基本概念课件_第1页
第1页 / 共18页
计算引论5 语言与基本概念课件_第2页
第2页 / 共18页
计算引论5 语言与基本概念课件_第3页
第3页 / 共18页
计算引论5 语言与基本概念课件_第4页
第4页 / 共18页
计算引论5 语言与基本概念课件_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《计算引论5 语言与基本概念课件》由会员分享,可在线阅读,更多相关《计算引论5 语言与基本概念课件(18页珍藏版)》请在金锄头文库上搜索。

1、计算引论,第三章 文法与语言,第三章 文法与语言,3.1 语言的基本概念 3.2 有限自动机 3.3 上下文无关语言 3.4 上下文无关语言识别算法,3.1 语言的基本概念,字母表: 符号的有限集合。 例如二进制字母表0,1 字符串: 假定是字符的有限集合,它的每一个元素称之为字符。由中字符相连而成的有限序列被称之为上的字符串(或称符号串)。,3.1 语言的基本概念,空字符串: 不含任何符号的字符串, 用e表示 字符串的长度即为序列的长度, 对字符串, 长度表示为| |. 字母表上的所有字符串, 包括空字符串, 记作*. 字符串 *可看成函数 : 1,| (j)的值即为的第j位符号.,3.1

2、语言的基本概念,字符串连接: 假定是字符的有限集合, x, y 是上的字符串, 则把y的各个符号写在x的符号之后得到的字符串称为x与y的连接, 记作xy或xy,形式地, = x y, 当且仅当| |=|x|+|y|, (j)=x(j)对j=1,|x|, 及(|x|+j)=y(j)对j=1,|y|. 例: (1) =a, b, c, x=ab, y=cba, 那么, xy=abcba (2) 01 001= 01001,3.1 语言的基本概念,设x是字符串, 把x自身连接n次得到的字符串, 即z=xx x(n个x), 称为x的n次方幂, 记作xn。 注意:x0= e xn=xxn-1=xn-1x

3、 (n1) x*=xn (n0), x+= xn (n1) 例如:如果x=a,则x1=a, x2=aa, x3=aaa, 如果x=ab, 则x0= e, x3=ababab,3.1 语言的基本概念,字符串集合的乘积 设A, B是字符串的集合,则A, B的乘积定义为: AB=x y | xA, yB 例如: 设A=aa, bb, B=cc, dd, ee,则AB=aacc, aadd, aaee, bbcc, bbdd, bbee A2=aaaa, aabb, bbaa, bbbb,3.1 语言的基本概念,闭包:如果V是字母表上的字符串集合,那么,V 的闭包定义为:V* = V0V1V2 正闭包

4、:V+ = V1 V2 V+ = V* - e 例如:V = a, b V* = e, a, b, aa, ab, bb, ba, aaa, V+ = a, b, aa, ab, ba, bb, aaa, ,3.1 语言的基本概念,字符串v为的子串当且仅当存在字符串x和y使得 =xvy, 空串e为任何字符串的子串. 若对x有 =xv, 则v是的后缀; 若对y有 =vy, 则v是的前缀.,3.1 语言的基本概念,字符串的归纳定义: 对字符串和自然数 i, 字符串i 可以定义为 0=e, 空串 i+1= i , 对每个i 0 字符串的逆, 记作R, 如reverseR=esrever,3.1 语言

5、的基本概念,有限字母表的任意字符串, 即*的任意一个子集, 称为上的一个语言, 记为: L= *| 具有性质P 若L1和L2为上的语言, 则它们的连接为L=L1 L2或L=L1L2, 其中 L= *| =x y且xL1及yL2 用L*表示所有由L中的字符串及空串连接的字符串集合.,3.1 语言的基本概念,在计算理论中的一个核心问题是如何用有限的表示方式来表示一种语言. 例, 令L=w0,1*|其中w中出现23个1, 第一个和第二个不是连续的, 可用单元素集及符号, 及*表示为 0* 1 0* 0 1 0* (10*)*) 简写为 L=0*10*010*(10*),3.1 语言的基本概念,正则表

6、达式:字母表*上的正则表达式为由(, ), ,*组成的所有字符串, 定义如下: 和的每个成员都是正则表达式 如果和为正则表达式, 则()也是正则表达式 如果和为正则表达式,则也是正则表达式 若为正则表达式, 则*也是正则表达式 所有的正则表达式都是按照14点形成,3.1 语言的基本概念,语言:若为正则表达式, 则L()为表示的语言, 其中L为正则表达式到语言的函数, L定义如下: L()=, L(a)=a其中a 若和为正则表达式, 则L()=L()L() 若和为正则表达式, 则L()=L()L() 若为正则表达式, 则L(*)=L()* 每个正则表达式都表示一个语言。,3.1 语言的基本概念,

7、例,L(ab)*a) =L(a b)*)L(a) (2) =L(a b)*)a (1) =L(a b)*a (4) =(L(a) L(b)*a (3) =(a b)*a (1) =a,b*a =a,b*| 以a结束,3.1 语言的基本概念,正规语言: 由上正则表达式描述的所有语言都称为正规语言, 记作L=L(),3.1 语言的基本概念,语言识别器(language recognition device):识别字符串是否是语言L的成员的算法。 例如, 识别语言L= 0, 1*| 不含有子串111 识别:设置一个计数器, 初值为0, 从左到右依次读 取被识别的字符串中每个字符, 遇到0的时候计数器清0, 遇到1时计算器加1, 如果计数器为3时停止, 回答No, 若整个字符串读完时计数器不为3, 则回答Yes。,3.1 语言的基本概念,语言产生器: 说明一种语言的如何产生的。 例如, 正则式(ebbb)(aababb)* 可认为是产生语言成员的方式: 为了产生L的成员, 先什么都不写, 或写b或bb; 然后反复写下a或ab或abb多次或0次; 这样L的所有成员都能产生. 语言产生器不同于语言识别器, 它不是用来回答问题的, 但是对表达语言十分重要.,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号