當前位置:首頁 » 編程軟體 » 編譯原理預測分析

編譯原理預測分析

發布時間: 2025-01-30 17:34:04

① 大學最難學的課程

一 課程

1.數學.

相信很多大學生們在大學裡面覺得《高等數學》、《微積分》很難,也很擔心這些課程會掛科,也有不少大學生是在這大學數學這門課掛科的,可以想像一下這課程的難度了。

2.大學物理.

理科、工科大學生在大學裡面必須要學大學物理的。雖說大學物理課程上的內容一般在初中、高中時期都學過了,但是經過一整個高考後暑假的荒廢,以及大一一整年沒學物理課程了,很多大學生們感覺大學物理很難。我那時候就是覺得大學物理難的,雖說課堂上也聽課,但是感覺自己已經沒有了高中時期的那股拼搏勁兒了,所以這門課學的很糟糕。

3.c語言.

大學編程課程對於大部分大學生來說是初學的,就像那些當初從初一才開始學英語就覺得英語很難一樣,不少大學生對於編程裡面的思維也是一頭霧水的。

4.醫學.

有句話叫「勸人學醫,天打雷劈」,可見這門課程學起來的困難程度了。記得以前有見過一個學醫的同學的書籍,一本厚厚的500多頁的書是他們將要考試時候的書籍,還有更多的幾十本書是他們的課本。

5.建築學.

學建築學的話需要畫圖、考證書,想想就難。

6.電力學.

電力學有大量的理論知識,還要畫圖,有個同學上的某電力大學,最後因為掛科太多而導致延期一年畢業。

二 社交

不少大學生們在上大學之前都是書獃子一樣的人,整日就把心思放在學習上,想著如何把不懂得內容搞懂以及如何把成績提高上去。到了大學的時候,真正的大學生在大學期間不僅要把專業課學好,而且要提高自己的社交能力。我就是那種大學以前只關注學習的人,到了大學的時候就覺得提高社交很重要,但是也感覺這個是比較難的。

三 戀愛

不少大學生在大學之前只關注學習,即使是有喜歡的人或者有人喜歡自己的話,也會盡量的壓制自己的感情,而是把心思放在學習上,這樣往往會錯過一段最重要的談戀愛的時機。到了大學期間比較重要的事情就是談戀愛,因為談戀愛可以培養照顧人得能力。

② 有關編譯原理的幾個問題

最左推到就是從最左邊的非終結符開始替換,一個一個替換,直到替換為題目要求的。預測分析表什麼的太煩了,不高興寫。你按著書上例題步驟一步一步寫就可以了。給你寫個第五題。

③ 編譯原理試題

你發那麼多條求助信息,也不給點分,大家怎麼幫你啊,我來回答吧!記得給我追加分啊。
1.若源程序是用高級語言編寫的,目標程序是 機器語言程序或匯編程序 ,則其翻譯程序稱為編譯程序.
2.一個典型的編譯程序中,不僅包括詞法分析、語法分析、中間代碼生成、代碼優化、目標代碼生成等五個部分,還應包括表格處理和出錯處理。其中,詞法分析器用於識別 單詞 。
3.編譯方式與解釋方式的根本區別為是否生成目標代碼。
4.設G是一個給定的文法,S是文法的開始符號,如果S x(其中x∈V*),則稱x是文法的一個句型 。
設G是一個給定的文法,S是文法的開始符號,如果S x(其中x∈VT*),則稱x是文法的一個句子。
繼續做題中.......

④ 編譯原理語法分析中消除左遞歸的問題。比如A→Ab|c中為什麼說它是左遞歸呢,明明是A定義為Ab或者

A->Ab|c為什麼是左遞歸,和為什麼要消除左遞歸:

定義,就無需爭辯了。至於為什麼自頂向下文法不能處理左遞歸,解釋如下:

c∈FIRST(A),所以當預測分析的棧頂出現非終結符A,而輸入字元串最左邊為c時,就不知道用產生式A->Ab還是A->c了。無法構造預測分析表。比如輸入字元串為cbb,我們人當然容易知道是A->Ab->Abb->cbb了,但是電腦沒那麼聰明,如果不消除左遞歸,只有回溯了。

⑤ 關於LL(1)文法的編譯原理題目

判斷是不是LL(1),首先看候選式的首字元有沒有相同的,第二判斷首字元迭代進去是否會構成左遞歸。
如果首字元不相同,也沒用左遞歸就說明此文法是LL(1)
M→MaH|H
H→(M)|b(M)|b
第一個產生式中存在左遞歸:M->MaH
第二個產生式中存在首字元相同:H->b(M) ,
H->b
怎麼改呢?
對第一個產生式,消除左遞歸就是要變成右遞歸,把右邊剩下的符號提到前面:
M->aHM'

M'->aHM'
對第二個產生式,提出公共因子
H->b( (M)|ε)
=>
H->bH'

H'->(M)|ε

⑥ 如何消除左遞歸

