辽宁大学-编译原理part2_第1页
辽宁大学-编译原理part2_第2页
辽宁大学-编译原理part2_第3页
辽宁大学-编译原理part2_第4页
辽宁大学-编译原理part2_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上次课主要内容中间代码目标代码生成器代码优化器语义分析与中间代码生成器语法分析器表格管理出错处理中间代码目标代码语法单位单词符号词法分析器源程序变成一个单词序列走向目标1一个平滑的字符流走向目标2走向目标3走向目标4走向目标5得到语法成分!更接近机器语言更高的效率达到目标2025/1/152编译程序上次课主要内容编译程序的组织编译的扫描遍数前端、后端前端后端中间代码中间代码优化中间代码2025/1/153上次课主要内容T形图源语言表示语言目标语言编译程序实现技术移植:用“C”语言写一个“C”语言编译器现有编译器的利用:用“C”语言写一个“NEW”语言编译器自展:找一个子集,开始滚雪球自动生成:lex、Yacc2025/1/154第2章高级语言

及其文法关键:让系统知道“组成规则”并按照规则分析!2025/1/155本章主要内容语言的形式化描述——文法2.1语言概述2.2基本定义2.3文法(Grammar)的定义2.4CFG的语法(分析)树(ParseTree)2.5文法的分类2.6文法的构造2025/1/1562.1语言概述什么是语言自然语言(NaturalLanguage)是人与人之间的通讯工具语义(Semantics):环境、背景知识、语气、二义性——难以形式化计算机语言(ComputerLanguage)计算机系统间、人机间通讯工具严格的语法(Grammar)、语义(Semantics)——易于形式化:严格语言是用来交换信息的工具——功能性描述2025/1/1572.1语言概述语言的描述方法——现状自然语言:自然、方便-非形式化数学语言(符号):严格、准确-形式化机器要掌握规则:形式化描述高度的抽象严格的理论基础方便的计算机表示2025/1/1582.1语言概述语言——形式化的内容提取字符(Character):语言的基本字符单词(Token):满足一定规则字符串句子(Sentence):满足一定规则单词序列语言(Language):满足一定规则的句子集合语言是字和组合字的规则——结构性描述例:今次课是二日上编译第今日是上第二次编译课2025/1/1592.1语言概述程序设计语言(ProgrammingLanguage)——形式化的内容提取程序设计语言为组成程序的所有语句的集合程序(Program):满足语法规则的语句序列语句(Sentence):满足语法规则的单词序列单词(Token):满足词法规则的字符串例变量=表达式if条件then语句while条件do语句call过程名(参数表)2025/1/15102.1语言概述描述形式——文法语法——语句语句的组成规则描述方法:BNF范式、语法(描述)图词法——单词单词的组成规则描述方法:BNF范式、正规式2025/1/15112.2基本定义定义1

字母表(Alphabet)∑是一个非空有穷集合,字母表中的元素称为该字母表的一个字母(Letter),也叫字符(Character)例以下是不同的字母表 ⑴{a,b,c,d} ⑵{a,b,c,……,z} ⑶{0,1}相当于高级语言的字符集2025/1/15122.2基本定义定义2字母表∑上符号串(String)

(1)ε是∑上的一个符号串(叫做空串);(2)若x是∑上的符号串,而a是∑的元素,则xa是∑上的符号串;(3)y是∑上的符号串,当且仅当它由(1)和(2)导出由字母表中的符号所组成的任何有穷序列被称之为该字母表上的符号串,也称作“字”(Word)2025/1/15132.2基本定义定义3∑的正闭包(PositiveClosure):∑+={x|x是∑上的非空字符串}∑+=∑∪∑2∪∑3∪∑4∪……∑的克林闭包(KleeneClosure):∑*={ε}∪∑+=∑0∪∑∪∑2∪∑3∪……2025/1/15142.2基本定义例设∑={0,1}{0,1}+={0,1,00,01,10,11,000,001,010,011,100,……}{0,1}*={ε,0,1,00,01,11,000,001,010,011,100,…}2025/1/15152.2基本定义例设∑

