Canonical derivatives, partial derivatives and finite automaton constructions

  • Authors:
  • J.-M. Champarnaud;D. Ziadi

  • Affiliations:
  • Université de Rouen, LIFAR, Place E Blondel, F-76821 Mont-Saint-Aignan Cedex, France;Université de Rouen, LIFAR, Place E Blondel, F-76821 Mont-Saint-Aignan Cedex, France

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2002

Quantified Score

Hi-index 5.23

Visualization

Abstract

Let E be a regular expression. Our aim is to establish a theoretical relation between two well-known automata recognizing the language of E, namely the position automaton PE constructed by Glushkov or McNaughton and Yamada, and the equation automaton EE constructed by Mirkin or Antimirov. We define the notion of c-derivative (for canonical derivative) of a regular expression E and show that if E is linear then two Brzozowski's derivatives of E are aci-similar if and only if the corresponding c-derivatives are identical. It allows us to represent the Berry-Sethi's set of continuations of a position by a unique c-derivative, called the c-continuation of the position. Hence the definition of CE, the c-continuation automaton of E, whose states are pairs made of a position of E and of the associated c-continuation. If states are viewed as positions, CE is isomorphic to PE. On the other hand, a partial derivative, as defined by Antimirov, is a class of c-derivatives for some equivalence relation, thus CE reduces to EE. Finally CE makes it possible to go from PE to EE, while this cannot be achieved directly (from the state graphs). These theoretical results lead to an O(|E|2) space and time algorithm to compute the equation automaton, where |E| is the size of the expression. This is the complexity of the most efficient constructions yielding the position automaton, while the size of the equation automaton is not greater and generally much smaller than the size of the position automaton.