首先,什麼叫做左遞歸呢? 一個左遞歸的語法通常有這樣的形式 : A-> Aa .而自頂向下的語法分析是無法處理左遞歸語法的。為什麼呢?無論是遞歸分析還是預測分析或者是LL文法分析,在碰到左遞歸這種語法時都會陷入死循環當中。如果我們用遞歸分析,那麼在分析A這個非終結符號的時候就會調用functionA,functionA將A分解成A,a,然後在我們再次碰到A的時候又會調用functionA,這樣便形成了無限遞歸。如果我們用非遞歸的LL文法分析,那麼在我們將把A->Aa無限次地壓入到棧中,即每次彈出A都會壓入Aa。所以我們必須採取手段消除左遞歸,下面給出標准方法。
其中β1…βn 不是從A開始
其實原理在於通過轉換將A的語法不從非終結符號(A本身)開始,而是從終結符號β1…βn 開始。雖然A的原語法是從A本身開始的,但是第一個符號一定是β1…βn中的一個,而不可能是任何一個α。所以我們通過一個中間變數A』來表示剩下的α,然而不要忘記由於A』 ->αA』 這條規則,A』 -> ε 必須也存在於語法規則中,否則末尾將無法匹配完成。
但是,上述方法只適用於立即左遞歸,還有一種更隱蔽的非立即左遞歸,如 S -> Aa | b , A -> Sc | d ,我們如果用自頂向下的分析方法會陷入 S -> Aa -> Sca 這樣的死循環中。當然,也有相應的解決辦法。
將所有非終端符號以某個固定的順序A_1, \ldots A_n排列
從 i = 1 到 n {
從 j = 1 到 i – 1 {
設A_j的生成規則為
A_j \rightarrow \delta_1 | \ldots | \delta_k
將所有規則 A_i \rightarrow A_j \gamma換成
A_i \rightarrow \delta_1\gamma | \ldots | \delta_k\gamma
移除A_i規則中的直接左遞歸
}
}
也許看上面的規則過於抽象,我們用S -> Aa | b , A -> Sc | d 來實踐一下上述的方法。我們以S,A的順序排列。則只需執行一次主程序體,且Ai 為A,Aj為S。則:
A -> Aac | bc | d, 然後再運用前面的規則消除直接左遞歸可得:A -> bcA』 | dA』 , A』 -> acA』 | ε
請注意,以上的解決方案是基於右遞歸的文法,並不是完全適用於所有的情況。我們得到的文法可能含有 ε表達式,並且可能會改變語法的結合律。解決方案就是保留左遞歸的語法,不用自頂向下的方式分析。

⑦ 編譯原理如何判斷id+id*id沒有語法錯誤

構造LL(1)語法分析程序,任意輸入一個文法符號串,並判斷它是否為文法的一個句子.程序要求為該文法構造預測分析表,並按照預測分析演算法對輸入串進行語法分析,判別程序是否符合已知的語法規則,如果不符合(編譯出錯),則輸出錯誤信息.
以你說的SQL語句為例,詞法分析是將語句中的單詞流識別出來,比如create table Student 詞法分析是分析出 這句的單詞流是 「create」 「table」 「identifier」(前提是你給它們編號 比如用宏或者枚舉),然後語法分析 是通過單詞流 判斷 非邏輯錯誤 比如 有不能識別的符號 create table後面不是標示符等等 語義分析是分析語句的邏輯關系 比如欄位長度越界什麼的如 vchar(2) 你賦值為「啊啊啊啊啊啊」這種錯誤的識別是語義分析階段完成的 希望能幫到你

⑧ 關於LL(1)文法

(1)first(E)={(,i},first(D)={+,-,ε},first(T)={(,i},first(S)={*,/,ε}
first(F)={(,i}
follow(E)={#,)},follow(D)={#,)},follow(T)={+,-,#,)} follow(S)={+,-,#,)} follow(F)={*,/,+,-,#,)}
(2)select(E->TD)=FIRST(TD)={(,i}
SELECT(E->+TD)={+}
SELECT(E->-TD)={-}
SELECT(E->ε)={#,)}
SELECT(T->FS)={(,i}
SELECT(S->*FS)={*}
SELECT(S->/FS)={/}
SELECT(S->ε)={+,-,#,)}
SELECT(F->(E))={(}
SELECT(F->i)={i}
預測分析表:
+ - * / ( ) i #
E ->+TD ->-TD ->TD ->ε ->TD ->ε
D
T ->FS ->FS
S ->ε ->ε ->*FS ->/FS ->(E) ->ε ->ε
F ->i

(3)i/i-i的分析過程:
步驟 輸入串 剩餘串 移進或規約
1 # i/i-i#
2 #i /i-i# E->TD
3 #DT ......
...
剩餘的只要按照書上的步驟填就行了。

熱點內容
java序列化工具 發布:2025-01-31 03:25:27 瀏覽:234
psv資料庫 發布:2025-01-31 03:19:36 瀏覽:860
sparkwindows下編譯 發布:2025-01-31 03:17:57 瀏覽:962
pid演算法缺點 發布:2025-01-31 03:16:14 瀏覽:551
三菱人機界面編程實例 發布:2025-01-31 03:13:04 瀏覽:237
des加密畢業論文 發布:2025-01-31 02:57:01 瀏覽:711
ip跨網段訪問 發布:2025-01-31 02:44:42 瀏覽:709
演算法帶頭人 發布:2025-01-31 02:42:25 瀏覽:552
方舟上傳數據 發布:2025-01-31 02:42:25 瀏覽:836
鈴木uy比uu多了什麼配置 發布:2025-01-31 02:34:11 瀏覽:677