<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 概念簡述 回溯:分析工作部分地或全部地退回到之前的一個階段,在當前階段采取與之前不同的決策重新推進工作 FIRST(α):令G是一個不含左遞歸的文法,對G的所有非終結符的每個候選α定義它的終結首符集FIRST(α)為: - FIRST(α)={a | α=>*a…, a∈VT} - 若α=>*ε,則規定ε∈FIRST(α) - FIRST(α)是α的所有可能推導的開頭終結符或可能的ε ## 消除回溯 - 回溯的問題 回溯帶來的問題就是低效率 - 回溯的條件 文法中,對于某個非終結符的規則其右部有多個選擇,并根據所面臨的輸入字符不能準確的判斷所要的選擇,那么就需要搜索,就會導致回溯。 - 避免回溯的要求 FIRST(αi)∩FIRST(αj)=? 令G是一個***不含左遞歸***的文法,對G的所有非終結符的每個候選α定義它的終結首符集FIRST(α)為: - FIRST(α)={a | α=>*a…, a∈VT} 若α=>*ε,則規定ε∈FIRST(α) FIRST(α)是α的所有可能推導的開頭終結符或可能的ε - 如果非終結符A的所有候選首符集兩兩不相交,即A的任何兩個不同候選αi和αj FIRST(αi) ∩FIRST(αj)=Φ - 那么當要求A匹配輸入串時,A就能根據它所面臨的第一個輸入符號a,準確的指派某一個候選前去執行任務。這個候選就是那個終結首符集含a的α。 - 提取左因子法消除回溯 - 假定A的規則是: A→δβ1 |δβ2 | … |δβn |γ1 |γ2 | … |γm(其中,每個γ不以δ開頭) 那么這些規則可以改寫為: A→δA’ |γ1 |γ2 | … |γm A’→β1 |β2 | … |βn - 經過反復提取左因子,就能夠把每個非終結符(包括新引進者)的所有候選首符集便成為兩兩不相交。我們為此要***付出的代價是大量引進新的非終結符和ε產生式***。 - 實現過于簡單,故不再實現代碼
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看