={a,b,c,d}{a,b,c,d}+={a,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,……,aaa,aab,aac,aad,aba,abb,abc……}{a,b,c,d}*={ε,a,b,c,d,aa,ab,ac,ad,ba,bb,bc,bd,…,aaa,aab,aac,aad,aba,abb,abc,…}2025/1/15162.2基本定义定义4设∑1、∑2是两个字母表,∑1与∑2的乘积(Product)∑1∑2={ab|a∈∑1,b∈∑2}例:∑1={0,1},∑2={a,b},∑1∑2={0a,0b,1a,1b}2025/1/15172.2基本定义定义5设∑是一个字母表,

L

∑*,L称为字母表∑上的一个语言(Language),

x∈L,x叫做L的一个句子。例:∑={0,1}上的语言{0,1}{00,11}{0,1,00,11}{0,1,00,11,01,10}{00,11}*{01,10}*2025/1/15182.2基本定义设s是符号串:01290273前缀:移走s的尾部的零个或多于零个符号后缀:删去s的头部的零个或多于零个符号子串:从s中删去一个前缀和一个后缀子序列:从s中删去零个或多于零个符号(这些符号不要求是连续的)长度:是该符号串中的符号的数目。例如|aab|=3,|ε|=0。2025/1/15192.2基本定义定义6设x和y是符号串,它们的连接(Concatenation)xy是把y的符号写在x的符号之后得到的符号串。 例如,x=ba,y=nana,xy=banana定义7设x是符号串,x的n次幂(power)为

x0=

,xn=xn-1x,n>0。例如,令x=ba,x1=ba,x2=baba,x3=bababa,…...2025/1/15202.3文法的定义如何实现语言结构的形式化描述?2025/1/1521考虑一个句子——文法要素的提取分析:Thegraywolfwilleatthegoat〈谓语〉〈主语〉〈形容词〉〈名词〉〈动词〉〈直接宾语〉〈助动〉〈句子〉〈动原〉〈冠词〉〈名词〉The

graywolfwilleatthegoat〈冠词〉2025/1/1522句子

→主语谓语

主语→冠词形容词名词

谓语

动词直接宾语

动词→助动词动词原形

直接宾语→

冠词名词产生句子的规则——从产生语言的角度冠词→

the

形容词

gray

助动词→

will

动词原形

eat名词→

wolf

名词

goatProductTerminalVariableStartSymbol2025/1/1523终结符号集VT={the,gray,wolf,will,eat,goat}非终结符号集VN={

句子,主语,谓语,冠词,形容词,名词,

动词,直接宾语,助动词,动词原形

}语法规则集P={句子→

主语谓语,……}开始符号S=

句子句子的语法组成

——终结符号集,非终结符号集,语法规则,开始符号2025/1/1524文法G的形式定义文法G为一个四元组:

G=(VT,VN,P,S)VT:终结符(Terminal)集VN:非终结符(Variable)集,VT∩VN=Φ语法范畴——某个语言结构S:开始符号(StartSymbol),S∈VN至少在产生式左侧出现一次2025/1/1525文法G的形式定义P:产生式(Product)集合α→β,被称为产生式(定义式),读作:α定义为β。其中α∈(VT∪VN)+,且α中至少有VN中元素的一个出现。β∈(VT∪VN)*。α称为产生式α→β的左部(LeftPart),β称为产生式α→β的右部(RightPart)

2025/1/1526<句子>的语法组成G

=({the,gray,wolf,will,eat,goat},

{

句子,主语,谓语,冠词,形容词,名词,

动词,直接宾语,助动词,动词原形},

{句子→

主语谓语,主语→冠词形容词名词,谓语

动词直接宾语,

动词→助动词动词原形,直接宾语→

冠词名词,冠词→

the,

形容词

gray,助动词→

will,

动词原形

eat,名词→

wolf,

名词

goat},

句子)看起来有点乱!2025/1/1527句子

→主语谓语

主语→冠词形容词名词

谓语

动词直接宾语

动词→助动词动词原形

直接宾语→

冠词名词没有这个看着“舒服”冠词→

the

形容词

gray

助动词→

will

动词原形

eat名词→

wolf

名词

