上下文无关文法

9.27第四次作业

五迷三道 提交于 2019-11-30 15:02:37
1.梳理第二章的内容,写一篇理解与总结。 2.1 文法是对语言结构的定义与描述,即从形式上描述和规定语言结构,也称为语法。 2.2 字母表:字母表是元素的非空有穷集合,字母表中的元素称为符号,字母表也称为符号集。字母表中典型的符号是字母、数字、各种标点和运算符等。   符号串:字母表的符号组成任何又穷序列的符号串。如字母表A={a,b,c}则由这个字母表组成的符号串包括: {ab,ac,bc,abc,a,b,c}。如果某符号串x中有m个符号,则称其长度为m,表示为|x|=m。允许空符号串,即不包括任何符号的符号串,用ε表示,其长度为0,即|ε|=0。 符号串的运算:①符号串的连接:εx=xε=x;        ②集合的乘积:AB={xy|x∈A,y∈B};{ε}A=A{ε}=A;        ③符号串的幂运算:x=abc,x^2=abcabc;        ④集合的幂运算:x^0= e ; x^1 = x;.....;(和小学数学的方幂一致)        ⑤正闭包A+与闭包A*:A*={ε}∪A+ 2.3 文法:所谓文法就是描述语言的语法结构的形式规则。任何一个文法都可以表示为一个四元组G=(,P,S)。是一个非空的有限集合,它的每个元素称为非终结符号;是一个非空的有限集合,它的每个元素称为终结符号;S是一个特殊的非终结符号,称为文法的开始符号;P为规则(α→β)的集合。

文法和语言总结与梳理

浪尽此生 提交于 2019-11-30 15:02:07
1. 梳理第二章的内容,写一篇理解与总结。 答: (1)文法的类型有:0型文法、1型或上下有关的文法、2型的或上下无关的文法、3型文法或正规文法 ①0型文法又称为短语文法,设G=(VN,VT,P,S),如果它的每个产生式α→β是这样一种结构:α∈(VN∪VT)*且至少含有一个非终结符,而 β∈(VN∪VT)*,则G是一个0型文法。0型文法也称短语文法。一个非常重要的理论结果是:0型文法的能力相当于图灵机(Turing)。或者说,任 何0型文语言都是递归可枚举的,反之,递归可枚举集必定是一个0型语言。0型文法是这几类文法中,限制最少的一个,所以我们在试题中见到的,至少是0型文 法。 ②1型文法也叫上下文有关文法,此文法对应于线性有界自动机。它是在0型文法的基础上每一个α→β,都有|β|>=|α|。这里的|β|表示的是β的长度。 注意:虽然要求|β|>=|α|,但有一特例:α→ε也满足1型文法。 如有A->Ba则|β|=2,|α|=1符合1型文法要求。反之,如aA->a,则不符合1型文法。 ③2型文法也叫上下文无关文法,它对应于下推自动机。2型文法是在1型文法的基础上,再满足:每一个α→β都有α是非终结符。如A->Ba,符合2型文法要求。 如Ab->Bab虽然符合1型文法要求,但不符合2型文法要求,因为其α=Ab,而Ab不是一个非终结符。 ④3型文法也叫正规文法,它对应于有限状态自动机

4.文法和语言总结与梳理

