第三章 语法分析.docx

上传人:b****4 文档编号:11698543 上传时间:2023-03-30 格式:DOCX 页数:17 大小:47.09KB
下载 相关 举报
第三章 语法分析.docx_第1页
第1页 / 共17页
第三章 语法分析.docx_第2页
第2页 / 共17页
第三章 语法分析.docx_第3页
第3页 / 共17页
第三章 语法分析.docx_第4页
第4页 / 共17页
第三章 语法分析.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

第三章 语法分析.docx

《第三章 语法分析.docx》由会员分享,可在线阅读,更多相关《第三章 语法分析.docx(17页珍藏版)》请在冰豆网上搜索。

第三章 语法分析.docx

第三章语法分析

第三章语法分析

典型例题:

单项选择题

3.1.1.文法G:

S-xSxly所识别的语言是_____(陕西省1997年自考题)

a.xyxb.(xyx)*c.xnyxn(n≥0)d.x*yx*

3.1.2.文法G描述的语言L(G)是指_____。

a.L(G)={α|S=α,α∈VT*}b.L(G)={α|SA=α,α∈VT*}

c.L(G)={α|S=α,α∈(VT∪VN)*}d.L(G)={α|S=α,α∈(VT∪VN)*}

3.1.3.有限状态自动机能识别_。

a.上下文无关文法b.上下文有关文法

c.正规文法d.短语文法

3.1.4.设G为算符优先文法,G的任意终结符对a,b有以下关系成立____。

a.若f(a)g(b),则abb.若f(a)

c.a~b都不一定成立   d.a~b一定成立

3.1.5.茹果文法G是无二义的,则它的任何句子α__。

(西电1999年研究生试题)

a.最左推导和最右推导对应的语法树必定相同

b.最左推导和最右推导对应的语法树可能不同

c.最左推导和最右推导必定相同

d.可能存在两个不同的最左推导,但它们对应的语法树相同

3.1.6.由文法的开始符经。

步或多步推导产生的文法符号序列是____。

(陕西省2000年自考题)

a.短语b.句柄c.句型d.句子

3.1.7.文法G:

E-E+TIT

T-T*P|P

P-(E)|I

则句型P+T+i的句柄和最左素短语分别为___。

a.P+T和ib.P和P+Tc.i和P+T+id.P和P

3.1.8.设文法为:

S--SA|A

A→a|b

则对句子aba,下面____是规范推导.

a.S=SA=SAA=AAA=aAA=abA=aba

b.S=SA=SAA=AAA=AAa=Aba=aba

c.S=SA=SAA=SAa=Sba=Aba=aba

d.S=SA=Sa=Sba=Aba=aba

3.1.9.文法G:

S→b|∧|(T)

T-T,SIS

则FIRSTVT(T)=____。

a.{b,∧,(}b.{b,∧,)}c.{b,∧,(,,}d.{b,∧,),,}

3.1.10.产生正规语言的文法为_____。

a.0型b.1型c.2型d.3型

3.1.11.任何算符优先文法—优先函数。

a.有一个b.没有c.有若干个d.可能有若干个

3.1.12.采用自上而下分析,必须_____。

a.消除左递归b.消除右递归

c.消除回溯.d.提取公共左因子

3.1.13.设a,b,c是文法的终结符,且满足优先关系a=b和b=c,则______。

a.必有a=bb.必有c=a

c.必有b=ad.a~c都不一定成立

3.1.14.在规范归约中,用____来刻画可归约串。

(陕西省1999年自考题)

a.直接短语b.句柄c.最左素短语d.素短语

3.1.15.有文法G:

E→E*T|T

T→T+i|i

句子1+2*8+6按该文法G归约,其值为____。

a.23b.42c.30d.17

3.1.16.规范归约是指________。

(陕西省98年自考题)

a.最左推导的逆过程b.最右推导的逆过程

c.规范推导d.最左归约的逆过程

3.1.17.一文法G:

S→S+T|T.(陕西省1998年自考题)

T→T*P|P

P→(S)|i

则句型P+T+i的短语有____。

a.i,P+Tb.P,P+T,i,P+T+ic.P+T+id.P,P+T,i

多项选择题:

3.2.1.下面哪些说法是错误的____。

(陕西省1998年自考题)

a. 有向图是一个状态转换图b.状态转换图是一个有向图

c. 状态转换图可以用DFA表示  d.DFA可以用状态转换图表示

e.有向图是一个DFA

3.2.2.对无二义性文法来说,一棵语法树往往代表了____。

a.多种推导过程b.多种最左推导过程c.一种最左推导过程

d.仅一种推导过程e.一种最右推导过程

3.2.3.如果文法G存在一个句子,满足下列条件___之一时,则称该文法是二义文法。

a.该句子的最左推导与最右推导相同

b、该句子有两个不同的最左推导

c.该句子有两个不同的最右推导

d,该句子有两棵不同的语法树

e.该句子的语法树只有一个

3.2.4.语法分析时通过____操作使用符号栈。

(陕西省2000年自考题)

a.移进b.归约c.比较d.接受e.出错处理

3.2.5.算符优先文法与算符优先函数的关系描述中,下列___正确。

(陕西省1997年自考题)

a、一个算符优先文法可能不存在算符优先函数与之对应

b.一个算符优先文法可能存在多对算符优先函数与之对应

c.一个算符优先文法一定存在多对算符优先函数与之对应

d.一个算符优先文法一定存在算符优先函数与之对应

e.一个算符优先文法一定存在有限对算符优先函数与之对应

3.2.6.有一文法G:

S--AB(陕西省1998年自考题)

A--aAb|ε

B一cBd|ε

它不产生下面___集合。