goat只写产生式?约定:第一个产生式的左部为开始符号2025/1/1528例2-1算术表达式的文法考虑简单算术表达式组成的语言递归定义——中缀表示标识符(id)(常数、变量)是表达式;表达式加表达式是表达式;表达式减表达式是表达式;表达式乘表达式是表达式;表达式除表达式是表达式;表达式加上括号后是表达式2025/1/1529例2-1算术表达式的文法考虑用式子表示这个定义标识符(id)是表达式表达式加表达式是表达式E→idE→E+E表达式减表达式是表达式E→E-E表达式乘表达式是表达式E→E*E表达式除表达式是表达式E→E/E表达式加上括号后是表达式E→(E)2025/1/1530例2-1算术表达式的文法按照约定:只写产生式E→E+EE→E-EE→E*EE→E/EE→(E)E→idG=({id,+,-,*,/,(,)},{E},P,E)简写E→E+E|E*E|E-E|E/E|(E)|id2025/1/1531产生式的简写对一组有相同左部的产生式α→β1,α→β2,…,α→βn简单地记为:α→β1|β2|…|βn读作:α定义为β1,或者β2,…,或者βn,并且称它们为α产生式。β1,β2,…,βn称为候选式(Candidate)文法如何实现对语言的刻画?产生式很关键!让描述看起来更简洁一点2025/1/1532产生式规定了一些变换E由第1个候选式可以变成E+EE+E中的第1个E由第2个候选式可以变成E*E,从而E+E变成E*E+E根据第4个候选式,E*E+E中的E都可以变成id:E*E+E变成id*E+Eid*E+E变成id*E+idid*E+id变成id*id+id也就是说,根据第4个候选式,E*E+E经3步变换变成id*id+id1E→E+E2E→E*E3E→(E)4E→id5E→E-E6E→E/E2025/1/1533变换的符号表示E

E+E (1)

E*E+E (2)

id*E+E (4)

id*E+id (4)

id*id+id (4)4E→id5E→E-E6E→E/EE可以变成E+EE+E第一个E变成E*EE*E+E变成id*E+Eid*E+E变成id*E+idid*E+id变成id*id+idE经5步变换变成id*id+id:E

5id*id+id1E→E+E2E→E*E3E→(E)实质是从E开始依据产生式对所得串中的特定部分进行变换,不断获得新的串,最终得到目标2025/1/1534直接推导与归约根据产生式对符号串进行变换的过程A→γ是文法G的一个产生式,且α、β∈(VT∪VN)*,称αAβ的直接推导/派生(Derive)出αγβ,也称αγβ直接归约(Reduce)为αAβ注意到是根据A→γ而将αγβ中的γ变成了A,所以,一般称将γ归约为A记为αAβ

αγβ(αγβ

αAβ

)2025/1/1535变换的分析实质是从E开始依据产生式对所得串中的特定部分进行变换,不断获得新的串,最终得到目标E+E

依据产生式E→E*EE+E*E

αAβ依据产生式A→γαγβαAβ

αγβE+E

E+E*E2025/1/1536直接推导与归约推导:E

E+E (1)

E*E+E (2)

id*E+E (4)

id*E+id (4)

id*id+id (4)从E出发,5步推导出句子id*id+id归约:id*id+id

id*E+id (4)

id*E+E (4)

E*E+E (4)

E+E (2)

E

(1)

4E→id5E→E-E6E→E/E1E→E+E2E→E*E3E→(E)从id*id+id出发,5步归约成开始符号E2025/1/1537(多步)推导/归约α0

α1

α2

αn记为α0

n

αn

(恰用n步)

α0

+

αn

(至少一步)

α0

*

αn

(若干步:零步或多步)E

5id*id+idid*id+id

5

E(VT∪

VN)*

×(VT∪

VN)*

2025/1/1538再看推导/归约E

E+E (1)串中含有变量

id+E (4)串中含有变量

id+E*E (2)串中含有变量

id+id*E (4)串中含有变量

id+id*id (4)串中没有变量到此串中已经没有(语法)变量了,不能再推了——得到句子4E→id5E→E-E6E→E/E1E→E+E2E→E*E3E→(E)2025/1/1539句型与句子E

E+EE+E*E

3id+id*idE

4id+id*E定义:如果S

*α,α∈(VT∪VN)*则称α是G产生的一个句型(SententialForm)E

5id+id*id定义:如果S

*x,且x∈VT*,则称x是G产生的一个句子(Sentence)2025/1/1540文法G产生的语言定义: L(G)={x|S

*x&

x∈VT*}文法E→E+E|E*E|(E)|id可以派生出多少个句子?文法G的作用——语言的有穷描述以有限的规则描述无限的语言现象有限:产生式集合、终结符集合、非终结符集合无限:可以导出无穷多个句子(注:L也可是有穷)2025/1/1541句子主语谓语

