2014-03-27 48 views
2

鑑於以下語法,爲什麼Z說是不可空爲空性在語法分析表

X -> Y | a 
Y -> c | epsilon 
Z -> X Y Z | d 
+0

如果只有一個非終端可以派生空字符串,則它是可以爲空的。通過對推導長度的歸納很容易證明,來自'Z'的所有派生都是非空的。 – rici

回答

3

因爲它不包含epsilon(空)。例如,Y可以爲空,因爲Y可以定義爲epsilon。由於X,因爲X被定義爲Ya。如果我們將Y設置爲epsilon,那麼X也是epsilon

有趣的是,如果ž被定義爲XY,則存在用於ž的可能性也可爲空的,因爲Xÿ可以同時設置爲epsilon(如以上)從而使žepsilon,但由於ž必須ž,最終必須在終端END END d(爲什麼?),Z不能爲空。