Undergraduate Topics in Computer Science

Programming Language Concepts

Authors: Sestoft, Peter

  • First programming language concepts and compiler book based on F#
  • Covers language design, implementation and performance consequences for the current mainstream object-oriented languages Java and C#
  • Full source code for examples and concepts permit experimentation
see more benefits

Buy this book

eBook n/a
  • ISBN 978-1-4471-4156-3
  • Digitally watermarked, DRM-free
  • Included format: EPUB, PDF
  • ebooks can be used on all reading devices
About this Textbook

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 (12 chapters)

  • Introduction

    Sestoft, Peter

    Pages 1-12

  • Interpreters and Compilers

    Sestoft, Peter

    Pages 13-29

  • From Concrete Syntax to Abstract Syntax

    Sestoft, Peter

    Pages 31-56

  • A First-Order Functional Language

    Sestoft, Peter

    Pages 57-76

  • Higher-Order Functions

    Sestoft, Peter

    Pages 77-91

Buy this book

eBook n/a
  • ISBN 978-1-4471-4156-3
  • Digitally watermarked, DRM-free
  • Included format: EPUB, PDF
  • ebooks can be used on all reading devices
Loading...

Recommended for you

Loading...

Bibliographic Information

Bibliographic Information
Book Title
Programming Language Concepts
Authors
Series Title
Undergraduate Topics in Computer Science
Series Volume
50
Copyright
2012
Publisher
Springer-Verlag London
Copyright Holder
Springer International Publishing AG
eBook ISBN
978-1-4471-4156-3
DOI
10.1007/978-1-4471-4156-3
Series ISSN
1863-7310
Edition Number
1
Number of Pages
XIV, 278
Number of Illustrations and Tables
17 b/w illustrations
Topics