冠词形容词名词谓语

the

形容词名词谓语

thegray名词谓语

thegraywolf

谓语

thegraywolf

动词直接宾语

thegraywolf助动词动词原形直接宾语

thegraywolfwill动词原形直接宾语

thegraywolfwilleat直接宾语

thegraywolfwilleat

冠词名词

thegraywolfwilleatthe名词

thegraywolfwilleatthegoat句子是根据文法推导的结果句子→

主语谓语

主语→冠词形容词名词

谓语

动词直接宾语动词→助动词动词原形

直接宾语→

冠词名词冠词→

the

形容词

gray

助动词→

will

动词原形

eat名词→

wolf

名词

goat2025/1/1542句子thegraywolfwilleatthegoat

thegraywolfwilleatthewolf

thegraygoat

willeatthewolfthegraygoat

willeatthegoat符合语义的句子仅是:

thegraywolfwilleatthegoat还可以“得出”其他的“句子”2025/1/1543id+id*id的不同推导E→E+E|E*E|(E)|idE

E+E

id+E

id+E*E

id+id*E

id+id*idE

E+E

E+E*E

E+E*id

E+id*id

id+id*idE

E*E

E+E*E

E+id*E

id+id*E

id+id*id不做限制句型(sententialForm)(归约)施于最右变量右句型/规范句型 (canonical~)(最左/规范归约)施于最左变量左句型(left-~)(最右归约)E

5

id+id*id

E

*

id+id*id E

+

id+id*id2025/1/1544最左推导与最右推导最左推导(Left-mostDerivation)每次推导都施加在句型的最左边的语法变量上——与最右归约对应最右推导(Right-mostDerivation)每次推导都施加在句型的最右边的语法变量上——与最左归约(规范规约)对应的规范(Canonical)句型2025/1/1545例2-2标识符的文法1标识符:字母开头的字母数字串(递归定义)符号“化”:S-标识符,L-字母,T-尾,N-数字S→L|LT T→L|N|TL|TN L→a|b|c|d letter N→0|1|2|3|4|5 digit?正整数的文法;正实数的文法2025/1/1546上次课主要内容语言信息交流的工具字和组合字的规则的统一体字母表上的语言字母表

∑+、∑*、a∈∑,x∈∑*、L

∑*、x∈L2025/1/1547上次课主要内容文法通过刻画语言的结构描述语言G=(VT,VN,P,S)α→β有穷描述:递归定义文法的简写:只写产生式集、开始符约定2025/1/1548上次课主要内容产生式的简写:

α→β1|β2|…|βn(候选式)(VT∪

VN)*

×(VT∪

VN)*直接派生/归约:αAβ

αγβA→γn步派生/归约:αAβ

nαγβA

nγ句型:S

*αα∈(VT∪

VN)*

句子:S

*xx∈VT*语言:L(G)={x|S

*xandx∈VT*}2025/1/1549上次课主要内容最左推导(最右归约)最右推导(最左归约)规范推导/归约,规范句型2025/1/1550不同类型的文法S

aBCS

aSBCCB

BCaB

dbB

bbbC

bcC

ccE→E+EE→E*EE→(E)E→idE→E-EE→E/E

S

aBCS

aSBCCB

BCaB

abbB

bbbC

bccC

