000 03758nam a22002657a 4500
005 20220608092109.0
020 _a9780124104099
040 _cHITLIB
_erda
050 _aQA76.7
_bSCO
100 1 _aScott, Michael Lee,
_d1959-
_eauthor
245 1 0 _aProgramming language pragmatics /
_cMichael Lee Scott
250 _aFourth edition
264 1 _aAmsterdam :
_bElservier/Morgan Kaufmann,
_c[2016]
264 4 _c©2016
300 _axxxii, 956 páginas :
_billustrations
336 _2rdacontent
_atext
_btxt
337 _2rdamedia
_aunmediated
_bn
338 _2rdacarrier
_avolume
_bnc
500 _aIncludes index
504 _aIncludes bibliography
505 _aFront cover; About the Author; Copyright page; Foreword; Contents; Preface; Part I. Foundations; Chapter 1. Introduction; 1.1 The Art of Language Design; 1.2 The Programming Language Spectrum; 1.3 Why Study Programming Languages?; 1.5 Programming Environments; 1.6 An Overview of Compilation; 1.7 Summary and Concluding Remarks; 1.8 Exercises; 1.9 Explorations; 1.10 Bibliographic Notes; Chapter 2. Programming Language Syntax; 2.1 Specifying Syntax; 2.3 Parsing; 2.4 Theoretical Foundations; 2.5 Summary and Concluding Remarks; 2.6 Exercises; 2.7 Explorations; 2.8 Bibliographic Notes Chapter 3. Names, Scopes, and Bindings3.1 The Notion of Binding Time; 3.2 Object Lifetime and Storage Management; 3.3 Scope Rules; 3.4 Implementing Scope; 3.5 The Binding of Referencing Environments; 3.6 Binding Within a Scope; 3.7 Separate Compilation; 3.8 Summary and Concluding Remarks; 3.9 Exercises; 3.10 Explorations; 3.11 Bibliographic Notes; Chapter 4. Semantic Analysis; 4.1 The Role of the Semantic Analyzer; 4.2 Attribute Grammars; 4.3 Evaluating Attributes; 4.4 Action Routines; 4.5 Space Management for Attributes; 4.6 Decorating a Syntax Tree; 4.7 Summary and Concluding Remarks 4.8 Exercises4.9 Explorations; 4.10 Bibliographic Notes; Chapter 5. Target Machine Architecture; 5.1 The Memory Hierarchy; 5.2 Data Representation; 5.3 Instruction Set Architecture; 5.4 Architecture and Implementation; 5.5 Compiling for Modern Processors; 5.6 Summary and Concluding Remarks; 5.7 Exercises; 5.8 Explorations; 5.9 Bibliographic Notes; Part II. Core Issues in Language Design; Chapter 6. Control Flow; 6.1 Expression Evaluation; 6.2 Structured and Unstructured Flow; 6.3 Sequencing; 6.4 Selection; 6.5 Iteration; 6.6 Recursion; 6.7 Nondeterminacy; 6.8 Summary and Concluding Remarks 6.9 Exercises6.10 Explorations; 6.11 Bibliographic Notes; Chapter 7. Data Types; 7.1 Type Systems; 7.2 Type Checking; 7.3 Records (Structures) and Variants (Unions); 7.4 Arrays; 7.5 lines; 7.6 Sets; 7.7 Pointers and Recursive Types; 7.8 Lists; 7.9 Files and Input/Output; 7.10 Equality Testing and Assignment; 7.11 Summary and Concluding Remarks; 7.12 Exercises; 7.13 Explorations; 7.14 Bibliographic Notes; Chapter 8. Subroutines and Control Abstraction; 8.1 Review of Stack Layout; 8.2 Calling Sequences; 8.3 Parameter Passing; 8.4 Generic Subroutines and Modules; 8.5 Exception Handling 8.6 Coroutines8.7 Summary and Concluding Remarks; 8.8 Exercises; 8.9 Explorations; 8.10 Bibliographic Notes; Chapter 9. Data Abstraction and Object Orientation; 9.1 Object-Oriented Programming; 9.2 Encapsulation and Inheritance; 9.3 Initialization and Finalization; 9.4 Dynamic Method Binding; 9.5 Multiple Inheritance; 9.6 Object-Oriented Programming Revisited; 9.7 Summary and Concluding Remarks; 9.8 Exercises; 9.9 Explorations; 9.10 Bibliographic Notes; Part III. Alternative Programming Models; Chapter 10. Functional Languages; 10.1 Historical Origins; 10.2 Functional Programming Concepts
650 0 _a Programming languages (Electronic computers)
650 0 _aProgramming Languages
942 _2lcc
_cBK
999 _c2864
_d2864