scispace - formally typeset
Journal ArticleDOI

Proof-directed program transformation: A functional account of efficient regular expression matching

TLDR
In this article, an efficient regular expression (regex) matcher using a variety of program transformation techniques, but very little specialized formal language and automata theory, is presented.
Abstract
We show how to systematically derive an efficient regular expression (regex) matcher using a variety of program transformation techniques, but very little specialized formal language and automata theory. Starting from the standard specification of the set-theoretic semantics of regular expressions, we proceed via a continuation-based backtracking matcher, to a classical, table-driven state machine. All steps of the development are supported by self-contained (and machine-verified) equational correctness proofs.

read more

Content maybe subject to copyright    Report

References
More filters
Journal ArticleDOI

Fast Pattern Matching in Strings

TL;DR: An algorithm is presented which finds all occurrences of one given string within another, in running time proportional to the sum of the lengths of the strings, showing that the set of concatenations of even palindromes, i.e., the language $\{\alpha \alpha ^R\}^*$, can be recognized in linear time.
Journal ArticleDOI

Finite automata and their decision problems

TL;DR: Finite automata are considered as instruments for classifying finite tapes as well as generalizations of the notion of an automaton are introduced and their relation to the classical automata is determined.
Book

Partial evaluation and automatic program generation

TL;DR: This paper presents a guide to the literature the self-applicable scheme specializer, a partial evaluator for a subset of scheme for a first-order functional languages.
Book

The Definition of Standard ML (Revised)

TL;DR: Part 1 Syntax of the core: reserved words special constants comments identifiers lexical analysis infixed operators derived forms grammar syntactic restrictions.
Journal ArticleDOI

A framework for defining logics

TL;DR: The Edinburgh Logical Framework provides a means to define (or present) logics through a general treatment of syntax, rules, and proofs by means of a typed λ-calculus with dependent types, whereby each judgment is identified with the type of its proofs.
Related Papers (5)