请问短语直接短语、素短语的概念,多谢!
假设某程序语言的文法如下:
S->a|b|(T)
T->TdS|S
其中:Vt={a,b,d,(,)};TN={S,T};S是开始符号。
考察该文法,句型(Sd(T)db)是S的一个(A)。其中(B)是句柄;(C)是最左素短语;(D)是该句型的直接短语,(E)是短语。
A:1.最左推导 2。最右推导 3。规范推导 4。推导
B:1。S 2。b 3。(T) 4。Sd(T)
C: 1.S 2.b 3.(T) 4.Sd(T)
D: 1.S 2.S,(T),b 3.S,(T)TdS,b 4.(Sd(T)db)
E: 1.(Sd(T)db) 2.d(T) 3.Td 4.Sd(T)d
答案:
A:4 B:1 C:3 D:2 E:1
分析:这里先构造句型(Sd(T)db)的分析树:
S
/|\
( T )
/|\
T d S
/|\ \
T d S b
| /|\
S ( T )
请问各位大侠
1。这里的S,(T),b都是该句型的直接短语,担d是不是该句型的直接短语?
2。为什么(T),b是素短语,而S不是?
3。素短语是不是一定是直接短语?
4。直接短语与短语有什么不同的地方吗?
问题点数:20、回复次数:7Top
1 楼sjyljh(小李)回复于 2004-05-03 11:26:26 得分 0
怎么没人回答呀!我总是搞清楚直接短语,素短语,短语的关系想大家能帮我分析一下。在线等。。。。。。多谢!Top
2 楼nobush()回复于 2004-05-03 12:34:42 得分 8
A:
句型(Sd(T)db)
短语是相对于句型而言的,不要撇开句型讨论。
因T-> S
故S=>(Td(T)db)=>(Sd(T)db)
是S相对于非终结符T的短语。且是直接短语
同理:(T),b都是该句型的直接短语
而T->TdS(并非T->d 或T=》d)d不是该句型的短语
S不含终结符,不是素短语!
Top
3 楼sjyljh(小李)回复于 2004-05-03 13:58:22 得分 0
也就是说(T),b因含有终结符号(,),b,而成为素短语的,理解正确吗?Top
4 楼xiajuner(蓝天n白云)回复于 2004-05-03 16:52:30 得分 12
==================================
1。这里的S,(T),b都是该句型的直接短语,担d是不是该句型的直接短语?
2。为什么(T),b是素短语,而S不是?
3。素短语是不是一定是直接短语?
4。直接短语与短语有什么不同的地方吗?
===================================
--->
1.d不是该句型的直接短语
///句型(Sd(T)db)中的两个非终结符 S、T无法直接推导得到d
2.S不是素短语
///素短语至少含一个终结符
3.素短语不一定是直接短语
///素短语必须是短语,但不一定是直接短语
4.有
///直接短语是短语,它由给定句型中的所有非终结符直接推导(一步推导)所得
我也正准备5月的考试,共同努力~Top
5 楼xiajuner(蓝天n白云)回复于 2004-05-03 17:05:58 得分 0
我总结了下历年的编译题型,大致有:
1.上下文无关文法(短语、句柄等);高程教材P98-100有,感觉比我们这学期用的编译课本要讲得透彻,看懂概念分析下真题就可以kill掉
2.NFA->DFA的转化,这部分我没看高程教材,我们上课讲的比较透;会画状态转换图就可以解题了
3.文法分类和正规表达式 文法分类高程教材讲得很清楚,正规式理解得还不透
4.其它,比如一些概念(自顶向下、自底向上等),算符优先等
历年语法分析好象都没考过,但考试前我还是打算看下那些First、Follow集合和语法分析方法,以防万一了,因为觉得现在上午题越来越偏~~Top
6 楼sjyljh(小李)回复于 2004-05-03 18:27:49 得分 0
多谢蓝天n白云兄,我觉得自己还差得很远,向你学习,请多多指教!!!!!Top
7 楼xta(小茹)回复于 2004-05-04 00:38:53 得分 0
我也来学习
觉得书上讲的都可以明白
可是为什么一到实际的题时就不会做呢?
老是要翻书才会的Top




