Skip to main content

Regular Expressions and Automata using Haskell

Thompson, Simon (2000) Regular Expressions and Automata using Haskell. Technical report. University of Kent

Download (341kB) Preview
Download (116kB) Preview


The paper begins with definitions of regular expressions, and how strings are matched to them; this also gives our first Haskell treatment also. After describing the abstract data type of sets we define non-deterministic finite automata, and their implementation in Haskell. We then show how to build an NFA corresponding to each regular expression, and how such a machine can be optimised, first by transforming it into a deterministic machine, and then by minimising the state space of the DFA. We conclude with a discussion of regular definitions, and show how recognisers for strings matching regular definitions can be built.

Item Type: Monograph (Technical report)
Uncontrolled keywords: regular expression automaton NFA DFA minimisation matching
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Theoretical Computing Group
Depositing User: Mark Wheadon
Date Deposited: 27 Aug 2009 14:21 UTC
Last Modified: 23 Jan 2020 04:04 UTC
Resource URI: (The current URI for this page, for reference purposes)
Thompson, Simon:
  • Depositors only (login required):


Downloads per month over past year