LEADER 05363nam 2200685Ia 450 001 9910140621603321 005 20200520144314.0 010 $a9786612551468 010 $a9781282551466 010 $a1282551469 010 $a9780470593387 010 $a0470593385 010 $a9780470593349 010 $a0470593342 035 $a(CKB)2670000000009410 035 $a(EBL)485634 035 $a(OCoLC)593331549 035 $a(SSID)ssj0000343957 035 $a(PQKBManifestationID)11294876 035 $a(PQKBTitleCode)TC0000343957 035 $a(PQKBWorkID)10310117 035 $a(PQKB)10431116 035 $a(MiAaPQ)EBC485634 035 $a(Perlego)2786391 035 $a(EXLCZ)992670000000009410 100 $a20100105d2010 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aTrustworthy compilers /$fVladimir O. Safonov 210 $aHoboken, N.J. $cWiley$d2010 215 $a1 online resource (317 p.) 225 1 $aQuantitative Software Engineering Series ;$vv.8 300 $aDescription based upon print version of record. 311 08$a9780470500958 311 08$a0470500956 320 $aIncludes bibliographical references and index. 327 $aTrustworthy Compilers; Contents; Preface; Acknowledgments; 1. Introduction; 1.1. The Concept of a Trustworthy Compiler; 1.2. Kinds of Compilers; 1.3. Evolution of Java Compilers; 1.4. Compilation for .NET; 1.5. Phases of Compilation; 1.6. Overview of Compiler Development Principles and Technologies; 1.7. History of Compiler Development in the U.S.S.R. and in Russia; Exercises to Chapter 1; 2. Theoretical Foundations and Principles of Trustworthy Compilers; 2.1. The Trustworthy Computing (TWC) Initiative; 2.2. TWC and Trustworthy Compilers; 2.3. Verified Compilers 327 $a2.4. Spec#: Microsoft's Approach to Verifying Compilers2.5. Perspectives of Verified and Verifying Compilation; Exercises to Chapter 2; 3. Lexical Analysis and Its Trustworthiness Principles; 3.1. Token Classes; 3.2. The Output of the Lexical Analyzer; 3.3. Processing White Spaces, Comments, and New Lines; 3.4. Theoretical Models of Lexical Analysis; 3.5. Lexical Errors, Error Diagnostics, and Recovery; 3.6. Processing Identifiers and Keywords; 3.7. The Architecture of a Lexical Analyzer and the Principles of Its Implementation; 3.8. The Lexical Analyzer Generator Lex 327 $a3.9. Lexical Analyzer Generation in ANTLRExercises to Chapter 3; 4. Parsing and Trustworthy Methods of Syntax Error Recovery; 4.1. Basic Concepts and Principles of Parsing; 4.2. Recursive Descent and Simple Lookahead Mechanism; 4.3. Overview of Error Recovery in Parsing: Error Recovery for Recursive Descent; 4.4. LR(1) and LALR(1) Parsing; 4.5. Error Recovery in LR Parsing; 4.6. The Yacc Parser Generator; 4.7. The Bison Parser Generator: Generalized LR Parsing; 4.8. The Yacc++, JavaCC, SableCC, ANTLR, and CoCo/R Object-Oriented Parser Generators; Exercises to Chapter 4 327 $a5. Semantic Analysis and Typing: Efficient and Trustworthy Techniques5.1. Basic Concepts and Principles of Semantic Analysis; 5.2. Formal Model of Semantic Analysis: Attributed Grammars; 5.3. Definition Systems with Forward References and the Algorithm of Their One-Pass Analysis; 5.4. Commonly Used Semantic Attributes for Program Constructs; 5.5. Design Flaws of the Semantic Attribute Evaluation and Our Efficient Methods to Speed It Up; 5.6. Lookup-Traditional and Novel Techniques; 5.7. Typing and Type-Checking: Basic Concepts; 5.8. Representing Types at Compile Time 327 $a5.9. Efficient Method and Algorithm to Represent and Handle Types with Structural Identity5.10. Type Identity and Type Compatibility; 5.11. Type-Checking, Typing Error Diagnostics, and Recovery; 5.12. Code Trustworthiness Checks During Semantic Analysis; 5.13. Checks for Context Restrictions in Semantic Analysis; 5.14. Intermediate Code Generation-Principles and Architectural Models; 5.15. Postfix (Reverse Polish) Notation; 5.16. PCC Trees; 5.17. Triples; 5.18. Summary of the Chapter; Exercises to Chapter 5; 6. Trustworthy Optimizations 327 $a6.1. Basic Concepts and Trustworthiness of Optimizations 330 $aThe Most Complete, Real-World Guide to Compiler Development-and the Principles of Trustworthy Compilers Drawing on the author's over thirty years of expertise in compiler development, research, and instruction, Trustworthy Compilers introduces and analyzes the concept of trustworthy compilers and the principles of trustworthy compiler development, and provides analytical overview of other promising research works in this area. Vladimir Safonov shares the benefit of his long experience as a teacher and compiler development professional to explain that-even in such a well-studied area 410 0$aQuantitative Software Engineering Series 606 $aCompilers (Computer programs) 606 $aInterpreters (Computer programs) 615 0$aCompilers (Computer programs) 615 0$aInterpreters (Computer programs) 676 $a005.4/53 700 $aSafonov$b V. O$g(Vladimir Olegovich)$0521573 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910140621603321 996 $aTrustworthy compilers$9837290 997 $aUNINA