出版時(shí)間:2005-3 出版社:機(jī)械工業(yè)出版社 作者:查爾斯N.費(fèi)希爾 頁(yè)數(shù):812
Tag標(biāo)簽:無
內(nèi)容概要
本書提供了創(chuàng)新的編譯器構(gòu)造方法,通過大量的示例和練習(xí),讀者可以從頭至尾學(xué)習(xí)如何設(shè)計(jì)一個(gè)可用的編譯器。書中均衡討論了編譯器設(shè)計(jì)中的理論與實(shí)現(xiàn)兩大部分,詳細(xì)討論了標(biāo)準(zhǔn)編譯器設(shè)計(jì)的相關(guān)主題 (如自頂向下和自底向上的語(yǔ)法分析、語(yǔ)義分析、中間表示和代碼生成) 。本書中所有的程序均采用易讀的基于C語(yǔ)言的代碼來表示。本書是一本優(yōu)秀的編譯器構(gòu)造方面的教材,已經(jīng)被國(guó)際上多所大學(xué)所采納,適用于高等院校計(jì)算機(jī)專業(yè)的學(xué)生和使用C語(yǔ)言的專業(yè)程序員。均衡討論編譯器設(shè)計(jì)的理論與實(shí)現(xiàn)兩大部分,既很好地介紹了編譯器理論,又提供了大量的編譯器設(shè)計(jì)示例和練習(xí)。本書的主要特點(diǎn) 強(qiáng)調(diào)使用可以生成語(yǔ)法分析器和詞法分析器的編譯器工具。 徹底討論LR語(yǔ)法分析和歸約技術(shù)。 介紹了FLex和ScanGen。 在每章末尾包含可選的高級(jí)主題。
作者簡(jiǎn)介
查爾斯 N.費(fèi)希爾,威斯康星大學(xué)麥迪孫分校計(jì)算機(jī)教授,他的研究方向主要包括編譯器設(shè)計(jì)和實(shí)現(xiàn)等?! ⌒±聿榈?J.勒布朗,佐治亞理工學(xué)院計(jì)算學(xué)院的教授和副主任、ACM和IEEE計(jì)算機(jī)協(xié)會(huì)會(huì)員,他的研究方向主要包括軟件工程、編程語(yǔ)言設(shè)計(jì)和實(shí)現(xiàn)、編程環(huán)境等。
書籍目錄
chapter 1 Introduction. 1.1 Overview and History. 1.2 What Do Compilers Do? 1.3 The Structure of a Compiler. 1.4 The Syntax and Semantics of Programming Languages. 1.5 Compiler Design and Programming Language Design. 1.6 Compiler Classifications. 1.7 Influences On Computer Design. Exercises.chapter 2 A Simple Compiler. 2.1 The Structure of a Micro Compiler. 2.2 A Micro Scanner. 2.3 The Syntax of Micro. 2.4 Recursive Descent Parsing. 2.5 Translating Micro. Exercises.chapter 3 Scanning--Theory and Practice. 3.1 Overview. 3.2 Regular Expressions. 3.3 Finite Automata and Scanners. 3.4 Using a Scanner Generator. 3.5 Practical Considerations. 3.6Translating Regular Expressions Into Finite Automata. Exercises.chapter 4 Grammars and Parsing. 4.1 Context-Free Grammars: Concepts and Notation. 4.2 Errors in Context-Free Grammars. 4.3 Transforming Extended Bnf Grammars. 4.4 Parsers and Recognizers. 4.5 Grammar Analysis Algorithms. Exercises.chapter 5 Ll(1) Grammars and Parsers. 5.1 The Ll(1) Predict Function. 5.2 The Ll(1) Parse Table. 5.3 Building Recursive Descent Parsers From Ll(1) Tables. 5.4 An Ll(1) Parser Driver. 5.5 Ll(1) Action Symbols. 5.6 Making Grammars Ll(1) / The If-Then-Else Problem in Ll(1) Parsing. 5.7 The Llgen Parser Generator. 5.8 The llgen parser generator 5.9 Properties of Ll(1) Parsers. 5.10 Ll(K) Parsing. Exercises.chapter 6 Lr Parsing. chapter 7 Semantic Processing. chapter 8 Symbol Tables. chapter 9 Run-Time Storage Organization. chapter 10 Processing Declarations. chapter 11 processing expressions and data structure referenceschapter 12 translating control structureschapter 13 translating procedures and functionschapter 14 attribute grammars and multipass translationchapter 15 code generation and local code optimizationchapter 16 global optimizationchapter 17 parsing in the real worldAppendices A. Definition of Ada/Cs.Appendices B. Scangen.Appendices C. Llgen User Manual.Appendices D. Lalrgen User Manual.Appendices E. Error-Repair Features of Llgen and Lalrgen.Appendices F. Compiler Development Utilities.Bibliography. Index
章節(jié)摘錄
書摘查爾斯 N.費(fèi)希爾,威斯康星大學(xué)麥迪孫分校計(jì)算機(jī)教授,他的研究方向主要包括編譯器設(shè)計(jì)和實(shí)現(xiàn)等。 小理查德 J.勒布朗,佐治亞理工學(xué)院計(jì)算學(xué)院的教授和副主任、ACM和IEEE計(jì)算機(jī)協(xié)會(huì)會(huì)員,他的研究方向主要包括軟件工程、編程語(yǔ)言設(shè)計(jì)和實(shí)現(xiàn)、編程環(huán)境等。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載