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

1. 梳理第二章的内容,写一篇理解与总结。

 答:在本章学习内容里,我学习到了知识点如下:

(1) 文法的直观概念

  汉语句子能由谓语而成,构成谓语的是动词和直接宾语,采用第一章学习的EBNF来表示构成的规则:

  <句子> :: =  <主语><谓语>

  <主语> :: =  <代语> | <名词>

  <代词> :: =  我 | 你 | 他

  <名词> :: =  王明 | 大学生 | 工人 | 英语

  <谓语> :: =  <动词><直接宾语>

  <动词> :: =  是 | 学习

  <直接宾语> :: =  <代词> | <名词>

  *把这些规则看成是一种元语言,用它描述汉语,我们将这种语言描述称为文法。

(2)符号、和符号串

   a.字母表:字母表是元素的非空有穷集合,例如,∑={a,b,c},字母表中的元素称为符号,也称为符号集;根据字母表的定义,∑是字母表,它由a,b,c个元素组成。字母表中至少包含一个元素。字母表中的元素,可以是字母、数字或其他符号。

   b.符号串:由字母表中的符号组成的任何有穷序列称为符号串, 例如0011110是字母表∑={0,1}上的符号串。

            *如果某符号串x中有m个符号,则称为其长度为m,表示为 |x| = m,如001110的长度是6.

            *允许空符号串,即不包含任何符号的符号串,用 ε 表示,其长度为0,即 |ε|=0;。

     运算:

            Ⅰ.字符串的头尾:如果 z = xy是一串符号串,那么x是z的头,y是z的尾,如果x是非空的,那么y是固有尾。

            Ⅱ.符号串的连接:设x和y是符号串,它们的连接xy是把y的符号写在x符号之后得到的符号串。

            Ⅲ.符号串的方幂:设x是符号串,把x自身连接n次得到符号串z,即z = xx....x,称为符号串x的方幂。

            Ⅳ.符号串集合:如集合A中的一切元素都是某字母表上的符号串,则称A为改字母表上的符号串集合。

                * 指定字母表∑之后,可用∑*表示∑上的所有有穷长的串的集合。∑*称为集合∑的闭包,而∑+ = ∑1 U ∑2....n称为∑的正闭包。

                * ∑*具有可数的无穷数量的元素。使用一般集合论的表示符号:若x是∑*中的元素,则表示为 x ∈ ∑*,否则 x ∉ ∑* 。 对于所有的∑,有 ε ∈ ∑* 。

(3)文法和语言的形式定义

   a.规则:称为重写规则、产生式或生产式,是形如 α → ß 或  α :: = ß 的 (α ,ß)有序对,其中 α 称为规则的左部,ß称为规则的右部。

   b.四元组(VN,VT,P,S):VN为非终结符(或语法实体,或变量)集VT为终结符集;P为规则( α → ß)的集合,α ∈ (VN U VT)*且至少包含一个非终结符,ß ∈ (VN U VT)*;VN,VT和P是非空有穷集。S称作识别符或开始符,它是一个非终结符。

        * VN和VT不含公共的元素,即VN ∩ VT = Ø 。

        *通常用V表示VN U VT ,V称为文法G的字母表或字汇表。

   c.直接推导:设  α → ß 是文法G = (VN,VT,P,S)(或说是P中的一个产生式), γ 和 δ 是 V*中的任意符号,若有符号串 v、ω满足: v = γαδ, ω = γßδ;

则说v直接产生 ω,或说 ω是 v 的直接推导。

   d.句型、句子: 设G[S]是一个文法,如果符号串x是从

 

2. 尝试写出PL/0 语言的文法。(或者你认为比较好的语言规则)

整数n

标识符i

表达式e

条件语句

赋值语句

复合语句

函数

程序

...

猜你喜欢

转载自www.cnblogs.com/zxf001/p/11590419.html
今日推荐