第四次作业

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

语法是指一组规则,用它可以形成和产生一个合适的程序,目前广泛使用的手段是上下文无关文法,即用上下文无关文法作为程序设计语言语法的描述工具。

使用文法作为工具,不仅为了严格地定义句子的结构,也是为了适当条数的规则的全部句子描述出来,可以说文法是以有穷的集合刻画无穷的集合的一个工具。

0型文法定义:

0型文法(PSG): α∈(VN∪VT)* ,且至少含一个VN

β∈(VN∪VT)*

1型文法:
  对任一产生式α→β,都有|β|>=|α|, 仅仅 S→ε除外
  产生式的形式描述:α1Aα2→α1βα2
  (其中,α1、α2、β∈(VN∪VT)*,β≠ε,A∈VN)
  即:A只有出现在α1α2的上下文中,才允许用β替换。
  产生的语言称“上下文有关语言”但S不能出现在产生式的右部。

2型文法:对任一产生式α→β,都有α∈VN,β∈(VN∪VT)*
  产生式的形式描述:A→β(A∈VN)
  即β取代A时,与A所处的上下文无关。
  产生的语言称“上下文无关语言”

3型文法(RG):也称正规文法
  每个产生式均为 “A→aB”或“A→a” —— 右线性
    “A→Ba”或“A→a” —— 左线性
  其中,A、B∈VN,a∈VT*
  产生的语言称“正规语言”

4个文法类的定义是逐渐增加限制的,因此每一种正规文法都是上下文无关的,每一种上下文无关文法都是上下文有关的,而每一种上下文有关文法都是0型文法。   

1.语言可以看成在一个基本符号集上定义的,按一定规则构成的一切基本符号串组成的集合
2.字母表(符号集)是一个非空有穷集合
3.符号(字符)字母表中的元素
4.符号串:符号的有穷序列。注意: E 表示空符号串!5.符号串集合:字母表∑上若干个符号串组成的集合

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

整数n->::= 0|1|2|3|4.....|8|9

标识符i-><标识符>::=<字母>{<字母>|<数字>}

表达式e-><表达式>::=[+|-]<项>{<加法运算符><项>}

条件语句-><条件语句>:=IF<条件>THEN<语句>

赋值语句-><赋值语句>::=<id>:=<表达式>

复合语句-><复合语句>::=begin<语句>{;<语句>}end

函数->?

程序->::=<分程序>.

         <分程序>->::=[<常量说明部分>] [<变量说明部分>][<过程说明部分>]<语句>

...

 

posted on 2019-09-26 21:38  321木头人123  阅读(126)  评论(0编辑  收藏  举报

导航