语法树,短语,直接短语,句柄
1.已知文法:
S->a|^|(T)
T->T,S|S
分析句型(T,(^,a)),求全部的短语、直接短语和句柄。
推导步骤为:
S=> ( T ) => ( T , S ) => ( T ,( T ) ) => ( T ,( T , S ) ) => ( T ,( T , a ) ) => ( T ,( S , a ) ) => ( T ,( ^ , a ) )
画出语法树为:
该语法树的 6 个短语为: ( T ,( ^ , a ) ) ; T ,( ^ , a ) ; ( ^ , a ) ; ^ , a ; ^ ; a .
直接短语 : ^ ; a .
句柄 : ^ .(最左边的只包含相邻父子节点的短语)
2.构造上下文无关文法,描述语言:
{anbn|n>=0}
{ambn|m>=n>=0}
if语句
{anbn|n>=0} : S -> aSb | ab | ε
{ambn|m>=n>=0} :
S -> AB
A -> aA | ε
B -> Bb | ε
if语句 :
stmt -> if expr then stmt | if expr then stmt else stmt | other
分析句子if E1 then if E2 then S1 else S2:
语法树一:
、
语法书二:
句子if E1 then if E2 then S1 else S2 为二义性句子。
答:
短语:if E1 then if E2 then S1 else S2 , if E2 then S1
直接短语:E1 ,E2 ,S1 ,S2
句柄:E1