出版時間:2009-7 出版社:清華大學出版社 作者:康慕寧,任國霞,唐晶磊 編著 頁數(shù):207
前言
編譯原理是計算機專業(yè)中一門重要的專業(yè)課程。設置本課程的目的,在于系統(tǒng)地向?qū)W生講述編譯系統(tǒng)的結構、工作流程、設計原理和實現(xiàn)技術。通過本書的學習,使學生掌握在編譯理論和方法方面的基本知識,也具有設計實現(xiàn)、分析和維護編譯程序方面的初步能力,也可以提高學生科學思維能力和綜合運用專業(yè)知識與解決實際問題的能力,所以這門課程在計算機專業(yè)體系中占有十分重要的地位。編譯原理是一門理論性和實踐性都比較強的課程。編者在編寫過程中,力圖盡可能使本教材達到知識內(nèi)容組織合理,由淺入深,循序漸進的目的。書中詳細而系統(tǒng)地介紹了程序設計語言翻譯的基本原理與方法,同時本書的特色主要體現(xiàn)在每章開始都有本章簡介,章末均有小結,另外,每章后面都有與講解內(nèi)容緊密相關的習題,可以使學生更好地掌握所學的知識內(nèi)容,也可以成為考研學生很好的一本參考書籍。本書共分為11章,第1~6章由西北工業(yè)大學計算機學院的康慕寧教授編寫,第7~9章由西北農(nóng)林科技大學信息工程學院的唐晶磊編寫,第10、11章由西北農(nóng)林科技大學信息工程學院的任國霞副教授編寫。我們特別感謝北京工業(yè)大學蔣宗禮教授,蔣教授對本書進行了仔細的審閱,提出了許多寶貴的意見及指導性的建議。這里也特別感謝清華大學出版社的大力支持,使本書得以順利出版。由于我們的能力有限,書中難免有一些錯誤和不足,敬請讀者批評指正。
內(nèi)容概要
本書系統(tǒng)地闡述了編譯系統(tǒng)的結構、工作流程、設計原理和實現(xiàn)技術。主要內(nèi)容包括程序設計語言基本知識、詞法分析、語法分析、語義分析與屬性文法、語法制導的代碼生成、運行時存儲空間組織、代碼生成與優(yōu)化等。通過本書的學習,使學生掌握編譯理論和方法的基本知識,具有設計實現(xiàn)、分析和維護編譯程序方面的初步能力,提高學生科學思維能力和綜合運用專業(yè)知識的能力與解決實際問題的能力。書中每章開始有本章內(nèi)容簡介,每章后面都有與內(nèi)容緊密相關、難度適宜的習題,可以使學生更好地掌握本章所學的知識內(nèi)容。 本書適合作為高等學校計算機及相關專業(yè)的教材,也可以作為考研學生的一本參考書。
作者簡介
康慕寧,1982年西北大學計算機系本科畢業(yè),獲理學學士學位;1984年西北工業(yè)大學計算機系研究生畢業(yè),獲工學碩士學位。現(xiàn)為西北工業(yè)大學計算機學院軟件與理論系教授,中國計算機學會高級會員。多年在教學一線主講計算機專業(yè)本科及研究生編譯原理、形式語言與自動機、組合數(shù)學
書籍目錄
第1章 編譯程序理論概述 1.1 導言 1.2 語言及其翻譯 1.3 語法的功能 1.4 程序設計語言的發(fā)展 1.5 編譯程序的結構 1.5.1 詞法分析 1.5.2 字符串表 1.5.3 語法分析 1.5.4 語義分析 1.5.5 符號表 1.5.6 代碼優(yōu)化程序 1.5.7 代碼生成程序 1.6 特殊約定 縮寫詞與關鍵字 習題第2章 語法及其分類 2.1 概述 2.2 文法 2.2.1 字母表與字符串 2.2.2 非終結符與產(chǎn)生式 2.2.3 文法的例子 2.3 文法及語言的Chomskey分類 2.4 規(guī)范推導 2.5 文法的二義性 習題第3章 掃描器與正規(guī)語言 3.1 詞法分析程序簡介 3.2 正規(guī)表達式 3.2.1 正規(guī)表達式代數(shù) 3.2.2 正規(guī)表達式的性質(zhì) 3.3 有限狀態(tài)自動機 3.4 非確定的有限狀態(tài)自動機 3.5 將正規(guī)文法轉(zhuǎn)換為自動機 3.6 NDFA的確定化及化簡 3.7 從有限狀態(tài)自動機轉(zhuǎn)換到正規(guī)文法 3.8 有限自動機在計算機中的實現(xiàn) 3.9 掃描器實現(xiàn)中的特殊問題 3.9.1 輸入符號表 3.9.2 掃描器自動機中的終止狀態(tài) 3.9.3 刪除空白符號與注釋 3.9.4 輸出單詞 3.10 字符串表的實現(xiàn) 3.11 保留字 3.12 使用掃描器自動生成工具 縮寫詞與關鍵字 習題第4章 語法分析與前后文無關文法 4.1 導論 4.2 下推自動機 4.2.1 停機條件的等價性 4.2.2 從前后文無關文法CFG構造PDA ……第5章 語義分析與屬性文法第6章 語法制導的代碼生成第7章 符號表第8章 運行時存儲空間的組織與管理第9章 代碼優(yōu)化第10章 目標代碼生成參考文獻
章節(jié)摘錄
插圖:第1章 編譯程序理論概述1.1 導言編譯程序設計是少數(shù)幾個由抽象的理論改變?nèi)藗兙帉懗绦蚍椒ǖ挠嬎銠C科學領域之一。最早的編譯程序采用傳統(tǒng)的“對號入座”的程序設計技術,直到“語法制導”分析程序的出現(xiàn)才得到改變。一個好的編譯程序的任何部分都或多或少地與語法相關,因為語法理論可以驅(qū)動編譯程序的設計,并使編譯程序的設計清晰、易實現(xiàn)。1.2 語言及其翻譯計算機語言像自然語言一樣,為了溝通信息而定義了用單詞構造句子的方法。自然語言可以表達、傳遞人們心靈的感覺、客觀的世界真相、人們對這些感覺和真相提出的問題以及要求他人聽從的指令等等,但計算機語言則被限制用于描述要求接受該語言的機器聽從的指令。自然語言限制了允許說的句子的形式,例如,人們可以說:“約翰吃香蕉”,但不能說:“約翰香蕉吃”。第一句語法正確,而第二句則不符合中文的語法。又如,英文句子John eats an apple是正確的句子,而eats Jqbn apple an卻不符合英語語法。會英、德兩種語言的人馬上就知道德語句子John iBt einen Apfel與Johneats an apple說的是一回事,但對只熟悉其中一種語言的人來說,就不知道兩句話同義了。因為,單詞iBt在英語中無任何意義,同樣eats也不是德語中的正確單詞。當一個不懂德語的英國人想與不懂英語的德國人相互交流時,就需要有一個翻譯。在自然語言中,翻譯是將他所接收的一種語言的信息表述為另一種語言的人。他將所讀的英語句子John eats an apple寫成德語句子John iBt einen Apfel。對于錯誤的句子eats John apple an,他將無法翻譯。
圖書封面
評論、評分、閱讀與下載