本人對編譯原理的看法

2021-09-27 08:03:52 字數 1247 閱讀 4193

(1)什麼是編譯原理:

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

這門課程關注的是編譯器方面的產生原理和技術問題,似乎和計算機的基礎領域不沾邊,可是編譯原理卻一直作為大學本科的 必修課程,同時也成為了研究生入學考試的必考內容。編譯原理及技術從本質上來講就是乙個演算法問題而已,當然由於這個問題十分複雜,其解決演算法也相對複雜。 我們學的資料結構與演算法分析也是講演算法的,不過講的基礎演算法,換句話說講的是演算法導論,而編譯原理這門課程講的就是比較專注解決一種的演算法了。在20世紀 50年代,編譯器的編寫一直被認為是十分困難的事情,第一fortran的編譯器據說花了18年的時間才完成。在人們嘗試編寫編譯器的同時,誕生了許多跟 編譯相關的理論和技術,而這些理論和技術比乙個實際的編譯器本身價值更大。就猶如數學家們在解決著名的哥德**猜想一樣,雖然沒有最終解決問題,但是其間 誕生不少名著的相關數論。

(2)學習編譯原理有什麼好處:

學習編譯原理有什麼作用,我認為這門課程是一門真正與**作鬥爭的課程,對於乙個追求技術的人是不容錯過的課程,而且事實證明編譯原理可以說是乙個電腦科學的縮影。你學習編譯原理,更多的是去追尋程式語言的本質,如它在暫存器分配中將會使用到貪心演算法,死**消除中將會使用到圖論演算法,資料流分析中使用到的fixed-point algorithm,詞法分析與語法分析中使用到有限狀態機與遞迴狀態下降這樣的重要思想等等。不僅如此,學習編譯原理,你對你自己所寫的程式、程式語言有更深的本質的認識,這樣的認識也會讓你站的高度完全不同。

(3)不學編譯原理有什麼損失

不學習編譯原理,你永遠看不到乙個程式設計背後的本質,不能把程式語言這種東西看得怎麼透徹,同時也只能給那些寫編譯器的人當奴隸,寫程式只能按照他們設計的語言哲學來做,站的高度也只會低人一截。

(4)如何學習編譯原理:

編譯原理是本科計算機課程中最難的一門了,因為它實在是太抽象了,而且學過之後很容易忘記,但是它又是非常重要的一門課程,起到了承上啟下的作用。

學習編譯原理,不要死看課本,課本都是翻譯國外的,讀起來有點吃力。結合習題是比較好的,可以理解一些概念。

另外,可以用lex和yacc實現乙個詞法分析器和語法分析器,如果這兩個實驗跑通了,對你學習編譯原理的學習非常有幫助。

對編譯原理的看法

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

編譯原理的看法

編譯原理是什麼 對程式語言的翻譯,即對高階程式語言翻譯為低階語言 計算機所理解的語言 從源語言提取需要的資訊 把源語言翻譯成目標語言 自動生成滿足一定規範的文字。學習編譯原理有什麼好處?學了不一定知道怎麼用,但是不學就肯定沒用。享受上帝的感覺 1 可以更加容易的理解在乙個語言種哪些寫法是等價的,哪些...

對編譯原理的理解

編譯原理就是什麼?在我看來,編譯原理就是將高階語言翻譯成計算機語言 即計算機所能識別的二進位制 所遵循的規律,並且讓你理解機器是如何理解高階語言的。學習編譯原理有什麼好處?當你真正完成編譯原理的學習後,你對你所寫的程式 程式語言都會有更深的本質認識,這樣的認識也會讓你站的高度完全不同,並且知道編譯的...