請知道編譯原理的高人進來

2025-02-03 09:55:31 字數 1243 閱讀 8575

1樓:love就是想你

差點沒看出來!你學過c?

第一眼就看到 你那個變數ch是字元型,你要得是字串 ,難怪他罷工!

也不多看了,你寫的我第一眼就暈!

兄弟啊!奉勸下。

自己多看看基礎!

編譯原理就是乙個工具嘛

2樓:你第三部虛無

1.編譯原理實際上是傳統編譯器的工作原理。所以他可以說是一種工具所具備的原理。

它可以分為六個部分:詞法分析、語法分析、語義分析、中間**生成、**優化、目標**生成。整個過程其實就像把一篇英語文章翻譯成中文,起到翻譯出讓人能夠看懂的東西。

2.語法分析和詞法分析基本相似但又不盡相同,詞法分析輸入的是字元,也是平常所說的源**,而語法分析輸入的則是字元流,是字元下面進行的一系列流程,講這些所翻譯過來的,最後再進行編排得到可以令人們看得懂的語句。

編譯原理簡單嗎

3樓:重慶新華電腦學校

編譯原理主要是講了編譯器的實現。

那什麼是山譽編譯器呢?

編譯器就是將 源程式→編譯器 →目標機器**的程式。

本文將用一段最簡單的**進行說明。

第一步。 詞法分析。

當**從檔案中被讀入到器時,將會進行詞法分析。

示例中的**最終會轉換為(下面為偽**)

1 add 2 add 3

第二步。 語法分析。

這一步編譯器將會把詞法分析的結果轉換成ast(abstract syntax tree, 抽象語法樹)

所有的運算元將會作為子節點,所有的操作符將會作為父節點。(不棗唯孫知道的同學可以看一下樹的生成)

1 + 2 + 3 對應的樹。

3. 生成目標**。

對上面的樹進行後序遍歷,將會得到下面的偽**。

生成的彙編偽**為。

start:

mov value, 0//初始化結果為0add value, 1

add value, 2//(1 2 +)的彙編偽**。

add value, 3

ret value

end最終彙編**會被編譯成機器**凳鏈,在計算機上執行。

下面為一般情況下的編譯流程。

1. 詞法分析(生成**對應的token序列,使用正規表示式)2. 語法分析(生成ast)

3. 語義分析(對**的語法進行檢查)

4. **生成(生成可執行的**)

編譯原理 學的是什麼,什麼是編譯原理

編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程式構造的一般原理和基本方法。內容包括語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。編譯原理是計算機專業設定的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論 技術 方法上都對學生提供了系...

請精通C語言的高人進來

哦,剛才是你在問吧。舉個例子吧。while 塊continue 塊執行完 塊之後,遇到continue語句,就不管 塊了,從新回到while處,判斷while的條件是否成立,成立的話繼續向下執行 塊,以此迴圈,不知道這次你明白沒有。一般說來,continue是放在乙個if裡面的,不然 塊就沒意義了。...

手機問題請知道的進來看看

1全部 國內行貨 何謂國內行貨呢?國內行貨就是得到生產廠商的認可,由某個商家取得 權或者直接由該生產廠商的分支機構在某個指定的地區進行銷售的產品,由於行貨需要讓 商及其分支機構獲得合理甚至是暴利的利潤,而且必須繳納符合該地區 要求的關稅和稅款,因此行貨的 往往比較高,但是因為正式的當地 廠商,產品的...