最左推導

"最左推導"(Leftmost derivation)是形式語言理論中的一個概念,用於描述如何通過應用一組規則(如上下文自由文法中的規則)將一個單詞(或句子)轉換成另一個單詞(或句子)。在這種推導中,我們始終選擇最左邊的非終端符號進行轉換。

例如,考慮一個簡單的上下文自由文法,其規則為:

S -> aS | b

這意味著句子可以從S開始,S可以轉換為aS(也就是在S的左邊加上一個'a'),或者轉換為'b'。

最左推導從單詞或句子開始,並逐步應用規則將其轉換為另一個單詞或句子,直到達到目標單詞或句子為止。在每個步驟中,我們始終選擇最左邊的非終端符號進行轉換。

例如,從單詞"S"開始,我們可以進行以下最左推導來達到單詞"b":

  1. S -> aS
  2. aS -> ab
  3. ab -> b

在第一步,我們應用規則S -> aS,因為S是我們最左邊的非終端符號。這給我們帶來了"aS"。

在第二步,我們再次應用規則S -> aS,因為現在的S是最左邊的非終端符號,這給我們帶來了"ab"。

在第三步,我們應用規則aS -> ab,因為現在的aS是最左邊的非終端符號,這給我們帶來了"b"。

這樣,我們就完成了一次從單詞"S"到單詞"b"的最左推導。