a.{anbmcndm|n,m≥0}b.{anb"cmdm|n,m0}

c.{anbmcmdn|n,m≥0}d.{anbncmdm|n,m≥0}

e.{anbncndn|n≥0}

3.2.7.文法的无二义性是指_________。

a.文法中不存在句子有两个不同的最左推导

b.文法中不存在句子有两个不同的最右推导

c.文法中不存在句子有不同的推导

d.文法中不存在句子有两裸不同的语法树

e.文法中不存在句子有不同的最左和最右推导

3.2.8.文法G:

S→aAcB|Bd

A→AaB|c

B→bScA|b

则句型aAcbBdcc的短语是_______。

a.Bdb.cc.bBdccd.aAcbBdcce.cbBd

3.2.9.在自下而上的语法分析中,应从_________开始分析。

a.句型b.句子c.以单词为单位的程序

d.文法的开始符e.句柄

3.2.10.对正规文法描述的语言,以下______有能力描述它。

a.0型文法b.1型文法c.上下文无关文法

d.右线性文法e.左线性文法 

填空题:

3.3.1.规范归约中的可归约串是指______;算符优先分析中的可归约串是指_______。

3.3.2.文法中的终结符和非终结符的交集是______。

词法分析器交给语法分析器的文法符号一定是______,它一定只出现在产生式的______部。

3.3.3.在自上而下的语法分析中,应先消除文法的_______递归,再消除文法的_____递归。

3.3.4.规范归约是指在移进过程中,当发现栈顶呈现_____时,就用相应产生式的_____符号进行替换。

3.3.5.当文法非终结符的所有_____两两____时,该文法对应的句子分析不含回溯。

3.3.6.最左推导是指每次都对句型中的_____非终结符进行扩展。

(陕西省1998年自考题)

3.3.7.在语法分析中,最常见的两种方法一定是_____分析法,另一是______分析法。

(陕西省1998年自考题)

3.3.8.______语法分析的关键问题是精确定义可归约串的概念。

(陕西省2000年自考题)

3.3.9.Chomsky定义的4种形式语言文法为:

①______文法,又称______文法;②_____文法,又称_____文法;

③______文法,又称______文法;④______文法,又称______文法。

(中国科技大学1999年研究生试题)

3.3.10.LL(K)文法中,第一个L表示______,第二个L表示______,K表示_____,通常情况下K_____。

(西安电子科大2000年研究生试题)

3.3.11.采用________语法分析时,必须消除文法的左递归。

3.3.12._____树代表推导过程,_______树代表归约过程。

3.3.13.自下而上分析法采用_____、归约、错误处理、______等四种操作。

(陕西省1999年自考题)

3.3.14.设αβδ是文法G的一个句型,A是非终结符,则β是句型αβδ相对于A的短语,若_______;β是句型αβδ相对于A的直接短语,若______;β是句型αβδ的句柄,若_______。

(西安电子科大2000年研究生题)

3.3.15.Chomsky把文法分为_______种类型,编译器构造中采用______和______文法,它们分别产生_____和_____语言,并分别用______和______自动机识别所产生的语言。

(西安电子科大2000年研究生试题)

判断题:

3.4.1语法分析之所以采用上下文无关文法是因为它的描述能力最强。

        ( )

• 欲构造行之有效的自上而下分析器,则必须消除左递归。

    (  )

3.4.3文法(  有图片     )描述的语言是(a|bc)*()

3.4.4在自下而上的语法分析中,语法树与分析树一定相同。

()

3.4.5二义文法不是上下文无关文法。

(陕西省1999年自考题)()

3.4.6每一个算符优先文法,必定能找到一组优先函数与之对应。

(陕西省2000年自考题)()

3.4.7语法分析时必须先消除文法中的左递归。

         ( )

3.4.8规范归约和规范推导是互逆的两个过程。

         ( )

3.4.9一个文法所有句型的集合形成该文法所能接受的语言。

   ( )

3.4.10LL

(1)文法一定不含左递归和二义性。

         ( )

综合题

3.5.1简答题1.句柄2.素短语3.语法树4.归约5.推导

3.5.2给出上下文无关文法的定义。

3.5.3Chomsky将文法分成四类。

指明这四类文法与自动机的对应关系。

指出右线性文法、左线性文法、正规文法之间的主要区别。

3.5.4文法G是LL

(1)文法的充分必要条件是什么?

3.5.5文法G[S]:

S→aSPQ|abQ

QP→PQ

bP→bb

bQ→be

cQ→cc

(1)它是Chomsky哪一型文法?

(2)它生成的语言是什么?

3.5.6指出下述文法的所有类型,并给出所描述的语言。

(1)S→Be

(2)A→ε|aB(3)TS→abcA

B→eC|AfB→Ab|aS→Aabc

A→Ae|eA→ε

C→CfAa→Sa

D→fDAcA→cS

3.5.7按指定类型,给出语言的文法。

(1)L={aidji≥l}的上下文无关文法。

(2)字母表∑={a,b}上的同时只有奇数个a和奇数个b的所有串的集合的正规文法。

(3)由相同个数a和b组成句子的无二义文法。

3.5.8下面的二义文法描述命题演算公式,为它写一个等价的非二义文法。

S→SandS|SorS|notS|p|q|(S)

3.5.9有文法G:

S→aAcB|Bd

A→AaB|c

B→bScA|b

(1)试求句型aAaBcbbdcc和aAcbBdcc的句柄;

(2)写出句子acabcbbdcc的最左推导过程。

3.5.10 对文法G:

E→E+T|T

T→T*P|P

P→i

(1)构造该文法的优先关系表(不考虑语句括号#),并指出此文法是否为算符优先文法;

(2)构造文法G的优先函数

3.5.11在上一题中,如果将文法改为E→E+E|E*E|i,在不改动文法的情况下是否同样能构造出优先关系表?

此外,针对例3.14中的文法与本例中的文法,对算符优先分析快于规范归约进行说明。

3.5.12对于文法G[S]:

S→(L)|aS|a

L→L,S|S

(1)画出句型(s,(a))的语法树。

(2)写出上述句型的所有短语、直接短语、句柄和素短语。

3.5.13构造算符文法G[H]的算符优先关系(含#)。

G[H]:

H→H;M|M

M→d|aHb

3.5.14设有文法G[S]为:

S→a|b|(A)

A→SdA|S

• 完成下列算符优先关系表,见表3.6.并判断G[S]是否为算符优先文法。

(2)给出句型(SdSdS)的短语、简单短语、句柄、素短语和最左素短语。

(3)给出输入串(adb)#的分析过程。

3.5.15下面映射if语句的文法G[S]是算符优先文法吗?

若是,则构造其优先关系矩阵。

若不是,请按照多数程序设计语言(如Pascal)的习惯,给出一个相应的算符优先文法。

G[S]:

S→iBtS|iBtSeS|a

B→b

3.5.16文法G[

(1)文法。

G[

3.5.17已知文法G[A]为:

A→aAB1|a

B→Bb|d

(I)试给出与G[A]等价的LL(I)文法G'[A]。

(2)构造G'[A]的预测分析表。

(3)给出输入串aadl#分析过程。

3.5.18将G[V]改造为LL

(1)文法。

G[V]:

V→N|N[E]

E→V|V+E

N→i

3.5.19有文法G[S]:

S-BA

A--BS|d

B~aA|bS|c

(I)证明文法G是LL(I)文法。

(2)构造LL

(1)分析表。

(3)写出句子adccd的分析过程。

3.5.20考虑文法G[T]:

T→T*F|F

F→F↑P|P

P→(T)|i

(1)证明T*P↑(T*F)是该文法的一个句型,并指出其直接短语和句柄。

(2)构造文法G的优先关系表(要求写出步骤)。

3.5.21给出算符优先文法的分析算法。

3.5.22文法G的产生式集为:

S→S+S|S*S|i|(s),对于输入串i+i*i;

(1)给出一个推导;

(2)画出一棵语法树;

(3)文法G是否是二义性的,请证明你的结论。

3.5.23已给文法G[E]:

E→EOE|(E)|i

0→+|*

试将其改造为可进行不带回溯的自顶向下分析的文法,并给出其相应的LL

(1)分析表。

3.5.24考虑文法G(S):

S→(T)|a+S|a

T→T,S|S

消除文法的左递归及提取公共左因子,然后,对每个非终结符,写出不带回溯的递归子程序。

3.5.25有映射程序设计语言if-the-else语句的文法G[S]:

S→iEtSeS|EtS|a

E→b

其中,else遵从最近匹配原则。

(1)试改造文法,并为之构造LL

(1)分析表。

(2)利用构造的分析表分析句子ibtibtaea,要求给出分析过程中每一步的分析栈和输入串的变化以及输出信息。

3.5.26下述文法描述了C语言整数变量的声明语句:

D→TL

T→int|long|short

L→id|L,id

(1)改造上述文法,使其接受相同的输入序列,但文法是右递归的。

(2)分别用上述文法和改造文法,为输入序列inta,b,c构造分析树。

3.5.27设有文法G[W]:

W→AO

A→AO|W1|0

请改写文法,消除规则左递归和文法左递归。

3.5.28文法G[P]及相应翻译方案为:

P→bQb{print:

”1”}

Q→cR{print:

”2”}

Q→a{print:

”3”}

R→Qad(print:

”4”}

(1)该文法是不是算符优先文法,请构造算符优先关系表证实之。

(2)输入串为bcccaadadadb时,该翻译方案的输出是什么。

3.5.29设有文法G[S]:

S→SAS|b

A→bSb|b

试构造一个与其等价的算符文法。

3.5.30在算符优先分析法中,为什么要在找到最左素短语的尾时,才返回来确定其对应的头,能否按扫描顺序先找到头后找到对应的尾,为什么?

3.5.31试证明在算符文法中,任何句型都不包含两个相邻的非终结符。

3.5.32假定文法包含产生式A→α,α∈V*(V是文法的词汇表,由终结符和非终结符组成的集合),证明:

如果FIRST(α)∩FOLLOW(A)≠φ,则该文法不是LL

(1)文法。

3.5.33给出文法G1:

S→aSb|P

A→bPc|bQc

B→Qa|a

(1)它是Chomsky哪一型文法?

(2)它生成的语言是什么?

(3)它是不是算符优先文法?

请构造算符优先关系表证实之。

(4)请证实所有①左递归文法②有公共左因子的文法均不是LL

(1)文法。

(5)文法G1消除左递归、提取公共左因子后是不是LL

(1)文法?

请证实。

3.5.34简答题

(1)什么是文法的二义性?

二义性问题的不可判定指的是什么?

(2)在规范句型中,句柄以右的符号有什么特征?

为什么?

3.5.35写正规文法G,它产生的语言是L(G)={anibncp|m,n,p≥0}

3.5.36语言L是所有由偶数个0和偶数个1组成的句子的集合,给出定义L的正规文法。

3.5.37已知文法G[S]:

S→ABS|AB

AB→BA

A→0

B→1

该文法是几型的?

该文法所产生的语言是什么?

(用自然语言描述)写出与该文法等价的CFG文法。

3.5.8写一个上下文无关文法G,使得L(G)={anbmcmdn|n≥0,m≥1}。

3.5.39写一个文法G,使其语言为L(G)={anbm|n≥m≥1}。

3.5.40生成语言1={albmclanbn|1=O,m=1,n=2}的文法是什么?

它是Chomsky那一型文法?

3.5.41文法G[P]:

P→aPQR|abR

RQ→QR

bQ→bb

bR→be

cR→cc

它是Chomsky哪一型文法?

请证aaabbbccc是G[P]的一个句子。

3.5.42文法G[S]:

S→aSPQ|abQ

QP→PQ

bP→bb

bQ→be

cQ→cc

(1)它是Chomsky哪一型文法?

(2)它生成的语言是什么?

3.5.43给定文法G[S]:

S→(S)S|ε,给出句子(()())()()的规范推导,并指出每步推导所得句型的句柄,画出该句子的语法推导树,指出所有的短语和直接短语。

3.5.44设文法G[S]:

S→(A)|a

A→A+S|S

(1)构造各非终结符的FIRSTVT和LASTVT集合。

(2)构造优先关系表。

3.5.45已知文法G[S]:

S→dAB

A→aA|a

B→Bb|ε

(1)试问G[S]是否为正规文法,为什么?

(2)G[S]所产生的语言是什么?

(3)G[S]能否改写为等价的正规文法?

3.5.46选择题

有文法G[S]:

S→aA|a|bC,A→aS|bB,B→aC|bA|b,C→aB|bS,则_____为L(G)

中句子。

a.aloob5oabloob.alooob5ooaba

c.a500b60aab2ad.al00b4oab10aa

3.5.47对文法G[S‘]:

S‘→#S#

S→fstS

S→i=E

E→E+T|T

T→P↑T|P

P→(E)|i

(1)求各非终结符的FIRSTVT和LASTVT集合。

(2)构造该文法的优先关系表。

(请将终结符以=+、↑、(、i,f,t,)、#的顺序构造优先关系表)

3.5.48有文法R:

:

=i|(T),T:

:

=T,R|R,完成表3.21所示的算符优先关系表(填写第一、第二行)。

3.5.49文法G[M]是否LL

(1)的,说明理由。

G[M]:

M→TB

T→Ba|ε

B→Db|eT|ε

D→d|ε

3.5.50将文法G[E]改写为等价的LL(I)文法,并给出相应的预测分析表。

G[E]:

E→[T

T→F]|TE

F→i|Fi

3.5.51已知文法G[S]:

S→S*aP|aP|*aP

P→+aP|+a

(1)将文法G[S]改写为LL

(1)文法G‘[S]。

(2)写出文法G'[S]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1