This book explains and illustrates key concepts of programming by taking a breadth approach to programming languages. It uses C++ as the primary language throughout, demonstrating imperative, functional and object-oriented language concepts.
Programming Language Concepts
β Scribed by Peter Sestoft (auth.)
- Publisher
- Springer-Verlag London
- Year
- 2012
- Tongue
- English
- Leaves
- 294
- Series
- Undergraduate Topics in Computer Science 50
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Programming Language Concepts uses a functional programming language (F#) as the metalanguage in which to present all concepts and examples, and thus has an operational flavour, enabling practical experiments and exercises. It includes basic concepts such as abstract syntax, interpretation, stack machines, compilation, type checking, and garbage collection techniques, as well as the more advanced topics on polymorphic types, type inference using unification, co- and contravariant types, continuations, and backwards code generation with on-the-fly peephole optimization.
Programming Language Concepts covers practical construction of lexers and parsers, but not regular expressions, automata and grammars, which are well covered elsewhere. It throws light on the design and technology of Java and C# to strengthen studentsβ understanding of these widely used languages.
The examples present several interpreters and compilers for toy languages, including a compiler for a small but usable subset of C, several abstract machines, a garbage collector, and ML-style polymorphic type inference. Each chapter has exercises based on such examples.
β¦ Table of Contents
Front Matter....Pages I-XIV
Introduction....Pages 1-12
Interpreters and Compilers....Pages 13-29
From Concrete Syntax to Abstract Syntax....Pages 31-56
A First-Order Functional Language....Pages 57-76
Higher-Order Functions....Pages 77-91
Polymorphic Types....Pages 93-113
Imperative Languages....Pages 115-136
Compiling Micro-C....Pages 137-154
Real-World Abstract Machines....Pages 155-174
Garbage Collection....Pages 175-199
Continuations....Pages 201-223
A Locally Optimizing Compiler....Pages 225-243
Back Matter....Pages 245-278
β¦ Subjects
Programming Languages, Compilers, Interpreters
π SIMILAR VOLUMES
<p><p><i>Programming Language Concepts</i> uses a functional programming language (F#) as the metalanguage in which to present all concepts and examples, and thus has an operational flavour, enabling practical experiments and exercises. It includes basic concepts such as abstract syntax, interpretat
<p><p><i>Programming Language Concepts</i> uses a functional programming language (F#) as the metalanguage in which to present all concepts and examples, and thus has an operational flavour, enabling practical experiments and exercises. It includes basic concepts such as abstract syntax, interpretat