School of Computing

Regular Expressions and Automata using Miranda

Simon Thompson

May 1995.

Abstract

In these notes Miranda is used as a vehicle to introduce regular expressions, pattern matching, and their implementations by means of non-deterministic and deterministic automata.

As part of the material, we give an implementation of the ideas, contained in a set of files. References to this material are scattered through the text. The files can be obtained by following the instructions in

\medskip \noindent {\tt http://www.ukc.ac.uk/computer\_science/Miranda\_craft/regExp.html}

\medskip \noindent This material is based on the treatment of the subject in `the Dragon book', but provides full implementations rather than their pseudo-code versions of the algorithms.

The material gives an illustration of many of the features of Miranda, including polymorphism (the states of an NFA can be represented by objects of any type); modularisation (the system is split across a number of modules); higher-order functions (used in finding limits of processes, for example) and other features.

Download publication 37 kbytes

Bibtex Record

@unpublished{212,
author = {Simon Thompson},
title = {{Regular Expressions and Automata using Miranda}},
month = {May},
year = {1995},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/1995/212},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014