蹲街弑〆低调 提交于 2019-11-30 13:34:20
梳理第二章的内容,写一篇理解与总结。 知识梳理: (1)文法是一种工具,作用是用于阐明语法;规则是元语言,是文法;符号=>的含义是,使用一条规则,代替其左端的某个符号,产生其右端的符号串。 (2)EBNF规则被视为元语言,称为文法,用来描述句子是否合法。 (3)符号为字母表中的元素;符号组成任何有穷序列称为符号串;允许空符号串,即不包含任何符号的符号串,用ε表示。 (4)符号串的运算有4种。分别为符号串的头尾、固有头和固有尾;符号串的连接;符号串的方幂;符号串的集合。 2.3 1.规则也成为重写规则、产生式、生成式。 2.文法G定义为四元组(Vn,Vt,p,s)。其中S称为识别符或开始符,它是一个非结束符,至少要在一条规则中作为左部出现。Vn为语法实体或变量,定义V中的符号关系:有直接推导、最左推导和最右推导 2.4 1.文法分成4种类型,即0型、1型、2型、3型。区别在于产生式施加的限制不同;以上下文无关文法文法为例:设G(Vn,Vt,P,S),若P中的每个产生式的形式都是A->aB或A->a,其中A和B都是非终结符,a€Vt,则G是3型文法或正规文法,每一种正规文法都是上下文无关的。 2.5 上下文无关文法推导的直观工具是语法树,一般一个文法只存在一种语法树,即最左推导和最右边推导的语法树是一样的,不存在二义性。 2.6 句型分析,分析算法有两种,分别是自顶向下和自顶向下

文法和语言总结与梳理

狂风中的少年 提交于 2019-11-30 13:28:56
1. 梳理第二章的内容,写一篇理解与总结。 符号和符号串 正如我们学习的English是由单词和标点符号构成的,单词又是有字母构成的,计算机语言也是如此,也是由字母和数字等一些基本符号构成的,一个源程序就是一个“基本符号串”,所以我们开始了解符号和符号串相关的定义。 字母表: 元素的非空有穷集合。不同的语言有他自己不同的字母表,我们的计算机语言字母表就是数字,字母,标点等若干符号了。中文的字母表就是汉字了。 符号串: 字母表的符号组成任何又穷序列的符号串。例如字母表A={a,b,c}则由这个字母表组成的符号串包括: {ab,ac,bc,abc,a,b,c}。 语言:   在某一确定字母表上的特定符号串的集合。 文法及其形式定义 规则:重写规则、产生式或生成式 文法:所谓文法就是描述语言的语法结构的形式规则。   任何一个文法都可以表示为一个四元组G=(VT,VN,S, φ) V T 是一个非空的有限集合,它的每个元素称为终结符号。 V N 是一个非空的有限集合,它的每个元素称为非终结符号。( V T ∩V N =φ)S是一个特殊的非终结符号,称为文法的开始符号。 φ是一个非空的有限集合,它的每个元素称为产生式。 文法的类型:   0型文法(无限制文法或短语结构文法)包括所有的文法。该类型的文法能够产生所有可被图灵机识别的语言。可被图灵机识别的语言是指能够使图灵机停机的字串

作业4 文法和语言总结与梳理

天大地大妈咪最大 提交于 2019-11-30 13:23:15
1.梳理第二章的内容,写一篇理解与总结。 (1)文法的形式定义   所谓文法就是描述语言的语法结构的形式规则。   任何一个文法都可以表示为一个四元组G=(V T ,V N ,P,S)   其中V T 是一个非空有限集,它的每个元素称为终结符号   V N 是一个非空有限集,它的每个元素称为非终结符号(V T 和V N 的交集为空)   S是一个非终结符号,称为开始符号   P是一个产生式集合(有限),每个产生式的形式是P-->a   开始S必须在某个产生式的左部出现一次   终结符指组成语言的基本符号(如基本字、标识符、常数、算符、界符)   非终结符号(也称语法变量)表示一定符号串的集合。 (2)文法的类型(文法分为0 型,1 型 ,2 型,3 型四种类型)   0 型文法(短语文法):0 型文法所有产生式的左部 α 和右部 β 都是符号串,对它们没作任何限制。即产生式的左部至少有一个非终结符右边随意。若对0 型文法的产生式作某些限制,则可以给出其他三种类型的文法。   1 型文法(上下文有关文法):1型文法所有产生式左部可以含有一个、两个或两个以上的字符,但其中必须至少有一个非终结符。产生式右部的符号串的长度必须大于等于左边符号串的长度。对于产生式 “S→ε”是1 型文法中的一个特例。   2 型文法(上下文无关文法 | 左线性文法):2 型文法的所有产生式左部是单个非终结符

