0909走進編譯原理

2022-05-08 13:57:09 字數 1432 閱讀 5907

1.編譯原理學什麼?

編譯原理這一學科,主要學習的是編譯器方面的原理與技術,我們能從中學會各種演算法與**的原理,明白計算機是如何「聽懂人話」,我們的**是如何經過編譯器轉換成機器語言,這樣不僅能實現自己去編寫簡單的小編譯器,也能通過此學科去接觸已有各編譯器的思想,認識到程式設計方面更多要注意的問題以及解決的方向,站在本質的角度看**,從而更能成就計算機專業人員的計算機邏輯思維。

2.為什麼要學編譯原理?

說到編譯原理,人們喜歡把這門學科比作人體解剖和造輪子,是計算機中和**作鬥爭的一門學科。據本人理解,學編譯原理是為了讓計算機專業人員更清楚計算機的工作過程,追溯更底層的編譯原理,使人不再侷限於已有的死性**形式的約束,讓程式設計人員有更飽滿更獨立的程式設計思維。就像畫家學解剖那樣,我們學程式設計也許不是為了做編譯器,而是從學習編譯的原理去掌握更多計算機本質的東西,這樣有利於我們脫離對**的過度依賴,從而寫出更優質、更適合編譯器的**。按個人的理解是,沒學編譯原理,程式設計師只能是**的奴隸,學了編譯原理,**才是你的工具,你才能真正明白**和編譯器是怎麼一回事,從而更好地利用它們,玩轉它們。此外,編譯原理作為計算機中「追本溯源」的一門接地氣學科,掌握它還能提高自己對程式的檢查和分析能力,雖說我們不一定學了編譯原理都能做乙個強大而創新的編譯器,但通過學習編譯原理,我們能對程式設計有一種全新的認識,從完全的被動到思想上的主動,這就是所謂工人與工程師的區別吧。

3.怎麼學編譯原理?

編譯原理作為一門本質性與理論性較強的學科,可能一開始入門的時候會略感枯燥難懂,因而需要做好心理準備,明白這一學科的實際上實用意義與重要性,從而提高自己的興趣,然後就是需要有一定的耐心,弄懂各種學術性詞句的意義與作用,這樣有利於對知識的透徹掌握。當然,任何理論都離不開實踐,尤其是編譯原理,在學習的過程中我們更應該多動手,根據自己的想法去實踐,把課本上的知識轉換成屬於我們自己的工具。

4.思考:在沒有學習本書理論之前,如果讓你寫乙個編譯器,你是什麼思路?

我們都知道,機器語言其實只是0和1的組合,在不了解任何已有理論的情況下,我覺得編譯器是將我們編寫的**或命令轉化成不同的0、1組合,從而讓計算機實現工作。所以,如果我要做乙個編譯器,我首先要知道我所編譯計算機的工作需求,然後把這些需求分類,從大分類到小分類,就像樹狀圖那樣越分越細。分類好工作需求後,又去分類二進位制數字的組合,也是從大類到小類,最後把分類號的工作需求和二進位制組合有規律地對應起來,舉個例子說,假如安排到00開頭是表示讓計算機輸出,那麼001是輸出數字,002是輸出個字元,後面資料越長,目的就越清楚,直到二進位制數字長度足夠表達程式設計師的意思。就這樣,我們就能成功地把二進位制資料與工作需求建立起乙個線性的關係,而這時候再去科學地制定**,根據有規律的語法讓我們的**轉換成相應的二進位制資料,二進位制資料作為計算機語言控制計算機的高低電頻率,從而實現不同的工作執行。

設計過程:

需求分類-->制定有規律二進位制資料組合-->制定能編譯出相應二進位制資料的**語法。

執行原理:

有規律的**-->有規律的二進位制資料組合-->相應的高低電頻-->計算機實現工作。

0909編譯原理

1 編譯原理學什麼?內容包括語言及文法的基本知識 詞法分析 語法分析 語義分析及中間 生成 符號表組織 執行時的儲存組織與分配 優化及目標 生成等 2 為什麼學編譯原理?通過本課程的學習,既掌握編譯理論和方法方面的基本知識,而且也獲得設計 實現 分析和移植編譯程式方面的初步能力 3 怎麼學編譯原理?...

0909 編譯原理1

通過上網查詢資料後,我對編譯原理這門課程有了一定的了解。1 編譯原理旨在介紹編譯程式構造的一般原理和基本方法。內容包括語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。這門課程關注的是編譯器方面的產生原理和技術問題,在理論 技術 方法上都對學生提供了系統而有效的訓...

0909初學編譯原理

1.初次接觸編譯原理,我覺得編譯原理學的是將計算機中的高階語言翻譯成相對應的機械語言或組合語言的方法,是一門高深卻十分有用的課程。通過了解,我知道了其內容包括語言和文法 詞法分析 語法分析 語法制導翻譯 中間 生成 儲存管理 優化和目標 生成。2.我覺得學習編譯原理可以為我們的專業打下較好的基礎,使...