平生不会相思,才会相思,便害相思|

Graffiti404

园龄:2年4个月粉丝:0关注:0

2024-04-11 15:18阅读: 47评论: 0推荐: 0

编译原理(清华大学版)第二章

第二章 文法和语言

符号和符号串

  • 字母表是元素的非空有穷集合
  • 字母表中的元素称为符号
  • 字母表中的符号可以组成的任何有穷序列称为符号串

符号串运算

1.符号串的头尾,固有头和固有尾

z=xy,z=x...

2.符号串的连接

xyxy; ϵx=xϵ=x

3.符号串的方幂

xz=xn,xn

4.符号串的集合

AA

ABAB={x,y|xAyB}

=01n

+=12n


各种定义

文法G定义为四元组(VN,VT,P,S)

VN(Non-terminators)非终结符集  VT(Terminator) 终结符集

P(Principle)为规则(αβ)的集合

α(VNVT)且至少包含一个非终结符,例如Aa,A,ABa β(VNVT)VT,VNP是非空有穷集合

S​坐标标识符或者开始符号,是一个非终结符号

推导的概念

  • αβ是文法G五元组的规则,γδV中的任意符号,若有符号串v,w满足

v=γαδ, w=γβδ

​ 则说v直接产生w,或者说wv直接推导,或者说w直接归约v,记作vw

  • 如果直接推导序列:

v=w0w1w2...wn=w(n>0)

​ 则称v推导出w,推导长度为n,记作v+w

句子、句型、语言定义

G[S]是一个文法,如果符号串x是从识别符号推导出来的,即Sx,则称x是文法G[S]​的句型

x仅有终结符号组成,即Sx,xVT,称x是文法G[S]​的句子

语言:定义为集合{x|Sx,SxVT},也就是句子的全部集合。​使用L(G)组成

文法等价

L(G1)=L(G2),G1G2


文法的类型

0型、1型、2型、3型。

0型文法概念

G=(VN,VT,P,S),如果它的每一个产生式αβ是这样一种结构:α(VNVT)且至少包含一个非终结符,β(VNVT)

0型文法相当于图灵机,任何0型语言都是递归可枚举的,泛指递归可枚举的必定是一个0型语言

1型文法概念

G=(VN,VT,P,S),如果它的每一个产生式αβ均满足|β||α|,仅仅Sϵ除外,则文法是1型或者上下文有关的

2型文法概念

G=(VN,VT,P,S),如果它的每一个产生式αβ均满足:α是一个非终结符,β(VNVT),则文法是2型或者上下文无关的

3型文法概念

G=(VN,VT,P,S),如果P中每一个产生式的形式都是AaBAa,其中A,B都是非终结符,aVT​,则是3型正规文法


上下文无关文法和语法树

上下文无关文法最直观的表达方式是语法树

如果推导的任何一步αβ,其中αβ是句型,都是对α中的最左(最右)非终结符进行替换,则称这种推到为最左(最右)推导。

最右推导一般称之为规范推导

文法的二义性和语言的二义性是两个不同的概念。

如果一个文法存在的某个句子,有两个不同的最左(最右推导),则说这文法是二义的。或者某个句子对应两棵不同的语法树。


句型的分析

  • 令G是一个文法,S是文法的开始符号,αβδ是文法G的一个句型。如果有SαAδA+β,则称β是句型αβδ相对于非终结符A的短语
  • 如果Aβ,则称β是句型αβδ相对于规则Aβ直接短语,也叫简单短语
  • 一个右句型的直接短语称为该句型的句柄
    • 如果文法无二义,右句型有唯一的最右推导,句柄唯一,是所有直接短语中最左边的那一个
    • 如果文法是二义的,则有多个句柄。

本文作者:Graffiti404

本文链接:https://www.cnblogs.com/graffiticode/p/18129320

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Graffiti404  阅读(47)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起