本書是一本關于編譯器設計原理與實踐的教材。第1章闡述了編譯器的功能、結構、工作過程和構造方式。編譯器以高級語言為翻譯對象,而高級語言樣式繁多,因此第2章將從更高的角度闡述高級語言所具有的共性。此外,文法是翻譯的基礎,第2章還將給出便于理解的形式文法的基本理論,著重上下文無法文法作為高級語言的語法描述方式,并以自定義的L語言為例給出其語法描述,同時也將作為后續翻譯演示代碼的程序語言。第3章將介紹手工方式實現詞法分析的過程,以及有限自動機相關理論用于理解自動詞法分析生產工具LEX。第4章介紹自上而下的語法分析,包括LL(1)文法和遞歸下降分析和預測分析法。第5章介紹自下而上分析包括算符優先分析,以及LR(0)、SLR(1)、LR(1)等方法。第6章介紹語法制導翻譯方法,主要討論其基本原理與相關技術,屬性文法以及利用屬性文法進行一遍掃描生成中間代碼的語義分析方法。第7章討論貫穿于各個編譯階段的重要表格—符號表的組織方法,以及符號的存取方式。此外,也討論編譯器為實現高效程序運行,而進行的內存空間分配與回收工作。第8章將介紹常用的中間代碼優化技術。第9章以80x86匯編指令為目標代碼,介紹簡單的目標代碼生成算法,主要討論寄存器分配問題。