4.文法和语言总结与梳理

北战南征 提交于 2019-11-30 13:20:21
1.梳理第二章的内容,写一篇理解与总结。   第二章首先介绍了文法的相关概念以及概念的推导过程,接着介绍了符号和符号串,其中字母表的定义为元素非空有穷集合,字符串为由字母表中的符号组成的任何有穷序列。接着介绍字符串的一些运算,例如:符号串的头尾,固有头和固有尾;符号串的连接;符号串的方幂;符号串集合。文法和语言的形式定义:文法G定义为四元组(V N ,V T ,P,S),其中V N 为非终结符,V T 为终结符,P为规则(a→ß)的集合。S为识别符或开始符,不是终结符,至少有一条出现在左边。   文法的类型有四种:0型文法、I型文法或上下文有关文法、2型文法或上下文无关文法、3型文法或正规文法,四种文法限制越来越严格,所以正规文法都是上下文无关的,每一种上下文无关文法都是上下文有关的。描述上下文无关文法的句型推导的直观工具,即语法树,文法G =(V N ,V T ,P,S),对于G的任何句型都能构造与之关联的语法树。文法的推导过程分为:最左推导和最右推导,最右推导也称为规范推导。   文法的二义:某个句子对应有两颗不同的语法树。   有关文法的实用限制:在实际使用中,限制文法中不能有有害规则和多余规则,有害规则,对描述语言没有必要的,容易引起文法的二义性,多余规则是指文法中那些连一个句子推导都用不到的规则,这一类规则在文法的推导中根本不可能用到它。 2. 尝试写出PL/0

文法和语法总结与梳理

有些话、适合烂在心里 提交于 2019-11-30 13:11:49
1、梳理第二章的内容,写一篇理解与总结。 第二章中:文法的形式定义 上下文无关文法、正规文法 推导、短语、分析树、二义性 有限自动机的形式定义 自动机、文法、表达式等价性 NFA的确定化和DFA的最小化。 文法的理解是:文法是对语言结构的定义与描述,即从形式上描述和规定语言结构,称之为语法 而语法也有它的规则:通过建立一组规则(产生式),来描述句子的语法结构。 在课堂上听老师讲课,较为熟悉的是文法四元组、推导、句型、短语之类。 在习题上,推导是比较熟悉的,给予一个特定的句型,通过推导来把这个句子弄出来,但是如果只是单单看书本上的概念和描述,就会非常抽象,因为定义的东西多,而且看得我乱七八糟,还是通过老师上课讲述和习题的练习才能理解。 不过到目前为止,上下文语法我是不太清晰。同时在推导中,还要特别注意的是最右推导也称之为规范推导,而最左推导只有一个定义也就是 最左推导。在做语法树、句型、短语、直接短语中,语法树就要求规范推导(最右推导),理解了什么是短语,什么是句柄跟直接短语后,就可以在语法树上直接看出答案来。 在文法二义性中,还是不太熟悉,不过在网上找到相关文法二义性的消除的习题讲解后,就理解这种习题该如何推导。 在语言构造文法中,对于文法的构造还是不熟练。 总的来说,第二章内容不算复杂,只要自己理解了,做起来就很容易,但容易部分知识的内容概括的太抽象

作业四——文法和语言总结与梳理

