Programming Languages: Concepts and Implementation, First Edition
- 28h 1m
- Saverio Perugini
- Jones and Bartlett Learning
- 2023
Programming Languages: Concepts and Implementation is a textbook on the fundamental principles of programming languages through a combination of concept-based and interpreter-based approaches. The book has an implementation-oriented focus and features conceptual and programming exercises that give students practical experience applying language theory and concepts. The book also showcases the construction of a progressive series of language interpreters in Python that cover the implementation of a host of core language concepts such as scope, first-class functions, and parameter passing. Other programming styles, including logic/declarative programming, and compelling language features, such as first-class continuations, are also discussed. Concepts are presented in Python, Scheme, JavaScript, Ruby, ML, Haskell, Prolog, and various other programming languages. This book is intended as a general-purpose textbook for a course on programming languages.
Features and Benefits
- Hybrid conceptual- and interpreter-based approach
- Hands-on, implementation-oriented focus
- Numerous conceptual and programming exercises
- Interpreter-based projects in Python (and Scheme)
- All interpreter code (and solutions) in Python are provided as a Git repository in BitBucket
- Language tutorial appendices on Python, ML, and Haskell
About the Author
Saverio Perugini, PhD - Professor, University of Dayton, Dayton, Ohio
Saverio Perugini is a Professor of Mathematics and Computer Science at Ave Maria University. He has a Ph.D. in Computer Science from Virginia Tech (2004). Perugini can be reached at saverio.perugini@avemaria.edu. For more information, see https://saverio.carrd.co
In this Book
-
Introduction
-
Formal Languages and Grammars
-
Scanning and Parsing
-
Programming Language Implementation
-
Functional Programming in Scheme
-
Binding and Scope
-
Type Systems
-
Currying and Higher-Order Functions
-
Data Abstraction
-
Local Binding and Conditional Evaluation
-
Functions and Closures
-
Parameter Passing
-
Control and Exception Handling
-
Logic Programming
-
Conclusion
-
Bibliography
-
Colophon