题目
对于文法G[S]:SAB,AAa|bB,Ba|Sb求句型baSb的全部短语、直接短语和句柄?句型baSb的语法树如图五(2)所示。s-|||-A B-|||-b B s b-|||-a图五(2) 句型baSb的的语法树
对于文法G[S]:SAB,AAa|bB,Ba|Sb求句型baSb的全部短语、直接短语和句柄?句型baSb的语法树如图五(2)所示。

图五(2) 句型baSb的的语法树
题目解答
答案
解:
baSb为句型baSb的相对于S的短语,ba为句型baSb的相对于A的短语,Sb为句型baSb的相对于B的短语,且为直接短语,a为句型baSb的相对于B的短语,且为直接短语和句柄。
解析
考查要点:本题主要考查上下文无关文法中句型的短语、直接短语和句柄的判断,需要结合文法规则和句型结构进行分析。
解题核心思路:
- 短语:句型中由某个非终结符直接推导生成的子串,需根据文法规则逐层分解。
- 直接短语:不能再分解的短语,即生成它的产生式中没有非终结符进一步推导。
- 句柄:最左直接短语,即整个句型中最左侧的直接短语。
破题关键点:
- 通过语法树或推导过程,确定每个子串对应的生成规则。
- 区分不同层次的短语,明确直接短语的条件(是否包含未推导的非终结符)。
- 根据生成顺序和位置关系,确定最左直接短语。
步骤1:分析句型结构
句型为 baSb
,根据文法:
- S → AB:整个句型由
S
推导生成,因此baSb
是S
的短语。 - A → bB:
A
推导出bB
,进一步推导为ba
(若B → a
),因此ba
是A
的短语。 - B → Sb 或 B → a:
- 若
B → Sb
,则Sb
是B
的直接短语。 - 若
B → a
,则a
是B
的直接短语。
- 若
步骤2:确定直接短语
Sb
:由B → Sb
直接生成,无进一步推导。a
:由B → a
直接生成,无进一步推导。
步骤3:确定句柄
- 最左直接短语:句型中左侧的直接短语是
a
,因此a
是句柄。