{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":26,"n_cols":5,"rows_kept":26,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[9,2,9,3],[10,2,10,3],[11,2,11,3],[12,2,12,3],[13,2,13,3],[14,2,14,3],[18,2,18,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9911006499903321"]
[null,null,"Autore",null,"Scott Michael Lee <1959->"]
[null,null,"Titolo",null,"Programming language pragmatics / / Michael L. Scott"]
[null,null,"Pubbl/distr/stampa",null,"Amsterdam ; ; Boston, : Elsevier/Morgan Kaufmann Pub., c2009"]
[null,null,"ISBN",null,"9786612120930"]
[{"$nulls":4},"9781282120938"]
[{"$nulls":4},"128212093X"]
[{"$nulls":4},"9780080922997"]
[{"$nulls":4},"0080922996"]
[null,null,"Edizione",null,"[3rd ed.]"]
[null,null,"Descrizione fisica",null,"1 online resource (941 p.)"]
[null,null,"Disciplina",null,"005.13"]
[null,null,"Soggetti",null,"Programming languages (Electronic computers)"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","Description based upon print version of record."]
[null,null,null,"Nota di bibliografia","Includes bibliographical references (p. 849-865) and index."]
[null,null,"Nota di contenuto",null,"Front Cover; Programming Language Pragmatics; Copyright; Table of Contents; Foreword; 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.4 Compilation and Interpretation; 1.5 Programming Environments; 1.6 An Overview of Compilation; 1.6.1 Lexical and Syntax Analysis; 1.6.2 Semantic Analysis and Intermediate Code Generation; 1.6.3 Target Code Generation; 1.6.4 Code Improvement; 1.7 Summary and Concluding Remarks; 1.8 Exercises; 1.9 Explorations; 1.10 Bibliographic Notes"]
[{"$nulls":4},"Chapter 2. Programming Language Syntax2.1 Specifying Syntax: Regular Expressions and Context-Free Grammars; 2.1.1 Tokens and Regular Expressions; 2.1.2 Context-Free Grammars; 2.1.3 Derivations and ParseTrees; 2.2 Scanning; 2.2.1 Generating a Finite Automaton; 2.2.2 Scanner Code; 2.2.3 Table-Driven Scanning; 2.2.4 Lexical Errors; 2.2.5 Pragmas; 2.3 Parsing; 2.3.1 Recursive Descent; 2.3.2 Table-DrivenTop-Down Parsing; 2.3.3 Bottom-Up Parsing; 2.3.4 Syntax Errors; 2.4 Theoretical Foundations; 2.5 Summary and Concluding Remarks; 2.6 Exercises; 2.7 Explorations; 2.8 Bibliographic Notes"]
[{"$nulls":4},"Chapter 3. Names, Scopes, and Bindings3.1 The Notion of Binding Time; 3.2 Object Lifetime and Storage Management; 3.2.1 Static Allocation; 3.2.2 Stack-Based Allocation; 3.2.3 Heap-Based Allocation; 3.2.4 Garbage Collection; 3.3 Scope Rules; 3.3.1 Static Scoping; 3.3.2 "]
[{"$nulls":4},"Nested Subroutines; 3.3.3 Declaration Order; 3.3.4 Modules; 3.3.5 ModuleTypes and Classes; 3.3.6 Dynamic Scoping; 3.4 Implementing Scope; 3.5 The Meaning of Names within a Scope; 3.5.1 Aliases; 3.5.2 Overloading; 3.5.3 Polymorphism and Related Concepts; 3.6 The Binding of Referencing Environments; 3.6.1 Subroutine Closures"]
[{"$nulls":4},"3.6.2 First-ClassValues and Unlimited Extent3.6.3 Object Closures; 3.7 Macro Expansion; 3.8 Separate Compilation; 3.9 Summary and Concluding Remarks; 3.10 Exercises; 3.11 Explorations; 3.12 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 SyntaxTree; 4.7 Summary and Concluding Remarks; 4.8 Exercises; 4.9 Explorations; 4.10 Bibliographic Notes; Chapter 5. Target Machine Architecture; Part II: Core Issues in Language Design"]
[{"$nulls":4},"Chapter 6. Control Flow6.1 Expression Evaluation; 6.1.1 Precedence and Associativity; 6.1.2 Assignments; 6.1.3 Initialization; 6.1.4 Ordering within Expressions; 6.1.5 Short-Circuit Evaluation; 6.2 Structured and Unstructured Flow; 6.2.1 Structured Alternatives to goto; 6.2.2 Continuations; 6.3 Sequencing; 6.4 Selection; 6.4.1 Short-Circuited Conditions; 6.4.2 Case/Switch Statements; 6.5 Iteration; 6.5.1 Enumeration-Controlled Loops; 6.5.2 Combination Loops; 6.5.3 Iterators; 6.5.4 Generators in Icon; 6.5.5 Logically Controlled Loops; 6.6 Recursion; 6.6.1 Iteration and Recursion"]
[{"$nulls":4},"6.6.2 Applicative- and Normal-Order Evaluation"]
[null,null,null,"Sommario/riassunto","As software rapidly becomes more complex and segmented, it is increasingly important for programmers to have references that can point out common underlying principles, provide guidance making about which of dozens of popular languages to learn, and explain the potentially dizzying jargon.For almost a decade, Michael Scott's classic book has been doing all of the above. His brilliant method of illuminating theoretical topics with practical implementation examples provides two-in-one coverage not found in any other text. After all, what good is knowing all the formalisms of a programmin"]