ch7.1-7.3lr-slr語法分析(張素琴)
上傳人: 畢業設計 IP屬地:江蘇 文檔編號: 20191125005120151 更新時間: 2023-07-21 格式:ppt 頁數:59 大?。?.44MB
認證信息
個人認證
***(實名認證)
***
收藏 版權申訴 舉報

第1頁 / 共59頁

第2頁 / 共59頁

第3頁 / 共59頁

第4頁 / 共59頁

第5頁 / 共59頁
資源描述:
分析概述()分析()分析()分析語法分析器的自動構造工具第章分析法分析概述分析器的邏輯結構及工作過程()分析技術是指從左至右掃描輸入符號串是指構造一個最右推導的逆過程,是指為了作出分析決定而向前看的輸入符號的個數。分析方法是當前最廣義的無回溯的“移進歸約”方法。()分析技術于年首先提出來的。根據棧中的符號串和向右順序查看輸入串中的()個符號,就能唯一確定分析器的動作是移進還是歸約,以及用哪個產生式進行歸約。優點:限制少,適用范圍廣;分析速度快;報錯準確。缺點:構造分析器的工作量很大,不大可能手工構造用軟件工具輸入上下文無關文法的,輸出分析器。一、分析器邏輯結構輸入、輸出、棧、驅動程序和分析表組成驅動程序動作轉移輸出棧狀態文法符號產生式表LR分析特征:規范的符號棧中的符號是規范句型的前綴分析決策依據―棧頂狀態和現行輸入符號識別規范句型特定前綴(就到句柄為止)的四種技術()()()()不同的語法分析器具有不同的分析表驅動程序都是一樣的()分析器()分析表()分析器()分析表()分析器()分析表()分析器()分析表分析表是分析法的核心,它包含兩部分:動作表()和狀態轉換表()動作表動作規定如下:移進和=[]進棧[]=歸約:=[]接受成功,規約到識別符號出錯二、分析器的工作過程主控程序根據輸入串、棧、產生式、分析表進行相應的移近、規約、接受或報錯操作。主控程序動作轉移輸出棧狀態文法符號產生式表()分析→→→→對于產生式→對應的句柄其狀態劃分為:句柄識別態一、分析的基本原理把每個句柄的識別過程劃分為若干個狀態每個狀態下,自左向右地識別了句柄的一部分符號?;钋熬Y定義:規范推導,的所有前綴稱為活前綴。即規范句型的前綴,但右端不超過該句型句柄末端。識別了句柄的一部分就相當于識別了當前規范句型的左起部分,這部分被識別的符號串稱之為規范句型的活前綴。對于文法[]→:→→→:是該文法的一個句子=:=:=:=::其活前綴是:ε::::→:→→→的定義:=(Σδ)其中:狀態集Σ—輸入字母表δ–Σ→的映射函數分析器使用有窮自動機識別各規范句型的活前綴()項目:()項目:用圓點“”表示識別一個產生式右部符號到達的位置,若有規則則有下面四個項目:→→→→移進項目待歸約項目歸約項目’開始項目項目→和→稱為后繼項目’接受項目拓廣文法定義:為了使文法的“接受”狀態易于識別,且唯一,常對文法進行拓廣改造。對于文法,我們構造一個’,引進一個不出現在中的非終結符’和一個產生式’→,’為’的開始符號’不出現在規則右部。對于文法[]→|→|→|文法’[’]’→→|→|→|拓廣文法’→’→→→→→→→→→→→→→對于上述文法’所有()項目如下:→→→→文法’[’]’→→|→|→|歸約項目:、、、、、接收項目:移進項目:、、、、、待約項目:、、、初始項目:每個項目作為的一個狀態。由于’僅在第一個產生式的左部出現,規定項目為初態,其余每個狀態都為活前綴的狀態圓點在最后的項目為句柄識別態,第一個產生式的句柄識別態為句子識別態,用標記。狀態之間的轉換關系確定方法如下:若第個項目為:第個項目為:和項目出自同一個產生式,圓點位置只落后一位,則從狀態到狀態連接一條標記為的有向弧。如果為非終結符,則還會有以為射出到該非終結符為左部的所有產生式圓點在最左部的狀態的弧,弧上標記為二識別活前綴項目集規范的構造’→’→→→→→→→→→→→→→→→→→由項目生成識別活前綴的:文法’[’]’→→|→|→|求出識別活前綴的方法:()由轉換為,第四章子集法;()直接求狀態集:設是文法的一個()項目集合()是從出發用下面三個規則構造的項目集:()中每一個項目都屬于()。()若項目→αβ()且→η則將→η加進()中。()重復執行()直到()不再增大為止。轉移函數:若是的一個()項目集()=()其中=→αβ|當→αβ時()稱為轉移函數。項目→αβ稱為→αβ的后繼項目。:→αβ:→αβ算法計算()和()(:):→αβ→η:=∪→η不再增大()→αβ是項目集的核心項目(:∈∪):::=→αβ:=∪→αβ(())是的后繼項目的閉包()項目集規范的構造():=(→)和∪把()加入到中不在增大=(,,,,)其中:項目集規范,∪=→=()它識別文法的所有活前綴。例題:文法()()()()()()()’→’→→→→→→→→→→→→→()項目如下:→→→→文法’[’]’→→|→|→|::::::()項目集規范:::::::’→→|→|→|()識別活前綴的三()分析表的構造假設一個識別文法活前綴的中的每個狀態不存在下述情況:、既含移進項目又含歸約項目、或者含有多個歸約項目則稱文法是()文法假設包含項目’→的狀態為分析器初態表和表構造如下:、若項目→∈且(,)=①=∈則置[]=意為把()移進棧②∈則置()=、若項目→∈對于所有∈則置[]=意為用第個產生式→進行歸約、若’→∈則置[]=、凡不能用以上規則填入的入口置“”()識別活前綴的:::::::⑶()分析表如下:文法’[’]’→→→→→→→四()分析過程主控程序根據輸入串、棧、產生式、分析表進行相應的移近、規約、接受或報錯操作。$主控程序動作轉移輸出棧狀態文法符號產生式表若[]=(:)=[];是規則號,規則右部長度則,)若[]=則分析結束。若[]=則轉出錯處理程序。若[]=則把推進棧三個棧的格局()⑶()分析表如下:文法’[’]()’→()→()→()→()→()→()→步驟狀態棧符號棧輸入串說明是文法[]的句子對輸入串的()分析過程表文法[]為:)構造識別活前綴的)構造它的()分析表)分別給出對輸入符號串和的()分析步驟。課堂練習[]拓廣為:()’()()()():’:’::::::::()分析表步驟狀態棧符號棧輸入符號串說明是文法[]的句子對輸入串的分析過程()’()()()()步驟狀態棧符號棧輸入串出錯說明不是文法[]的句子對輸入串的分析過程[]拓廣為:()’()()()()()分析有的文法,識別活前綴的狀態集中,含有沖突項目。例如:文法[’]’→→→→→→→→ε→ε文法的有效項目集::’→:’→:→→:→→:→:→→→ε:→:→:→:→:→:→:→:→→→→→→→ε→→ε→→ε識別文法活前綴的::→→→→ε:→→→→ε:→→→ε:→→→ε這就是移進—歸約沖突歸約歸約沖突→ε和→ε是一個項目倒底該歸約誰呢?規約→還是→ε此時構造的()分析表在(,)入口處也會有多項、、。文法的()分析表如下:文法[’]’→→→→→→→→ε→ε對于而言,若當前輸入符=,則應該執行;若()則應用→歸約;若()則應用→ε歸約。()=()=()=解決方法:向前搜索一個輸入符號:→→→→ε前提:、()和()兩兩不相交一般而言:假設文法的某個項目同時含有個移進項目→αβ→αβ→αβ個歸約項目:→γ→γ→γ若與()()()兩兩不相交,則項目集中的沖突可按如下原則解決:面對當前讀入符號為若則移進。若()則用→γ進行歸約。此外,報錯。這種解決方法是比較簡單的,因此稱作()分析,由此構造的分析表,稱作分析表。識別文法活前綴的:()=()=()=表和表構造如下:、若項目→∈且(,)=①=∈則置[]=意為把()移進棧②∈則置()=、若項目→∈對于∈()則[]=意為用第個產生式→進行歸約、若’→∈則置[]=、凡不能用以上規則填入的入口置“”文法的()分析表如下:()()()()()()()()()例構造如下文法的()分析表集如下:()()(()()(()()(()()()
展開
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
5. 本站僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 防盜門鎖殼成形模及整套模具設計【優秀含13張cad圖紙+冷沖壓模具全套畢業設計】
- ck6140數控臥式車床設計【6軸主軸箱】【5張cad圖紙+畢業論文】
- 全長3.1公里雙向四車道路基寬度26m(計算書70頁,答辯ppt22頁,cad圖30多張)
- 中型客車的總布置設計
- 銑邊機設計
- 【zs精品】牽引車掛車車架全套圖紙
- 6294平米五層框架中學教學樓(計算書、部分建筑、結構圖)
- 典型零件的數控加工與仿真及實體造型設計【數控類】【1張cad圖紙+說明書】
- 曲面印刷機plc控制系統設計【19張cad圖紙+畢業論文+開題報告+外文翻譯】
- 沖壓模具設計
- qtz40塔式起重機體的起升機構設計【12張cad圖紙-2a0+畢業論文】
- 地鐵隧道畢業設計外文翻譯--釋壓通風井影響下的活塞效應通風研究
- 遠艦汽車變速器設計【汽車類】【7張cad圖紙】【帶同步器】【優秀】
- 單片機數字時鐘資料
- 電力電子變流實驗的仿真設計與開發(論文+dwg圖紙+外文翻譯+文獻綜述+開題報告)
- 某3層教學樓全套設計(約4000平,含計算書,建筑圖,結構圖,施工組織設計,工程量計算書)
- 二級斜齒減速器課程設計191.9%1.3%300%109%103
- wj030-01-3nb-1300鉆井泥漿泵泵殼設計+ppt【原創設計】
- 【jp030】數控立鉆電氣部分設計
- 曲柄搖桿式飛剪機設計【4張圖紙】【優秀】
推薦文檔
- 2017年上海海事大學812語法與翻譯考研真題
- 《攝影技術》課程混合學習模式的研究.pdf
- 探究酵母菌的呼吸方式
- 書法鑒賞-劉琳-練習試題與答案
- 我國農業產業化經營及對策研究.pdf
- 寧夏川區回族婚俗變遷——以吳忠市利通區澇河橋村為例
- 2018年浙江協會杯"氣排球中年男子組比賽成績表
- 論我國涉訴信訪制度的完善.pdf
- 西尼羅河病毒的建模與研究.pdf
- 我國商業銀行的不良資產處置研究.pdf
- 腦磁共振局部解剖與功能圖譜
- 鋼混凝土組合梁—鋼管混凝土柱貫入式節點性能試驗研究.pdf
- 岡察洛夫研究在中國.pdf
- 基于ZF-SIC的大規模MIMO信號檢測方法的研究.pdf
- 多重實時定量PCR檢測馬鈴薯主要的真細菌病原菌.pdf
- 精神病學概論精神癥狀
- 35226.農村小學英語有效教學的問題與對策研究——以h小學為例
- 中西醫結合晚期產后出血
- 金屬絡合物激光三維物化改性技術研究.pdf
- 優秀民族團結一家親 同心共筑中國夢(詩的歌)
您可能關注
- 蘭州理工大學機電學院2019年碩士研究生入學考試大綱-機制工藝理論科目考試大綱
- 礦用提升機械設備
- 論文;信息技術與供應鏈動態特性
- urbanbicycle都市代步自行車設計畢業論文small
- 物流畢業論文--超市布局與規劃設計研究
- 外文翻譯---推進土壤科學朝著前沿的地球科學發展
- 橋梁橋墩橋臺結構設計之我見
- 畢業設計論文---模塊化多串口擴展技術研究
- 2016年安卓外文翻譯--android應用程序的安全性
- ecfa背景下大陸資本赴臺投資研究【開題報告+文獻綜述+畢業論文】
- 淺談環境三污染的造成及計策-畢業論文
- 中國醫師節演講稿3篇
- 機械式立體停車設備安裝工藝
- 氣液壓課程設計--液壓站集成回路及集成塊設計
- 外文翻譯---計算機輔助制造
- 既有隧道土建結構病害評價理論與方法-橋梁與隧道工程畢業論文
- 開題報告數碼印刷質量控制方法及其應用
- 畢業論文-開題報告-文獻綜述基于cpld的分頻器設計
- 墊片沖裁模設計【6張圖紙】
- 高職高專英語翻譯亟需解決的問題之一