ccS→a|bS→aT|bTT→a|bT→1|2T→aT|bTT→1T|2TS→a|bS→Ha|HbS→H1|H2H→Ha|HbH→H1|H2H→a|b0型文法(PSG)1型文法(CSG)2型文法(CFG)3型文法(RG)3型文法(RG)2025/1/15512.4文法的分类(Chomsky体系)语言结构的复杂程度(形式语言)涉及文法的复杂程度、分析方法的选择如果G满足文法定义的要求,则G是0型文法(短语结构文法PSG:PhraseStructureGrammar)L(G)为PSL2025/1/1552上下文有关文法(CSG)除形如α→ε的ε产生式外,若α→β满足|α|≤|β|则G是1型文法,又叫上下文有关文法(CSG—ContextSensitiveGrammar)L(G)为1型/上下文有关/敏感语言(CSL)2025/1/1553上下文无关文法(CFG)若α→β满足α∈VN,β∈(VN∪VT)*,则G是2型文法,又叫上下文无关文法(CFG:ContextFreeGrammar)L(G)为2型/上下文无关语言(CFL)程序设计语言的多数语法特征为上下文无关的2025/1/1554例2-3标识符的文法2S→L|LT T→L|N|TL|TN L→a|b|c|d N→0|1|2|3|4|5S→a|b|c|d S→aT|bT|cT|dT T→a|b|c|d|0|1|2|3|4|5 T→aT|bT|cT|dT|0T T→1T|2T|3T|4T|5TCFG右部最多只有一个变量,且都在右边2025/1/1555例2-4标识符的文法3S→a|b|c|dS→aT|bT|cT|dTT→a|b|c|d0|1|2|3|4|5T→aT|bT|cT|dT|0TT→1T|2T|3T|4T|5TS→a|b|c|dS→Ha|Hb|Hc|Hd|H0S→H1|H2|H3|H4|H5H→Ha|Hb|Hc|Hd|H0H→H1|H2|H3|H4|H5H→a|b|c|dA→aB或A→aA→Ba或A→a右部最多只有一个变量,且都在右边右部最多只有一个变量,且都在左边2025/1/1556正规文法(RG)设A、B∈VN,a∈VT∪{

}右线性(RightLinear)文法:A→aB或A→a左线性(LeftLinear)文法:A→Ba或A→a都是3型文法(正规文法RegularGrammar-RG)L(G)为3型/正规集/正则集/正则语言(RL)程序设计语言的多数词法特性左、右线性文法混用不是正规文法2025/1/1557例非CFL的文法L={anbncn|n>0}的文法S

aBC|aSBCCB

BCaB

abbB

bbbC

bccC

cc“可以证明”不存在CFGG,使L(G)=L如下是L={anbncn|n>0}的文法吗?问什么?S

aBC|aSBCCB

BCB

bC

c2025/1/1558

在我们使用的程序语言中,有些语言结构并不是总能用上下文无关文法描述的。例L1={wcw|w∈{a,b}+}。例,aabcaab就是L1的一个句子。这个语言是检查程序中标识符的声明应先于引用的抽象。

例L2={anbmcndm|n,m≥0},它是检查过程声明的形参个数和过程引用的参数个数是否一致问题的抽象。高级语言中的非CFL结构2025/1/1559不同类型的文法S

aBCS

aSBCCB

BCaB

dbB

bbbC

bcC

ccE→E+EE→E*EE→(E)E→idE→E-EE→E/E

S

aBCS

aSBCCB

BCaB

abbB

bbbC

bccC

ccS→a|bS→aT|bTT→a|bT→1|2T→aT|bTT→1T|2TS→a|bS→Ha|HbS→H1|H2H→Ha|HbH→H1|H2H→a|b0型文法(PSG)1型文法(CSG)2型文法(CFG)3型文法(RG)3型文法(RG)TMLBAPDAFAFA2025/1/1560四种文法之间的关系是将产生式作进一步限制而定义的,他们呈逐级“包含”关系Chomsky体系——总结0型文法1型文法2型文法3型文法.2025/1/1561BNF范式——Backus-NaurForm

Backus-NormalFormα→β表示为α∷=β非终结符用“<”和“>”括起来终结符:基本符号集其他β(α1|α2…|αn)≡βα1|βα2…|βαn{α1|α2…|αn}ul

{α1|α2…|αn}ml=0,u=m[α]≡α|ε……2025/1/1562BNF范式——BackusNormalForm例简单算术表达式<简单表达式>∷=<简单表达式>+<简单表达式><简单表达式>∷=<简单表达式>*<简单表达式><简单表达式>∷=(<简单表达式>)<简单表达式>∷=id即:<简单表达式>∷=<简单表达式>+<简单表达式>| <简单表达式>*<简单表达式>|(<简单表达式>)|id哪些是终结符?哪些是变量?2025/1/1563例2-5句子结构的表示

