左遞歸,是計算機科學裡面一種遞歸的特殊狀況。在上下文無關文法內的說法,若一個非終端符號(non-terminal)r有任何直接的文法規則或者透過多個文法規則,推導出的句型(sentential form)其中最左邊的符號又會出現r,則我們說這個非終端符號r是左遞歸的。使用類似的方式我們可以定義出某文法本身是左遞歸的。
基本介紹
- 中文名:左遞歸
- 外文名:Left recursion
- 分類:分析算法
左遞歸,是計算機科學裡面一種遞歸的特殊狀況。在上下文無關文法內的說法,若一個非終端符號(non-terminal)r有任何直接的文法規則或者透過多個文法規則,推導出的句型(sentential form)其中最左邊的符號又會出現r,則我們說這個非終端符號r是左遞歸的。使用類似的方式我們可以定義出某文法本身是左遞歸的。
左遞歸,是計算機科學裡面一種遞歸的特殊狀況。在上下文無關文法內的說法,若一個非終端符號(non-terminal)r有任何直接的文法規則或者透過多個文法規則,推導出的句型(sentential form)其中最左邊的符號...
左遞歸規則(left recursive rule)是2018年公布的計算機科學技術名詞。定義 一類文法規則。其右部第一個符號為該規則左部的非終極符,即形如 U→Ux的推導規則,其中U為非終極符,x 為符號串。出處 《計算機科學技術名詞 》第三版。
特別是當文法具有左遞歸時,就往往會導致這種情況的發生。例如,當文法中同時含有形如 U→…SiSj…及 Sj→Sj…的產生式時,在符號Si和Sj之間,便同時有Si=·Sj及Si<·Sj兩種關係。類似地,當文法具有右遞歸性時,關係=·及>·...
首先,是文法的左遞歸性問題。一個文法是含有左遞歸的,如果存在非終結符P 含有左遞歸的文法將使上述的自上而下的分析過程陷入無限循環。即當試圖用P去匹配輸入串時,我們會發現,在沒有識別任何輸入符號的情況下,又得重新要求P去...
4.3 左遞歸和回溯的消除 4.3.1 消除直接左遞歸 4.3.2 消除間接左遞歸 4.3.3 提取左公因子消除回溯 4.4 LL(1)分析法 4.4.1 FIRST集及其計算方法 4.4.2 FOLLOW集及其計算方法 4.4.3 LL(1)文法及LL(1)...
5.2 消除左遞歸方法 5.2.1 文法的左遞歸性 5.2.2 用擴展的bnf表示法消除左遞歸 5.2.3 直接改寫法 5.2.4 消除所有左遞歸的算法 5.3 LL(k)文法 5.3.1 LL(1)文法的判斷條件 5.3.2 集合first、follow和select的...
可觀察出這種文法沒有左遞歸。所有上下文無關文法都可以被轉換成等價的 Greibach 範式的文法。(某些定義不認可第二種形式的規則,在這種情況下能生成空串的上下文無關文法不能被如此轉換。)這可以被用來證明所有上下文無關語言可以被非...