編譯原理是一門研究設計和構造編譯程序原理和方法的課程,是計算機各專業的一門重要專業基礎課。編譯原理主要學習的是編譯程序結構及各部分功能、文法和語言 的基本概念和表示、詞法分析、語法分析、屬性文法與語法制導翻譯技術、符號表、運算時存儲空間的組織、代碼優化與目標代碼生成、並行編譯技術概述等。學習
編譯原理這門課程實際蘊含蘊含着計算機學科中解決問題的思路、形式化問題和解決問題的方法,這些思路和方法除了對應用軟件和系統軟件的設計與開發有必定的啓發和指導做用外,在提倡學科交叉不斷創新的時代背景下,仍然具備很是重要的意義。編譯程序構造的原理和技術在技術工程、逆向工程、軟件再工程、語言轉換及其餘領域都有着普遍的應用。學習編譯原理、能掌握編譯系統的結構、工做流程及編譯程序各組成部分的設計原理和經常使用的編譯技術和方法,爲從此從事應用軟件和系統軟件的開發打下必定的理論和實踐基礎。優化
一、作好思想準備,不要畏難,書一遍沒看懂不要緊,要多看幾遍,甚至幾十遍,不是有句話麼:書讀百遍,其義自見;還要結合課本後面的習題多作思考和類比,這些都是最基本的辦法,在 學習的過程當中概括出本身的難點和疑惑點,而後重點突破;
二、本身動手作一個虛擬機,在虛擬機的基礎上開發本身的語言和編譯器,增強實踐,固然並不須要你把這些作的多麼複雜,主要目的仍是爲告終合理論的學習,是爲了更加深入的理解 書本上那些抽象的東西;可是誰又敢說,你不能由此發明了未來流行世界的新的語言和新的編譯器呢?
三、直接專一於編碼(Lex,Yacc等)的研究,而後去配合理論的學習,能夠在第一次學習的過程當中忽略一些內容,等之後用的時候再來學習.編碼
先完成
1 、過濾空白字符和註釋
2 、識別常量
3 、把字符形式的表示轉化爲編譯器的內部標識
4 、識別標識符(ID)和關鍵字
5 、識別符號 + - * / [ ( { ; : ::
上面都作到了,再考慮語法分析,spa