The book "Theory of Programming Language" thoroughly examines the subject and various real-world applications of computer technology. Programming language theory is an area of computer science that focuses on the creation, execution, analysis, characterization, and classification of formal programming languages. This comprehensive text introduces the ideas, methods, and sophisticated instrumentation techniques used in programming for beginning computer science students and researchers. This book also provides a reliable study of the programming language and projects its future evolution. It does a fantastic job of giving an overview of the numerous issues addressed in the theory that underpins programming languages. The readers of this handbook can easily understand the fundamental principles that constitute the basis for the philosophy of programming languages. This is because the material is organized and presented in a reader-friendly way. This book is a valuable resource for students, professors, and developers interested in programming language and its theory. PLT, which is an abbreviation that stands for “programming language theory (PLT),” is a subfield of Computer Science that investigates the design, implementation, analysis, characterization, and classification of formal languages that are referred to as programming languages as well as the components that make up those languages on their own. PLT also looks at how formal languages are characterized and classified. PLT is a branch of computer science that draws from and impacts a wide range of other academic fields, including mathematics, software engineering, languages, and even cognitive science. It is also regarded to be its academic subject. PLT has developed into a well-known area of study within the field of computer science and an active area of investigation. The findings of this research are published in a large number of journals that are specifically dedicated to PLT, in addition to publications that are generally dedicated to computer science and engineering. Cover 1 Title Page 5 Copyright 6 ABOUT THE AUTHOR 7 TABLE OF CONTENTS 9 List of Figures 13 List of Tables 15 List of Abbreviations 17 Preface 19 Chapter 1 Introduction to the Theory of Programming Language 21 1.1. Introduction 22 1.2. Inductive Definitions 25 1.3. Languages 27 1.4. Three Ways to Define the Semantics of a Language 30 1.5. Non-Termination 32 1.6. Programming Domains 32 1.7. Language Evaluation Criteria 34 References 45 Chapter 2 Evaluation of Major Programming Languages 55 2.1. Introduction 56 2.2. Zuse’s Plankalkül 58 2.3. Pseudocodes 60 2.4. IBM 704 and Fortran 64 2.5. Functional Programming: LISP 67 2.6. Computerizing Business Records 73 2.7. The Early Stages of Timesharing 76 2.8. Two Initial Dynamic Languages: Snobol and APL 78 2.9. Object-Oriented Programming: Smalltalk 79 2.10. Merging Imperative and Object-Oriented Characteristics 80 2.11. An Imperative-Centered Object-Oriented Language: Java 83 2.12. Markup-Programming Hybrid Languages 87 2.13. Scripting Languages 89 References 93 Chapter 3 The Language PCF 107 3.1. Introduction 108 3.2. A Functional Language: PCF 108 3.3. Small-Step Operational Semantics for PCF 110 3.4. Reduction Strategies 113 3.5. Big-Step Operational Semantics for PCF 116 3.6. Evaluation of PCF Programs 116 References 117 Chapter 4 Describing Syntax and Semantics 121 4.1. Introduction 122 4.2. The General Problem of Describing Syntax 123 4.3. Formal Methods of Describing Syntax 125 4.4. Attribute Grammars 138 4.5. Describing the Meanings of Programs 144 References 150 Chapter 5 Lexical and Syntax Analysis 161 5.1. Introduction 162 5.2. Lexical Analysis 164 5.3. The Parsing Problem 168 5.4. Recursive-Descent Parsing 173 5.5. Bottom-Up Parsing 176 5.6. Summary 179 References 182 Chapter 6 Names, Bindings, and Scopes 191 6.1. Introduction 192 6.2. Names 194 6.3. Variables 195 6.4. The Concept of Binding 198 6.5. Scope 200 References 203 Chapter 7 Data Types 207 7.1. Introduction 208 7.2. Primitive Data Types 211 7.3. Character String Types 215 References 219 Chapter 8 Support for Object-Oriented Programming 225 8.1. Introduction 226 8.2. Object-Oriented Programming 227 8.3. Design Issues for Object-Oriented Languages 229 8.4. Support for Object-Oriented Programming in Specific Languages 233 References 237 Index 243 Back Cover 248