編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition]

編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
[美] 阿霍 等 著



點擊這裡下載
    


想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-19

類似圖書 點擊查看全場最低價

圖書介紹

齣版社: 機械工業齣版社
ISBN:9787111326748
版次:1
商品編碼:10490900
品牌:機工齣版
包裝:平裝
叢書名: 經典原版書庫
外文名稱:Compilers:Principles,Techniques,and Tools,Second Edition
開本:32開
齣版時間:2011-01-01
用紙:膠版紙##


相關圖書





圖書描述

編輯推薦


內容簡介

《編譯原理》是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為“龍書”。《編譯原理》上一版自1986年齣版以來,被世界各地的著名高等院校和研究機構(包括美國哥倫比亞大學、斯坦福大學、哈佛大學、普林斯頓大學、貝爾實驗室)作為本科生和研究生的編譯原理課程的教材。該書對我國高等計算機教育領域也産生瞭重大影響。
第2版對每一章都進行瞭全麵的修訂,以反映自上一版齣版二十多年來軟件工程、程序設計語言和計算機體係結構方麵的發展對編譯技術的影響。
《編譯原理》全麵介紹瞭編譯器的設計。並強調編譯技術在軟件設計和開發中的廣泛應用,每章中都包含大量的習題和豐富的參考文獻。《編譯原理》適閤作為高等院校計算機專業本科生和研究生的編譯原理與技術課程的教材,也可供廣大計算機技術人員參考。

作者簡介

AlfredV.Aho,美國哥倫比亞大學教授。美國國傢工程院院士,ACM和lEEE會士,曾獲得IEEE的馮·諾伊曼奬。著有多部算法、數據結構、編譯器、數據庫係統及計算機科學基礎方麵的著作。
MonicaS.Lam,斯坦福大學計算機科學係教授。曾任T'ensilica的首席科學傢,也是Moka5的首任CEO。曾經主持SLJIF項目。
Ravi Sethi,Avaya實驗室總裁。曾任貝爾實驗室高級副總裁和LLicentTectlIlologies通信軟件的CTO。他曾在賓夕法尼亞州立大學、亞利桑那州立大學和普林斯頓大學任教,是ACM會士。
Jeffrey D.UIIman,斯坦福大學計算機科學係教授和GradianceCEO。他的研究興趣包括數據庫理論、數據庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國傢工程院院士、IEEE會士,獲得過ACM的Karlstrom傑齣教育奬和Knufh奬。

目錄

1 introduction
1.1 language processors
1.2 the structure of a compiler
1.3 the evolution of programming languages
1.4 the science of building a compiler
1.5 applications of compiler technology
1.6 programming language basics
1.7 summary of chapter 1
1.8 references for chapter 1
2 a simple syntax-directed translator
2.1 introduction
2.2 syntax definition
2.3 syntax-directed translation
2.4 parsing
2.5 a translator for simple expressions
2.6 lexical analysis
2.7 symbol tables
2.8 intermediate code generation
2.9 summary of chapter 2
3 lexical analysis
3.1 the role of the lexical analyzer
3.2 input buffering
3.3 specification of tokens
3.4 recognition of tokens
3.5 the lexical-analyzer generator lex
3.6 finite automata
3.7 from regular expressions to automata
3.8 design of a lexical-analyzer generator
3.9 optimization of dfa-based pattern matchers
3.10 summary of chapter 3
3.11 references for chapter 3
4 syntax analysis
4.1 introduction
4.2 context-free grammars
4.3 writing a grammar
4.4 top-down parsing
4.5 bottom-up parsing
4.6 introduction to lr parsing: simple lr
4.7 more powerful lr parsers
4.8 using ambiguous grammars
4.9 parser generators
4.10 summary of chapter 4
4.11 references for chapter 4
5 syntax-directed translation
5.1 syntax-directed definitions
5.2 evaluation orders for sdd's
5.3 applications of syntax-directed translation
5.4 syntax-directed translation schemes
5.5 hnplementing l-attributed sdd's
5.6 summary of chapter 5
5.7 references for chapter 5
6 intermediate-code generation
6.1 variants of syntax trees
6.2 three-address code
6.3 types and declarations
6.4 translation of expressions
6.5 type checking
6.6 control flow
6.7 backpatching
6.8 switch-statements
6.9 intermediate code for procedures
6.10 summary of chapter 6
6.11 references for chapter 6
7 run-time environments
7.1 storage organization
7.2 stack allocation of space
7.3 access to nonlocal data on the stack
7.4 heap management
7.5 introduction to garbage collection
7.6 introduction to trace-based collection
7.7 short-pause garbage collection
7.8 advanced topics in garbage collection
7.9 summary of chapter 7
7.10 references for chapter 7
8 code generation
8.1 issues m the design of a code generator
8.2 the target language
8.3 addresses in the target code
8.4 basic blocks and flow graphs
8.5 optimization of basic blocks
8.6 a simple code generator
8.7 peephole optimization
8.8 register allocation and assignment
8.9 instruction selection by tree rewriting
8.10 optimal code generation for expressions
8.11 dynamic programming code-generation
8.12 summary of chapter 8
8.13 references for chapter 8
9 machine-independent optimizations
9.1 the principal sources of optimization
9.2 introduction to data-flow analysis
9.3 foundations of data-flow analysis
9.4 constant propagation
9.5 partial-redundancy elimination
9.6 loops in flow graphs
9.7 region-based analysis
9.8 symbolic analysis
9.9 summary of chapter 9
9.10 references for chapter 9
10 instruction-level parallelism
10.1 processor architectures
10.2 code-scheduling constraints
10.3 basic-block scheduling
10.4 global code scheduling
10.5 software pipelining
10.6 summary of chapter 10
10.7 references for chapter 10
11 optimizing for parallelism and locality
11.1 basic concepts
11.2 matrix multiply: an in-depth example
11.3 iteration spaces
11.4 aftlne array indexes
11.5 data reuse
11.6 array data-dependence analysis
11.7 finding synchronization-free parallelism
11.8 synchronization between parallel loops
11.9 pipelining
11.10 locality optimizations
11.11 other uses of affine transforms
11.12 summarv of chapter 11
11.13 references for chapter 11
12 interprocedural analysis
12.1 basic concepts
12.2 why interprocedural analysis?
12.3 a logical representation of data flow
12.4 a simple pointer-analysis algorithm
12.5 context-insensitive interprocedural analysis
12.6 context-sensitive pointer analysis
12.7 datalog implementation by bdd's
12.8 summary of chapter 12
12.9 references for chapter 12
a a complete front end
a.1 the source language
a.2 main
a.3 lexical analyzer
a.4 symbol tables and types
a.5 intermediate code for expressions
a.6 jumping code for boolean expressions
a.7 intermediate code for statements
a.8 parser
a.9 creating the front end
b finding linearly independent solutions
index

