Skip to main content

Programming-Based Formal Languages and Automata Theory

Design, Implement, Validate, and Prove

  • Textbook
  • © 2024

Overview

  • Covers all the mathematical development traditionally employed in computational theory courses
  • Reviews essential mathematical background on sets, relations, formal logic, and reasoning about infinite sets
  • Provides students with the FSM programming language to implement their machines, grammars, and regular expressions

Part of the book series: Texts in Computer Science (TCS)

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 49.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book USD 64.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (21 chapters)

  1. Fundamental Concepts

  2. Regular Languages

  3. Context-Free Languages

  4. Context-Sensitive Languages

Keywords

About this book

This textbook introduces formal languages and automata theory for upper-level undergraduate or beginning graduate students. While it contains the traditional mathematical development usually employed in computational theory courses, it is also quite different from many of them. Machines, grammars, and algorithms developed as part of a constructive proof are intended to be rendered as programs.

The book is divided into four parts that build on each other. Part I reviews fundamental concepts. It introduces programming in FSM and reviews program design. In addition, it reviews essential mathematical background on sets, relations, and reasoning about infinite sets. Part II starts the study of formal languages and automata theory in earnest with regular languages. It first introduces regular expressions and shows how they are used to write programs that generate words in a regular language. Given that regular expressions generate words, it is only natural to ask how a machine can recognize words in a regular language. This leads to the study of deterministic and nondeterministic finite-state machines. Part III starts the exploration of languages that are not regular with context-free languages. It begins with context-free grammars and pushdown automata to generate and recognize context-free languages, and it ends with a discussion of deterministic pushdown automata and illustrates why these automatons are fundamentally different from nondeterministic pushdown automata. Part IV eventually explores languages that are not context-free, known as context-sensitive languages. It starts by discussing the most powerful automaton known to mankind: the Turing machine. It then moves to grammars for context-sensitive languages, and their equivalence with Turing machines is explored. The book ends with a brief chapter introducing complexity theory and explores the question of determining if a solution to a problem is practical.


Authors and Affiliations

  • Department of Computer Science, Seton Hall University, South Orange, USA

    Marco T. Morazán

About the author

Marco T. Morazán is a Full Professor in the Department of Mathematics and Computer Science at Seton Hall University. His main research areas are the implementation of programming languages and computer science education. He developed the FSM (Functional State Machines) programming language, has pioneered an effective computer science curriculum for beginners based on the development of video games, and has turned the automata theory classroom to programming-based activities. Currently he chairs the Steering Committee of the annual Trends in Functional Programming Symposium (TFP), is a Steering Committee Member of the annual Implementation and Application of Functional Languages Symposium (IFL), and is a co-founder of the annual Trends in Functional Programming in Education Workshop.


Bibliographic Information

  • Book Title: Programming-Based Formal Languages and Automata Theory

  • Book Subtitle: Design, Implement, Validate, and Prove

  • Authors: Marco T. Morazán

  • Series Title: Texts in Computer Science

  • DOI: https://doi.org/10.1007/978-3-031-43973-5

  • Publisher: Springer Cham

  • eBook Packages: Computer Science, Computer Science (R0)

  • Copyright Information: The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2024

  • Hardcover ISBN: 978-3-031-43972-8Published: 19 December 2023

  • Softcover ISBN: 978-3-031-43975-9Due: 19 January 2024

  • eBook ISBN: 978-3-031-43973-5Published: 18 December 2023

  • Series ISSN: 1868-0941

  • Series E-ISSN: 1868-095X

  • Edition Number: 1

  • Number of Pages: XXIII, 524

  • Number of Illustrations: 125 b/w illustrations, 38 illustrations in colour

  • Topics: Mathematical Logic and Formal Languages, Software Engineering/Programming and Operating Systems

Publish with us