Hostname: page-component-89b8bd64d-rbxfs Total loading time: 0 Render date: 2026-05-13T18:09:22.540Z Has data issue: false hasContentIssue false

Regular-expression derivatives re-examined

Published online by Cambridge University Press:  01 March 2009

SCOTT OWENS
Affiliation:
University of Cambridge (e-mail: Scott.Owens@cl.cam.ac.uk)
JOHN REPPY
Affiliation:
University of Chicago (e-mail: jhr@cs.uchicago.edu)
AARON TURON
Affiliation:
University of Chicago, Northeastern University (e-mail: turon@ccs.neu.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Regular-expression derivatives are an old, but elegant, technique for compiling regular expressions to deterministic finite-state machines. It easily supports extending the regular-expression operators with boolean operations, such as intersection and complement. Unfortunately, this technique has been lost in the sands of time and few computer scientists are aware of it. In this paper, we reexamine regular-expression derivatives and report on our experiences in the context of two different functional-language implementations. The basic implementation is simple and we show how to extend it to handle large character sets (e.g., Unicode). We also show that the derivatives approach leads to smaller state machines than the traditional algorithm given by McNaughton and Yamada.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2009
Submit a response

Discussions

No Discussions have been published for this article.