计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt
計算機科學與技術-編譯原理-第二章重點.ppt
* 自下而上分析法舉例 例2解: a b b c d e (1) a b b c d e A A (2) a b b c d e A A (3) a b b c d e A A (4) B a b b c d e A A (5) B A S (1)S→ aAcBe (2) A→ b (3)A→ Ab (4) B→ d * 自下而上分析法存在的問題 文法和語言 可歸約串的問題;(∵ 該分析的每一步就是從當前串中找一個子串(稱“可歸約串”),將它歸約到某個非終結符號) 自下而上分析法的關鍵就是找哪個子串是“可歸約串”,哪個不是“可歸約串”。例如上例中的(3) a b b c d e A A (3) —用產生式(2)而非(3),則不能歸約到S 因此必須精確定義“可歸約串”,事實上存在著種種不同的方法刻畫“可歸約串”,對這個概念的不同定義,形成了不同的自下而上的分析法。在“規范歸約”的分析中,用“句柄”來刻畫“可歸約串”。 * 短語、直接短語、句柄 文法和語言 1、短語: 令文法G,開始符號為S,αβδ是G的句型, 即S αβδ),如果S αAδ且A β,則稱β是句型αβδ相對于非終結符A的短語。 2、直接短語 如短語中有A=>β,則稱β是句型相對于規則A→ β的直接短語。 3、句柄 一個句型的最左直接短語稱為該句型的句柄。 * 解題方法 文法和語言 例:文法G[E]: E→ T | E+T T→ F | T*F F→ (E) | i 證明i+i*i是G的一個句型,并指出這個句型的所有短語、直接短語、句柄。 證明:E E+T E+T*F E+T*i E+F*i E+i*i T+i*i F+i*i i+i*i * 接上例 文法和語言 語法樹: E E + T T T * F F F i3 i1 i2 第1層 i1+i2*i3 —相對于E 第2層 i1 —相對于E ; i2*i3 —相對于T 第3層 i1 ,i2 —相對于T; i3 —相對于F 第4層 i1 ,i2 —相對于F(F→ i直接短語) 第5層 ∴ i+i*i是G的一個句型,其中i1 , i2 , i3, i2*i3 , i1+i2*i3 都是句型i1+i2*i3 的短語,且i1 , i2 , i3 為直接短語, i1為句柄 * 分析說明 文法和語言 (2)作為“短語”的兩個條件是不可缺少的,僅僅有A β,未必意味著β就是句型αβδ的一個短語,因為還需要有S αβδ這個條件。 例如:上例中有E i1+i2,但i1+i2并不是該句型的一個短語,因為不存在從E(開始符號)到E* i3的推導。 (1)短語、直接短語、句柄是針對某一句型(S α )而言的; * 解題方法 ⒈先證明前提 ⒉給出語法樹(注意文法是否是二義性的) 如題文法G[E]: E→ E+E|E*E|(E) | i 證明i+i*i是G的一個句型,并指出這個句型的所有短語、直接短語、句柄。 ⒊根據每顆語法樹得出短語、直接短語、句柄 (注意編號) * 練習1題目 文法G[T]: T→ F | T*F F →F ↑ P | P P→ (T) | i 證明T*P ↑(T*F)是文法G的一個句型,并指出這個句型的所有短語、直接短語、句柄。 * 練習1解答 證明:T T*F T*F↑P T*F↑(T) T*F↑(T*F) T*P↑(T*F) 語法樹: T T * F F ↑ P P T ( ) T * F 第1層 T*P↑(T*F) —相對于T 第2層 P↑(T*F) —相對于F; 第3層 P —相對于F; (T*F) —相對于P 第4層 T*F —相對于T 第5層 ∴ T*P↑(T*F)是G的一個句型,其中T*F , P , (T*F), P↑(T*F), T*P↑(T*F) 都是該句型的短語,且T*F , P 為直接短語, P為句柄 T→ F | T
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html初始模板,CSS初始化模板(HT
- 下一篇: 股票做多做空什么意思