编译原理第06章 自底向上优先分析法课件
编译原理(清华)第六章自底向上优先分析
按公认的计算顺序规定优先级和结合性,得到优先关系如下:
×,/的优先级高,遵循左结合,得×>×, ×>/, />/, />×
+,-的优先级低,遵循左结合,得+>+, +>-, - >-, - >+ ‘(’, ‘)’规定括号的优先级大于括号外的运算符,小于括号内的 运算符,如…E + ( E + T )…,有 + < (,( < + 规定:‘#’<任何与它相邻的运算符,
… 说明: δ 为ε 或C ,a,b不在同一句柄中,a先归约, 所以a的优先级大于b
3. 算符优先文法 定义: 设有一不含ε产生式的算符文法G,如果对任意 两个终结符对a,b之间至多只有一种优先关系 成立,则称G是一个算符优先文法(Operater Precedence Grammar),即OPG文法。 说明: 两个终结符之间的优先关系是有序的,算符优 先文法允许a>b,b>a同时存在,而不允许有 a>b,a<b,a=b三种情况中的任两种同时存在。 例如:算符优先文法允许 + > ) ,) > +同时存 在,不允许 + > ) 和 + < ) 同时存在
例 文法:E→E+T|T T→T×F|F F→(E)|i 求各非终结符的FIRSTVT集
(a)若产生式A→a…,或A→Ba…,则a∈FIRSTVT(A);
(b)若有产生式A→B…,且a∈FIRSTVT(B),则a∈FIRSTVT(A)
初值 E T F {} {} {}
第一次 第二次 {+} {×} {+ ,× }
编译原理第06章 自底向上优先分析法ppt课件
+T: 则+⋖FIRSTVT(T)
(7) P→i
*F: 则*⋖FIRSTVT(F)
F: 则 ⋖FIRSTVT(F)
(E: 则 (⋖FIRSTVT(E)
+*
3)⋗关系
找形如:A→…Bb…的产生式 E# ,则 LASTVT(E)⋗# E+ ,则 LASTVT(E)⋗+ T* ,则 LASTVT(T)⋗* P ,则 LASTVT(P)⋗ E) , 则 LASTVT(E)>)
精选课件ppt
9
确定文法符号之间的关系
1. 求≖关系: • 由(1):b ≖A A ≖b
• 由(2):(≖B • 由(3):A ≖a a ≖) 2. 求⋖关系:
• 由(1)(2):b⋖( b⋖ a
• 由(2)(3):(⋖ A (⋖( 3. 求⋗关系:
• 由(1):B ⋗b a ⋗b • 由(3):B ⋗a a ⋗a
b#
A.=b,移进
#
b.>#,归约S→bAb
#
接受
精选课件ppt
12
算符优先分析法
❖ 某些文法具有“算符”特性
➢ 表达式运算符(优先级、结合性);
➢ 人为地规定其算符的优先顺序,即给出优先级别和同一级别的结合性;
❖ 只考虑算符之间的优先关系来确定句柄。
❖ 定义
➢ 算符文法
➢ 算符优先关系
➢ 算法优先文法
直接计算算符优先关系
❖ ‘≖‘关系 ➢ 直接看产生式的右部,若出现了 A→…ab…或A→…aBb,则a ≖b
❖ ’⋖‘关系
➢ 求出每个非终结符B的FIRSTVT(B) ➢ 若A→…aB…,则b∈FIRSTVT(B),a⋖b
第六章 自底向上优先分析法
练习:若有句型#abAbEcaEc#,则以下哪些可能是句柄() ab abA bAb bAbE ca caE aEc
定义6.2 设G是一个算符文法,a和b是任意两个终结符,A、 B、C是非终结符,算符优先关系=、<、>定义如下: · · · (1)a=b 当且仅当G中含有形如 A … ab …或 A … aBb … · 的产生式。 · (2)a<b 当且仅当G中含有形如 A …aB …的产生式,且 B + b… 或B + Cb… (3)a>b 当且仅当G中含有形如 A …Bb …和产生式,且 · B + …a 或B + …aC A A A …B b… … a B… …a δ b… P P δ b … … a δ
优先分析方法 简单优先分析方法 算符优分析方法 1、简单优先分析方法:对一个文法按一定原则求出该文 法所有符号即终结符和非终结符之间的优先关系,按 照这种关系确定归约过程中的句柄,它的归约过程实 际上是一种规范归约。 2、算符优先分析方法:只规定算符之间的优先关系,也 就是只考虑终结符之间的优先关系,由于算答优先分 析不考虑非终结符之间的优先关系,在归约过程中只 要找到句柄就归约,并不考虑归约到哪个非终结符名, 因而算符优先归约不是规范归约。
第六章 自底向上优先分析法
• 实现思想:对输入符号串自左向右进行扫描,并将输 入符逐个移入一个后进先出栈中,边移入边分析,一 旦栈顶符号串形成某个句型的句柄时,(该句柄对应 某产生式的右部),就用该产生式的左部非终结符代 替相应右部的文法符号串,这称为一步归约。重复这 一过程直到归约到栈中只剩文法的开始符号时则为分 析成功。 • 自底向上分析的移进—归约过程是自顶向下最右推导 的逆过程,也称为规范归约。
编译原理第六章-自底向上优先分析法PPT课件
20
(1)由定义直接构造
❖ 首先引入两个概念
FIRSTVT(B)={b|B b…或B Cb...}
❖对于非终结符B,其往下推导所可能出现的首个算符
LASTVT(B)={a|B … a或B ... aC}
>
>
11) #S
>=
#
接受
)
>
>
对输入串b(aa)#的简单优先分析过程
#< <
简单优先关系矩阵
12
❖ 自底向上优先分析法慨述 ❖ 简单优先分析 ❖ 算符优先分析
13
6.3 算符优先分析法
❖ 某些文法具有“算符”特性 表达式运算符(优先级、结合性) 人为地规定其算符的优先顺序,即给出优先级别 和同一级别的结合性
(4)括号‘(’,‘)’的优先级大 / > > > > < < > < >
于括号外的运算符,小于括号 内的运算符,内括号的优先性
>>>><<><>
(<<<<<<=<
)>>>>>
>
>
大于外括号
i>>>>>
>
>
(5)#的优先性低于与其相邻的 # < < < < < < < =
算符
算符优先关系表
15
文法G[E]:E→E+E|E-E|E*E|E/E|EE|(E)|i
第06章、自底向上优先分析法
移进 归约 e aAcBe (1)
e B c A a #
归约产生式: 符号栈:
a #
b a #
A a #
b A a #
A a #
c A a #
7
S #
上述自下而上分析法就是对栈的“移进-归
约”法,更进一步的,也就是对句子的一个
规范归约过程——何为规范归约呢?
(回顾短语、句柄、推导、归约)
8
算法应考虑的问题
• 何时移进?
• 在每一步中如何选择子串进行归约?
• 算法是否能够终止?
• 算法是否快速? • 算法是否能够处理所有的情况?
11
自底向上的分析算法
• 优先分析法
-简单优先分析法 -算符优先分析法
• LR分析
-LR(0) -SLR(1) -LR(1)
14
6.2 简单优先分析法
• 对一个文法按一定原则求出该文 法所有符号(终结符和非终结符) 之间的优先关系,按照这种关系 确定归约过程中的句柄。
i*i#
*i# *i# i# # # # #
+<i,移进
+<i>*,归约 +<*,移进 *<i,移进 *<i>#,归约 +<*>#,归约 #<+>#,归约 接受
28
二、算符文法(OG)的定义
• 定义: 设有一文法G,如果G中没有形如 A…BC…的产生式,其中B和C为非终结符,则 称G 为算符文法(也称OG—Operator Grammar)。
+ * /
+ - * /
根据FIRSTVT(P)的定义,按下面的规 则来构造: (1) 若有产生式P a…或P Qa… ,则 a FIRSTVT(P) (2) 若a FIRSTVT(Q),且有产生式 P Q…,则 a FIRSTVT(P)
第6章自底向上优先分析法
第6章⾃底向上优先分析法⾃底向上分析⽅法,也称移进-归约分析法,粗略地说它的实现思想是对输⼊符号串⾃左向右进⾏扫描,并将输⼊符逐个移⼊⼀个后进先出栈中,边移⼊边分析,⼀旦栈顶符号串形成某个句型的句柄时,(该句柄对应某产⽣式的右部),就⽤该产⽣式的左部⾮终结符代替相应右部的⽂法符号串,这称为归约。
重复这⼀过程直到归约到栈顶中只剩⽂法的开始符号时则为分析成功,也就确认输⼊串是⽂法的句⼦。
本章将在介绍⾃底向上分析思想基础上,着重介绍算符优先分析法。
例6.1,设⽂法G[S]为:(1)S→aAcBe(2)A→b(3)A→Ab(4)B→d对输⼊串abbcde#进⾏分析,检查该符号串是否是G[S]的句⼦。
由于⾃底向上分析的移进-归约过程是⾃顶向下最右推导的逆过程,⽽最右推导为规范推导,⾃左向右的归约过程也称为规范归约。
容易看出对输⼊串abbcde的最右推导为:S aAcBe aAcde aAbcde abbcde由此我们可以构造它的逆过程即归约过程。
先设⼀个后进先出的符号栈,并把句⼦左括号”#”号放⼊栈底。
对上述分析过程也可看成⾃底向上构造语法树的过程,每步归约都是构造⼀棵⼦树,最后当输⼊串结束时刚好构造出整个语法树。
在上述移进-归约或⾃底向上构造语法树的过程中,考虑⼏个问题:u 何时移进?u 何时归约?u 将哪个字符串归约?当⼀个⽂法⽆⼆义性时,那么它对⼀个句⼦的规范推导是唯⼀的,规范规约也必然是唯⼀的。
因⽽每次归约时要找当前句型的句柄,也就是说,任何时候栈中的符号串和剩余的输⼊串组成⼀个句型,当句柄出现在栈顶符号串中时,则可⽤句柄归约,这样⼀直归约到输⼊串只剩结束符,⽂法符号栈中只剩开始符号。
由此可见,⾃底向上分析的关键问题是在分析过程中如何确定句柄,即如何知道何时在栈顶符号串中已形成某句型的句柄。
然⽽⾃底向上的分析算法很多,我们仅在本章和第7章介绍⽬前常⽤的算符优先分析和LR类分析法。
6.1 ⾃底向上优先分析法概述优先分析法⼜可分简单优先法和算符优先分析法。
编译原理自底向上优先分析课件
CHAPTER 02
自底向上优先分析基础
文法和语言
定义
文法是描述语言的语法结构的形式化工具,由一组产生式构成。语言是文法产生的所有句 子的集合。
上下文无关文法
在编译原理中,常用上下文无关文法来描述程序设计语言的语法结构。这种文法的产生式 形式为A→β,其中A是非终结符,β是终结符和非终结符组成的字符串。
随着量子计算的快速发展, 如何设计适用于量子计算环 境的编译器成为一项迫切需 求。自底向上的优先分析方 法有望在量子计算环境下的 编译器设计中发挥重要作用。
跨平台和跨语言 支持
为了满足不同平台和语言的 需求,未来研究可以关注如 何使自底向上优先分析方法 更好地支持跨平台和跨语言 编译。
THANKS
CHAPTER 04
LALR分析算法
LALR分析表的构建
01
02
03
步骤一
步骤二
步骤三
构造文法的LR(1)分析表。LALR分析 算法首先会为给定的上下文无关文法 构造LR(1)分析表。该分析表包含了所 有可能的状态和对应的动作(移进、 规约或接受)。
合并同心集。在LR(1)分析表的基础上, LALR分析算法会识别并合并所谓的“ 同心集”(即具有相同闭包和goto函 数的项集)。这一步骤有效地减少了 状态的数量,从而使得分析表更小、 更简洁。
结构。该表根据当前分析状态和输入符号,指导归约操作的进行,提高
了分析效率。
本课件的内容和结构
主要内容
本课件将详细介绍自底向上优先分析方法的基本原理、归约过程、分析表的使用 以及相关的优化技术。通过实例和案例,展示这种方法在编译器设计中的应用。
结构安排
首先介绍编译原理概述和自底向上优先分析方法的基本原理,然后深入讲解归约 过程和分析表的使用,最后探讨相关的优化技术和应用案例。课件将结合理论和 实践,使读者更好地理解和掌握自底向上优先分析方法。
第六章自底向上优先分析法
步骤 符号栈
1) # 2) #a 3) #ab 4) #aA 5) #aAb 6) #aA 7) #aAc 8) #aAcd 9) #aAcB 10) #aAcBe 11) #S
输入符号串
abbcde# bbcde# bcde# bcde# cde# cde# de# e# e# # #
动作
移进
移进
移进 移进 移进 归约 T int 归约T int * T 移进 移进 归约T int 归约E T 归约E T + E
短语、直接短语、句柄的定义review
文法G[S] SαAδ且Ab 则称b是句型αbδ相对于 非终结符A的短语。 若有A b则称b是句型αbδ相对于该规则 Ab的直接短语。 句柄(Handles):句型的最左直接短语
6.2 简单优先分析法
按照文法符号—终结符和非终结符的优先关 系确定句柄
确定优先关系 precedence relation 构造优先关系表 precedence table
6.2.1 优先关系
优先关系 precedence relation X ≡ Y 表示X和Y的优先关系相等
⋖
⋗
A
≡
≡
(
⋖⋖≡ ⋖
B
⋗
⋗
a
⋗
⋗≡
)
⋗
#⋖ ⋖
⋗
≡
6.2.2 简单优先文法的定义
Simple precedence grammar 满足以下条件的文法是简单优先文法 (1) 在文法符号集V中,任意两个符号之间最多
只有一种优先关系成立。 (2) 在文法中任意两个产生式没有相同的右部 (3) 不含空产生式
In bottom-up parsing, you start with the string and reduce it to the start symbol by applying the productions backwards.
自底向上优先分析法
S0 Sj-1SjSj+1Sj+2 Si-1SiSi+1 Sn
优先关系
• 和书上的写法不一样。 等同:Si 〓 Sj 先于:Si ►Sj 后于:Si◄Sj
• 注意:〓,►和◄不同于=,>和<。 由Si►Sj不能导出Sj◄Si。
简单优先分析技术(思路续)
• 我们要通过两个相邻符号SiSi+1之间的关系来 找到句柄:
例子
不用此页
文法GE[E]: E::=E+E|E*E|(E) 输入符号串:i*i+i 已处理 未处理 句型 句柄
规则
i
*i+i
E *i+i
E* i+i
E*i +i
E*E +i
E
+i
E+i
E+E
E
i*i+i E*i+i E*i+i E*i+i E*E+i E+i E+i E+E
i E::=i
i E::=i E*E E::=E*E
+
TAIL (V)={Sl | V ==> Sl }
={ Sj1, Sj2, , Sjm }。
+
HEAD(W)={Sk | W ==> Sk}
Si1 Si2 Sin
={ Si1, Si2, , Sin }。
S
S
b Ab a
b◄a a►b
bA
b b◄ (
(
B ( 〓B
B►b
优先矩阵
• 可以将优先 关系填写到 一个矩阵, 得到优先矩 阵。(将矩阵 作为关系的 表示形式)
06 第六章 自底向上分析-优先分析法
de# 规约(A→Abc)
de# 移进 e# 规约(B→d) e# 移进 # 规约(S→aABe) # 接收
6.1 自底向上分析法的概述
分析过程:
(1)符号栈:我们建立的这个符号栈是一个后进先出的栈,即 每次检查的都是位于栈顶的符号,通过观察栈顶的符号来判 断输入串分析过程中采取的动作。
符号进栈时每次只能移进一个符号;
6.3.1 优先关系的判断
1.优先关系符号及其含义
首先,我们给出优先关系的表示符号及其含义,如表6-2所示。 假设a和b是文法中任意的两个文法符号(可以为终结符号,也 可以为非终结符号),a和b是在文法的句型中可能会处在相邻 位置上的两个文法符号。下面我们给出三种优先关系的表示 符号:· >,<· (注意:· 和= >,<· 和=符号的含义和数学中的>, <和=符号的含义是不同的)。
(5)重复上述步骤(2)、(3)、(4)直到归约完输入符号串,栈中只 剩下文法的开始符号为止。
6.3.3 简单优先分析法
例6-1 设文法G为: S→aABe 步骤 A→Abc (1) A→b (2) B→d (3)
(4) (5) (6) (7) (8) (9) (10) (11)
表6-1 用移进-规约方法对输入串abbcde# 的分析过程
且B=>+Y…。
(3)若有X=Y,当且仅当G中存在产生式规则A→…XY…。 (4)增加语句括号“#”的优先级规则:“#”的优先级要<· 所有的 文法符号;而所有的文法符号·>“#”;但是在构造文法的符号优 先关系的时候只需要考虑与句子括号“#”可能相邻的文法符号。
6.3.1 优先关系的判断
例6-3 考虑文法G[S], 求该文法的优先关系。 →bAb (1) =关系 S b = A = b b = A A = b (= B A ( = B A=a a=) B A= a = ) A→(B A→a B→Aa)
编译原理自底向上优先分析
(E: 则有(<FIRSTVT(E)
(4)求>关系
E#: 则有LASTVT(E)>#
E+:则有LASTVT(E)>+
T*: 则有LASTVT(T)>*
P^:则有LASTVT(P)>^
E): 则有LASTVT(E)>)
23
(0)E’#E# (1) EE+T (2)ET
(3)TT*F
(4)TF (5)FP^F|P (6)P(E) (7)Pi
➢ 性质1:在算符文法中,任何句型都不包含两个 相邻的非终结符。
➢ 性质2:如果Ab或(bA)出现在算符文法的句型 中。其中,A为非终结符, b为终结符, 则句型中 任何含b的短语必含有A.
17
6.3.2 算符优先文法的定义
定义3 设有一个不含产生式的算符文法G,如果对任意两
个终结符对a、b之间至多只存在<、>、=三种关系中的
( (, ( a, ( A
(3)求 关系
由SbAb, A=>…), A=>…B, A=>a, 可得:
) b, a b, B b
由BAa), A=>…), A=>a, A=>…B,可得:
) a, a a, B a
8
增:S’#S#
例:文法G[S]:SbAb A(B|a BAa)
文法的简单优先关系矩阵
S b A(B a)#
B=+=>Y… (3)X Y:当且仅当存在规则A…BY…,且
B=+=>…X *
7
例:文法G[S]:SbAb A(B|a BAa)
分析优先关系:
(1)求 关系
b A, A b, ( B, A a, a )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPT学习交流
12
算符优先分析法
• 某些文法具有“算符”特性
• 表达式运算符(优先级、结合性); • 人为地规定其算符的优先顺序,即给出优先级别和同一级别的结合性;
• 只考虑算符之间的优先关系来确定句柄。
• 定义
• 算符文法 • 算符优先关系 • 算法优先文法 • 最左素短语
• 算符优先关系表的构造
输入符号串
abbcde# bbcde# bcde# bcde# cde# cde# de# e# e# # #
动作
移进 移进 归约(A→b) 移进 归约(A→Ab) 移进 移进 归约(B→d) 移进 归约(S→aAcBe) 接受
对输入串abbcde#的移进-规约分析过程
a b b c d e 分析符号串abbcde是否G[S]的句子
PPT学习交流
9
确定文法符号之间的关系
1. 求≖关系:
• 由(1):b ≖A • 由(2):(≖B • 由(3):A ≖a
2. 求⋖关系:
• 由(1)(2):b⋖( • 由(2)(3):(⋖ A
3. 求⋗关系:
• 由(1):B ⋗b • 由(3):B ⋗a
A ≖b a ≖) b⋖ a (⋖( (⋖ a a ⋗b ) ⋗b a ⋗a ) ⋗a
编译原理之 优先分析法
PPT学习交流
1
第06章 自底向上优先分析法
•自底向上优先分析概述 •简单优先分析法 •算符优先分析法
PPT学习交流
2
自底向上分析方法概述
• 自底向上分析方法,也称移进-归约分析法。
• 实现思想是对输入符号串自左向右进行扫描,并 将输入符逐个移入一个后进先出栈中,边移入边 分析,一旦栈顶符号串形成某个句型的句柄时, 就用该产生式的左部非终结符代替相应右部的文 法符号串,这称为一步归约。
1. 将输入符号串a1a2a3...an#依次逐个存入符号栈S中, 直到遇到栈顶符号ai的优先性.>下一个待输入符号aj 时为止。
2. 栈顶当前符号ai为句柄尾,由此向左在栈中找句柄的 头符号ak,即找到ak-1⋖ak为止。
3. 由句柄ak...ai在文法的产生式中查找右部为ak...ai的产 生式,若找到则用相应左部代替句柄,若找不到则 为出错,这时可断定输入串不是该文法的句子。
• 重复这一过程直到归约到栈中只剩文法的开始符 号时则为分析成功,也就确认输入串是文法的句 子。
• 示例
PPT学习交流
3
示例 文法G[S]:
(1) S → aAcBe (2) A → b (3) A → Ab (4) B → d
S
AB
A
步骤 符号栈
1) # 2) #a 3) #ab 4) #aA 5) #aAb 6) #aA 7) #aAc 8) # aAcd 9) #aAcB 10) #aAcBe 11) #S
a
·>
·> ·=
)
·>
·>
# <· <·
·=
#b(B #bA #bAb #S
输入符号串
b(aa)b# (aa)b# aa)b# a)b# a)b# )b# b# b# b# # #
动作
#⋖b,移进 b⋖(,移进 (⋖a,移进 a.>a,归约A→a A.=a,移进 a.=),移进 ).>b,归约B→Aa) B.>b,归约A→(B A.=b,移进 b.>#,归约S→bAb 接受
❖ 优先关系
➢ X ≖Y:表示X、Y的优先关系相同,当且仅 当文法G中存在产生式A→...XY…;
➢ X⋖Y:表示X的优先性比Y的要低,当且仅当
文法G中存在产生式A→...XB...,且B
Y...
➢ X⋗Y:表示X的优先性比Y的要高,当且仅当
文法G中存在产生式A→...BD...,且B
...X,
文法G[S]: (1) S → bAb (2) A → (B|a
步骤
1) 2) 3)
符号栈
# #b #b(
(3) B → Aa)
4) #b(a
5) #b(A
6) #b(Aa
7) #b(Aa)
8)
S
S
b
A
(
B
a
)
# ·>
9)
b
·= <·
<·
·> 10)
A
·=
·=
(
<· <· ·= <·
11)
B
·>
·>
PPT学习交流
10
求出文法的简单优先关系矩阵
SbA( Ba ) #
S
·>
b
·= <·
<·
·>
A
·=
·=
(
<· <· ·= <·
B
·>
·>
a
·>
·> ·=
)
·>
·>
# <· <·
·=
“#”用来表示语句括号,其优先关系低于所有与其有相邻关系的文法符号。
PPT学习交流
11
对输入串进行分析(输入串
6
简单优先文法的定义
• 满足以下条件的文法是简单优先文法:
• (1)在文法符号集V中,任意两个符号之间最多只有一种 优先关系成立;
• (2)在文法中任意两个产生式没有相同的右部。
PPT学习交流
7
简单优先分析法——算法
• 根据已知优先文法构造相应优先关系矩阵,并将 文法的产生式保存,设置符号栈S,算法步骤如下:
最右推导:
S aAcBe aAcde PPT学习交a流Abcde abbcde
4
简单优先分析法
• 按照文法符号(包括终结符和非终结符)的优先关 系确定句柄。
• 定义
• 优先关系 • 简单优先文法
• 优先关系矩阵:表示文法符号之间关系的矩阵。 • 算法 • 示例
PPT学习交流
5
优先关系的定义
• 2:如 Vx 或 xV 出现在算符文法的句型 中,其中 V∈VN,x∈VT, 则 中任何含 x 的短语必含有V。(反证 法)
PPT学习交流
14
用归纳法
• 设是句型,即S⇒*
• S=ω0 ⇒ω1 ⇒...⇒ωn-1 ⇒ωn= • 推导长度为n,归纳起点n=1时,
4. 重复上述三步,直到归约完输入符号串,栈中只剩 文法的开始符号为止。
PPT学习交流
8
简单优先文法分析示例
• 文法G [S]:
• (1) S → bAb (2) A → (B|a (3) B → Aa)
• 1、确定文法符号之间的关系 • 2、求出文法的简单优先关系矩阵 • 3、对输入串进行分析(输入串b(aa)b# )
• 算符优先分析法概述
• 算符优先文法的性质
• 算符优先分析算法
• 优先函数
• 算符优先分析法的局限性
PPT学习交流
13
算符文法的定义
• 如果不含空产生式的上下文无关文法 G 中没有形如 U…BC…的产生式,其中B,C∈VN,则称G为算符 文法(Operater Grammar,OG)。
• 性质
• 1:在算符文法中任何句型都不包含两个相邻的非终结符。 (归纳法)