馋奶兔 提交于 2019-11-30 12:44:15
1、梳理第二章的内容,写一篇理解与总结。 1、计算机的语言同中英文一样,都有自己独有的语法和规律,一定的规则可以判别句子结构合法与否,用这些规则描述句子的结构,这样的语言就是文法。是利用有限的集合(文法)来刻画无穷的集合(语种生成的句子)的一个工具。   正如汉语构成句子=主语+动词+谓语等汉字或者词组成语   程序设计语言句子=自己的符号+符号串   字母表是非空有限集合,所以字母表中的元素也成称为符号,字母表中的符号组成的任何有限序列称为符号串,符号串的顺序很重要,允许空符号串,用ε表示。符号串的运算一定要注意其顺序。 2、规则(重写规则、产生式、生成式)是形如A→B(A::=B)的(A,B)有序对。   文法G定义为四元组(Vn,VT,P,S)   V N :为非终结符(语法实体,或变量)集,常用大写字母表示;   V T :为终结符,常用小写字母表示;   P:为规则的集合,规则的左边属于V并且至少包含一个非终结符;   S:为识别符或是开始符,是一个非终结符,至少要在一条规则中作为左部出现。   推导是正向推导,归约是逆向推导。 3、文法的类型: 文法分为四种类型,0型、1型、2型、3型。 文法类型 又称 结构或定义 例子 0型文法 短语文法 α∈(V N ∪V T )*,且至少含一个VN,而β∈(V N ∪V T )* 对产生式没有任何限制 S->A 1型文法

4.文法和语言总结与梳理

江枫思渺然 提交于 2019-11-30 12:36:36
1.梳理第二章的内容,写一篇理解与总结。 答:在第二章文法和语言的学习中,首先了解了文法和语言的概念,当我们要表述一种语言时,我们无法列出语言包含的全部句子,这时候就需要用一些规则来说明或是定义句子的组成结构,而这种组成结构就是文法。我们可以用适当条数的文法规则把语言的全部句子描述出来,文法是以有穷的集合刻画无穷的集合的一个工具。 接着学习了何为符号,何为符号串以及符号串的一些简单运算,例如:符号串的头尾,固有头和固有尾;符号串的连接;符号串的方幂;符号串集合,闭包等。 文法和语言的形式定义,将文法G定义为四元组(Vn,Vt,P,S),Vn为非终结符(或语法实体,或变量)集,Vt为终结符集,P为规则的集合,且至少包含一个非终结符,Vn,Vt,P是非空有穷集,S是识别符或开始符,它是一个非终结符。Vn和Vt不包含公共的元素。 文法的类型分为四种:即0型、1型、2型和3型。0型文法为短语文法,即所有产生式都是α→β这种结构,α∈(Vn∪Vt) * 且至少含有一个非终结符。1型文法也称为上下文有关文法即每个产生式α→β均满足|β|≥|α|,仅S→ε除外。2型文法也称为上下文无关的,即P中的每一个产生式α→β满足:α是一个非终结符,β∈(Vn∪Vt) * 。3型文法也称为正规文法,即P中的每一个产生式的形式都是A→aB或A→a,其中A和B都是非终结符,a∈Vt * 。

第四次作业——文法和语言总结与梳理

一曲冷凌霜 提交于 2019-11-30 12:35:56
1. 梳理第二章的内容,写一篇理解与总结。 一、定义   语言是一个记号系统,包括语法和语义;文法最主要的成分是规则(产生式),我们可以通过规则进行推导生成语法树。 二、文法G四元组(V N, V T ,P,S)   V N 为非终结符集   V T 为终结符集   P为规则(α→β)的集合   S为识别符或开始符,至少要在一条规则中作为左部出现。 三、文法的类型 文法判别小技巧 四、语法树和二义树   语法树:又称为推导树,用来描述上下文无关的句型推导。   在推导α=>β的过程中,需要遵循最左(右)推导,即都是对α中的最左(最右)非终结符进行替换。最右推导又称为规范推导。   如果一个文法存在某个句子对应两棵不同的语法树,则这个文法是二义的。且二义文法不可判定。   注意:文法二义性≠语言二义性   语言不是二义性 → 存在一个文法不是二义性的;   文法不是二义性 → 无法判定 理解与总结: 文法与语言主要学习的是转化文法的规律并根据其转化过程中遵循的准则产生对应的生成树,可以用来检验该准则的唯一性。 2. 尝试写出PL/0 语言的文法。 整数n 文法:<n>::=<integer> 标识符i 文法: <i>::=<id> 表达式e 文法: <e>:= [+|-]<项>{<加减运算符><项>} <项>::=<因子>{<乘除运算法><因子>} <加减运算符>::=+|-