(文法E→E+E|E*E|(E)|id)EE+EE→E+EidE→idEE*E→E*EidE→ididE→idEE+E一棵树!id+Eid+E*Eid+id*Eid+id*id2025/1/15642.5CFG的语法树语法树(ParseTree,语法分析树,分析树)用树的形式表示句型的结构用VN∪VT∪{ε}中的符号标记结点,标记ε时为独子树根:开始符号;中间结点:非终结符如果一个中间结点v标记为A,v的儿子从左到右依次为v1,v2,……,vn,并且它们分别标记为X1,X2,……,Xn,则A

X1X2……Xn∈P2025/1/15652.5CFG的语法树设有文法G的一棵语法树T,T的所有叶子顶点从左到右依次标记为X1,X2,…,Xn则称符号串X1X2…Xn是T的结果(Yield)AT:…A1AnBX1…X2…A

A1A2…An

Xn-1CXnC

Xn-1Xn

…表示句型X1X2…Xn的结构2025/1/15662.5CFG的语法树文法G的一棵语法子树的“结果”表示一个句型中某一部分的结构——子结构AT:…A1An……BY1Y2…Ym-1CYm…子树B表示其“结果”

Y1Y2…Ym的结构。Y1Y2…Ym称为短语(Phrase)2025/1/1567例2-6语法(分析)树

(文法E→E+E|E*E|(E)|id)EE+Ea1EEE*a2a3短语——一棵子树的叶子!E*直接短语句柄(Handle)a1,a2,a3,a1*E,a2*a3,a1*E+a2*a32025/1/1568短语(Phrase)如果S

*

αAβ&A

γ则称γ是句型αγβ的相对于变量A的直接短语最左直接短语叫做句柄(Handle)如果S

*

αAβ&A

+γ,则称γ是句型αγβ的相对于变量A的短语2025/1/15690型文法1型文法上次课主要内容Chomsky体系PSG(PSL):α→βCSG(CSL):|α|≤|β|CFG(CFL):α∈VN

RG(RL)右线性:A→aB或A→a左线性:A→Ba或A→a2型文法3型文法2025/1/1570上次课主要内容Backus-NaurForm文法的构造、文法的等价CFG的语法树语法树:语法树的结果是句型语法子树:非单一结点的语法子树的结果是短语、简单短语、句柄2025/1/1571例:短语、直接短语、句柄EE+TT+TF+T(E)+T(E+T)+T(E+T)+T(T+T)+T(F+T)+T(a+T)+T(a+T*F)+T(a+F*F)+T(a+b*F)+TE→E+T|TT→T*F|FF→(E)|ida,b,b*F,a+b*F,(a+b*F),(a+b*F)+T?(a+b*c)+T(a+b*c)+F(a+b*c)+dE

E+T

T+T

F+T

a1+T

a1+T*F

a1+F*F

a1+a2*FE+T

T,T+TF,F+Ta1,a1+Ta1,T*F,a1+T*Fa1,F,F*F,a1+F*F

a1,a2,a1+a2*F,a2*F

a1,a2,a3,a2*

a3

a1+a2*a3EE+TTFa1T*FFa2a3

a1+a2*a3短语

a1+a2*a32025/1/1573短语:子树的结果是相对于子树根的短语直接短语:仅有父子两代的子树的结果句柄:一个句型的分析树中最左那棵只有父子两代的子树的结果用子树解释短语,直接短语,句柄2025/1/15741.描述一个句子的文法不是唯一的(标识符的文法);2.对于一个句子的分析应是唯一的,但是,有的时候存在问题。考虑表达式下面的文法G[E],其产生式如下:

E

E+E

E*E

(E)

id

关于文法2025/1/1575文法的二义性(歧义性/ambiquity)EE*EidEE+ididEE+EEEid*idid一个句子有两棵不同的语法树

EE+Ea1+Ea1+E*Ea1+a2*Ea1+a2*a3

EE*EE+E*Ea1+E*Ea1+a2*Ea1+a2*a3EE+Ea1E*Ea2a3EE*E+EEa1a2a3两个不同的最左推导,对应两不同的语法树

EE*EE*a3E+E*a3E+a2*a3a1+a2*a3EE+Ea1E*Ea2a3EE*E+EEa1a2a3两个不同的最右推导,对应两不同的语法树

EE+EE+E*EE+E*a3E+a2*a3a1+a2*a32025/1/1578如果一个文法的句子存在两棵分析树,那么,该句子是二义性的如果一个文法包含二义性的句子,则称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论