A Concise Introduction to Languages and Machines

  • Authors
  • Alan P. Parkes

Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages i-vii
  2. Languages and Machines

    1. Front Matter
      Pages 1-1
    2. Alan P. Parkes
      Pages 1-8
    3. Alan P. Parkes
      Pages 11-42
    4. Alan P. Parkes
      Pages 43-54
    5. Alan P. Parkes
      Pages 155-186
  3. Machines and Computation

    1. Front Matter
      Pages 1-1
    2. Alan P. Parkes
      Pages 189-207
    3. Alan P. Parkes
      Pages 209-235
    4. Alan P. Parkes
      Pages 291-318
  4. Back Matter
    Pages 319-343

About this book


This easy-to-follow text provides an accessible introduction to the key topics of formal languages and abstract machines within Computer Science. The author follows the successful formula of his first book on this subject, this time making these core computing topics more fundamental and providing an excellent foundation for undergraduates.

The book is divided into two parts, Languages and Machines and Machines and Computation. The first part is concerned with formal language theory, as it applies to Computer Science, whereas Part 2 considers the computational properties of the machines in more detail. This text is deliberately non-mathematical and, wherever possible, links theory to practical considerations, in particular the implications for programming, computation and problem solving. Written in an informal style, this textbook assumes only a basic knowledge of programming on the part of the reader.


• Clear explanations of formal notation and jargon

• Extensive use of examples to illustrate algorithms and proofs

• Pictorial representations of key concepts

• Chapter-opening overviews providing an introduction and guidance to each topic

• An introductory chapter supplies the reader with a solid overview

• End-of-chapter exercises and solutions

This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on courses covering formal languages, computability, automata theory and computational linguistics. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.


Algorithms Automat Turing algorithm automata complexity computational linguistics formal language formal logic logic programming semantics

Bibliographic information