精彩書摘

Languagel, are used to search databases. Database queries consist of predicatescontaining relational and boolean operators. They can be interpreted or com-piled into commands to search a database for records satisfying that predicate.Compiled SimulationSimulation is a general technique used in many scientific and engineering disci-plines to understand a phenomenon or to validate a design. Inputs to a simula-tor usually include the description of the design and specific input parametersfor that particular simulation run. Simulations can be very expensive. We typi-cally need to simulate many possible design alternatives on many different inputsets, and each experiment may take days to complete on a high-performancemachine. Instead of writing a simulator that interprets the design, it is fasterto compile the design to produce machine code that simulates that particulardesign natively. Compiled simulation can run orders of magnitude faster thanan interpreter-based approach. Compiled simulation is used in many state-of-the-art tools that simulate designs written in Verilog or VHDL.1.5.5 Software Productivity ToolsPrograms are arguably the most complicated engineering artifacts ever pro-duced; they consist of many many details, every one of which must be correctbefore the program will work completely. As a result, errors are rampant inprograms; errors may crash a system, produce wrong results, render a systemvulnerable to security attacks, or even lead to catastrophic failures in criticalsystems. Testing is the primary technique for locating errors in programs.
An interesting and promising complementary approach is to use data-flowanalysis to locate errors statically (that is, before the program is run). Data-flow analysis can find errors along all the possible execution paths, and notjust those exercised by the input data sets, as in the case of program testing.Many of the data-flow-analysis techniques, originally developed for compileroptimizations, can be used to create tools that assist programmers in theirsoftware engineering tasks.
The problem of finding all program'errors is undecidable. A data-flow anal-ysis may be designed to warn the programmers of all possible statements witha particular category of errors. But if most of these warnings are false alarms,users will not use the tool. Thus, practical error detectors are often neithersound nor complete. That is, they may not find all the errors in the program,and not all errors reported are guaranteed to be real errors. Nonetheless, var-ious static analyses have been developed and shown to be effective in findingerrors, such as dereferencing null or freed pointers, in real programs. The factthat error detectors may be unsound makes them significantly different fromcompiler optimizations. Optimizers must be conservative and cannot alter thesemantics of the program under any circumstances.
……

前言/序言

  In the time since the 1986 edition of this book, the world of compiler designhas changed significantly. Programming languages have evolved to present newcompilation problems. Computer architectures offer a variety of resources ofwhich the compiler designer must take advantage. Perhaps most interestingly,the 編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] 下載 mobi epub pdf txt 電子書 格式

編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] 下載 mobi pdf epub txt 電子書 格式 2024

編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

一開口就打動瞭我的心,真是美好啊。

評分

幫同事買的,同事非常喜歡,覺得收獲很大

評分

《編譯原理》是編譯領域無可替代的經典著作

評分

應該利用閑暇時間好好看看,順便提高一下英文水平啊。

評分

很好很強大很好很強大很好很強大很好很強大

評分

就是以為是16開的,其實是32開的。

評分

滿300減120,實惠,書的質量沒有問題,不錯;希望這種活動多一些

評分

都是新書,很不錯的書很好

評分

《編譯原理》是編譯領域無可替代的經典著作

類似圖書 點擊查看全場最低價

編譯原理(英文版·第2版) [Compilers:Principles,Techniques,and Tools,Second Edition] mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.qciss.net All Rights Reserved. 圖書大百科 版權所有