編譯原理的學習心得體會

編譯原理的學習心得體會

  篇一:編譯原理 學習心得

  國際學院 0802 楊良燕 200819100227

  《編譯原理》課程學習心得

  《編譯原理》是計算機專業的一門重要課程,正如教材

  第一章的引論所述,“編譯程式是現代計算機系統的基本組成部分之一”。“一個編譯程式就是一個語言翻譯程式,語言翻譯程式把一種語言(源語言)書寫的程式翻譯成另一種語言(目標語言)的等價程式”。

  透過這一學期的學習,我覺得編譯原理是一門理論性很強的課程,從文法和語言的概念到LL(1)文法和LR(0)文法的分析,幾乎都是對具體問題的抽象。因而,我們需要更多的時間來理解、掌握相關的知識,當然在這一過程中也存在很多問題,比如我們後期學習具體文法的分析方法時,對於文法的概念不夠清晰,影響了上課的效率,知道老師再次給我們講解了文法等基礎的知識點,我們才慢慢掌握後面所學的LL(1)文法等,也發現了知識點之間的關聯。此外,這門課程的課時被安排得很少,一週只有一次,這樣很不利於我們對這門重要課程的理解和掌握。但是我覺得我們很幸運,因為老師在有限的課程中儘量將知識點以比較容易接受的方式給我們講解,教我們用簡單的方法理解記憶不同的知識,對於我們提出的問題,無論課上或是課外,老師一直是不厭其煩,甚至利用課餘時間為我們講解重要的難題。

  編譯原理這門課程不僅僅在於其本身的理論價值,更在於為我們解決問題提供的思維方式和方法。從LL(1)到LR(0),問題不斷被解決的同時,又有一個個新的問題提了出來。對計算機語言世界的知識積累,像滾雪球一樣越滾越大。這個逐漸遞進,逐漸解決問題的過程對我來說是收穫很大的。整個過程好像踏著前人研究編譯理論的路線,不斷感覺他們遇到的問題,更重要的是他們解決問題的思路。編譯原理的課程帶給我的不只是如何去編譯程式這樣的理論知識,相信更重要的是一種如何“自動計算”的思路。透過對相關編譯問題的具體分析,讓我體會最深的是一種“自動計算”的思想,同時完成編譯試驗後,更是感到了一種“自動計算”的快樂。”然而我明白自己雖然對編譯有了一定的瞭解,我懂得了文法的分析,學會了構造確定和非確定有限自動機,學會了LL(1)文法和LR(0)文法等,但是並沒有完全掌握,對於這些知識點的實質性和其他方面,更是認識不深。作為一名學習計算機科學與技術的學生,我明白編譯原理是軟體工程的基礎,課程的結束並不意味著學習的結束,只有透過以後的學習,才能更深入地瞭解編譯原理。

  篇二:編譯原理課程設計學習心得體會

  一週的課程設計很快過去,總體感覺得做得很不爽。因為考試的原因,所有想盡快把這個課程設計做完,所以就直接改了老師的程式,以為這樣會快一些,事實證明,確實如此,但是做起來很不順手,程式設計師更討厭的是看別人的程式。不知道變數的含義,函式的作用。還有就是對vc 不是很熟,不僅開發環境不熟,就連c (其實應該說是c)的一些常用函式都忘得一干淨,就好比字元轉化為整型(atoi)和整型轉化為字元型(itoa)這兩個函式,根本不認識,還是在google上搜索到的資料。c 確實有很多不完美的地方,我最煩的'就是指標,指來指去的很讓人頭疼。還有就有字串的轉換等一些操作,沒有java來得方便。如果自己獨立編寫程式碼的話,我會首先考慮用java,其次考慮用c#,最後才用c 。至於用什麼asp,jsp來做,我也可以做,這些動態網頁語 言都接觸過,只可惜自己技不如人,不能在兩天的時間內,把程式編出來,只能用最快的方法,用現成的改。因考慮到編譯是一門考研科目,所以自己打算在考試結束以後再完完整整地做一個。總的來說,課程設計加深了自己對編譯這門課的理解,發現自己還有很多的地方要複習,甚至還有知識點的理解偏差。一定在考試把所有的漏動填平。

  篇三:編譯原理課程設計心得體會

  編譯原理課程設計心得體會

  經過一個星期的編譯原理課程設計,本人在劉貞老師的指導下,順利完成該課程設計。透過該課程設計,收穫頗多。

       一、對實驗原理有更深的理解 透過該課程設計,掌握了什麼是編譯程式,編譯程式工作的基本過程及其各階段的基本任務,熟悉了編譯程式總流程框圖,瞭解了編譯程式的生成過程、構造工具及其相關的技術對課本上的知識有了更深的理解,課本上的知識師機械的,表面的。透過把該演算法的內容,演算法的執行順序在計算機上實現,把原來以為很深奧的書本知識變的更為簡單,對實驗原理有更深的理解。 二、對該理論在實踐中的應用有深刻的理解 透過把該演算法的內容,演算法的執行順序在計算機上實現,知道和理解了該理論在計算機中是怎樣執行的,對該理論在實踐中的應用有深刻的理解。

  三、激發了學習的積極性 透過該課程設計,全面系統的理解了編譯原理程式構造的一般原理和基本實現方法。把死板的課本知識變得生動有趣,激發了學習的積極性。把學過的計算機編譯原理的知識強化,能夠把課堂上學的知識透過自己設計的程式表示出來,加深了對理論知識的理解。以前對與計算機操 作系統的認識是模糊的,概念上的,現在透過自己動手做實驗,從實踐上認識了作業系統是如何處理命令的,如何協調計算機內部各個部件執行,對計算機編譯原理的認識更加深刻。課程設計中程式比較複雜,在除錯時應該仔細,在程式除錯時,注意指標,將不必要的命令去除。 在這次課程設計中,我就是按照實驗指導的思想來完成。加深了理解檔案系統的內部功能及內部實現,培養實踐動手能力和程式開發能力的目的。 四、理解了該知識點以及學科之間的融合滲透 本次課程設計程式部分是用c語言編寫的,把《計算機作業系統》,《編譯原理》,《演算法分析與設計》《c語言》四門學科聯絡起來,把各個學科之間的知識融合起來,把各門課程的知識聯絡起來,對計算機整體的認識更加深刻。使我加深了對《計算機作業系統》,《編譯原理》,《演算法分析與設計》《c語言》四門課程的認識。

最近訪問