ENGLISH

Programming Language Concepts

Book information

Publisher
Springer-Verlag London
Year
2012
ISBN
9781447141556, 9781447141563
Language
english
Format
PDF
Filesize
2 MB (2147773 bytes)
Series
Undergraduate Topics in Computer Science 50
Edition
1
Pages
278\285
Time added
2020-08-30 06:11:09

Description

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. 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

Similar books