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
SHOW MORE
FREE ACCESS