编译原理

文法G://E→E+T|TT→T*P|PP→(E)|i则句型P+T+i的句柄为()A、P+TB、PC、P+T+iD、i

题目

文法G://E→E+T|TT→T*P|PP→(E)|i则句型P+T+i的句柄为()

  • A、P+T
  • B、P
  • C、P+T+i
  • D、i
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有文法G[T]:T::=T*F|F,F::=F↑P|P,P::=(T)|a,下列符号串中是该文法句型T*P↑(T*F)的直接短语是哪个()。

A.(T*F)

B.T*F

C.P↑

D.P↑(T*F)


正确答案:B

第2题:

若有程序片段: int a[12]={0},* p[3],* *pp,i for (i=0;i<3;i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 ( )

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C

第3题:

●考查下列文法:G(V T,V N,E,P)

其中:V T={+,*,(,),i}

V N={E,T,F}

E是开始符号

P:

E→E+T|T

T→T*F|F

F→(E)|i

F*F+T是该文法的一个句型,其中, (61) 是句柄, (62) 是素短语。 (63) 是该句型的直接推导, (64) 是该句型的最左推导。 (65) 是该文法的一个句子。

(61) A.F

B.F*F

C.F+T

D.F*F+,T

(62) A.F

B.F*F

C.F+T

D.F*F+T

(63) A.F*F+i

B.F*F+T*F

C.F*F+F*F

D.i*i+T

(64) A.F*F+T*F

B.F*F+T

C.F*(E)+T

D.(E)*F+T

(65) A.T+(i+i)

B.i+(i+F)

C.i

D.(E)


正确答案:A,B,B,D,C
【解析】语法树①句柄为最左简单子树的末端结点组成的符号串,即为F;②素短语为子树的末端结点组成的符号串含终结符,且在该子树中不再有包含含有终结符的更小子树,即为F*F;③该句型的一个直接推导为F*F+T*F。即将T进行推导;④最左推导是将最左的"F"进行推导,即为(E)*F+T;⑤文法的句子是只包含终结符的句型。即为i。

第4题:

考查下列文法:

G(VT,VN,E,P)

其中:Vsub>T={+,*,(,),i);VN={E,T,F};E是开始符号;P为:

E→E+T|T

T→T*F|F

F→(E)|i

F*F+T是该文法的一个句型,其中(1)是句柄,(2)是素短语,(3)是该句型的直接推导,(4)是该句型的最左推导,(5)是该文法的一个句子。

A.F

B.F*F

C.F+T

D.F*F+T


正确答案:A

第5题:

G:E→ET+|T T→TF*|F F→FP@|P P→E|i 求助 FET+T*I@ 是否是右句型,句柄是什么?


答案:见解析
解析:该句型对应的语法树如下:该句型相对于 E 的短语有 FF^^* ;相对于 T 的短语有 FF^^*,F; 相对于 F 的短语有 F^;F^^; 简单短语有 F;F^; 句柄为 F.


第6题:

文法G[E]:E→T|E+T,T→F|T*F,F→a|(E),下列符号串中是该文法句型E+F*(E+T)的简单短语的是哪个()。

A、(E+T)

B、E+T

C、E+F

D、F*(E+T)


参考答案:B

第7题:

设有文法G[S]:S→SAT|T,T→TBR|R,R→PDR|P,P→fSg|e,考察该文法的句型SATBfSgDe,其中哪个是句柄()。

ASAT

BB

CfSg

De


正确答案:C

第8题:

若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

for(i=0;i<3;i)

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C
解析:考查指向数组的指针。本题综合考查一维数组和多维数组指针变量的表示方法。在C语言中,引用数组元素的方法有两种,即下标法和指针法。下标法如a[i]形式;指针法如*(a+i)或*(p+1)。其中,a是数组名,p是指向数组的指针变量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意语句中指针型数组的书写格式,不能写成"(*数组名)[长度]",因为这是定义指向含有"长度"个元素的一维数组的指针变量。例如有定义语句"int a,b,c,c,*p[3]={&a,&b,&c};",它定义了一个名为p的指针型数组,其3个元素p[0],p[1],p[2]分别指向f3个整型变量a,b,c。

第9题:

已知程序段inta[3][4],*p[3]={a[0],a[1],a[2]},**pp=p,i;for(i=0;i12;i++)a[i/4][i%4]i;则pp[1][2]的值是()。

A.6

B.5

C.4

D.3


正确答案A

第10题:

给定文法 G[E]:E→E+T∣TT→T*F∣FF→(E)∣i,则以下()全都不是规范句型的活前缀①T+ ②T*③ε ④T*F⑤E+E⑥E*⑦E+T*⑧i⑨(E+T)⑩(i)

A.②④⑥

B.⑤⑥⑩

C.①②③④

D.⑦⑧⑨


正确答案:A

更多相关问题