Abstract
A number of different techniques have been introduced in the last few decades to create ε-free automata representing regular expressions such as the Glushkov automata, follow automata, or Antimirov automata. This paper presents a simple and unified view of all these construction methods both for unweighted and weighted regular expressions. It describes simpler algorithms with time complexities at least as favorable as that of the best previously known techniques, and provides a concise proof of their correctness. Our algorithms are all based on two standard automata operations: epsilon-removal and minimization. This contrasts with the multitude of complicated and special-purpose techniques previously described in the literature, and makes it straightforward to generalize these algorithms to the weighted case. In particular, we extend the definition and construction of follow automata to the case of weighted regular expressions over a closed semiring and present the first algorithm to compute weighted Antimirov automata.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, Principles, Techniques and Tools. Addison-Wesley, Reading (1986)
Antimirov, V.M.: Partial derivatives of regular expressions and finite automaton constructions. Theoretical Computer Science 155(2), 291–319 (1996)
Berry, G., Sethi, R.: From regular expressions to deterministic automata. Theoretical Computer Science 48(3), 117–126 (1986)
Brüggemann-Klein, A.: Regular expressions into finite automata. Theoretical Computer Science 120(2), 197–213 (1993)
Caron, P., Flouret, M.: Glushkov construction for series: the non commutative case. International Journal of Computer Mathematics 80(4), 457–472 (2003)
Champarnaud, J.-M., Laugerotte, É., Ouardi, F., Ziadi, D.: From regular weighted expressions to finite automata. In: H. Ibarra, O., Dang, Z. (eds.) CIAA 2003. LNCS, vol. 2759, pp. 49–60. Springer, Heidelberg (2003)
Champarnaud, J.-M., Nicart, F., Ziadi, D.: Computing the follow automaton of an expression. In: Domaratzki, M., Okhotin, A., Salomaa, K., Yu, S. (eds.) CIAA 2004. LNCS, vol. 3317, pp. 90–101. Springer, Heidelberg (2005)
Champarnaud, J.-M., Ziadi, D.: Computing the equation automaton of a regular expression in O(s 2) space and time. In: Amir, A., Landau, G.M. (eds.) CPM 2001. LNCS, vol. 2089, pp. 157–168. Springer, Heidelberg (2001)
Chang, C.-H., Page, R.: From regular expressions to DFA’s using compressed NFA’s. Theoretical Computer Science 178(1-2), 1–36 (1997)
Giammarresi, D., Ponty, J.-L., Wood, D.: Glushkov and Thompson constructions: a synthesis (1998), http://www.cs.ust.hk/tcsc/RR/1998-11.ps.gz
Glushkov, V.M.: The abstract theory of automata. Russian Mathematical Surveys 16, 1–53 (1961)
Ilie, L., Yu, S.: Follow automata. Information and Computation 186(1), 146–162 (2003)
Kleene, S.C.: Representations of events in nerve sets and finite automata. In: Shannon, C.E., McCarthy, J., Ashby, W.R. (eds.) Automata Studies, pp. 3–42. Princeton University Press, Princeton (1956)
Lehmann, D.J.: Algebraic structures for transitives closures. Theoretical Computer Science 4, 59–76 (1977)
Lombardy, S., Sakarovitch, J.: Derivatives of rational expressions with multiplicity. Theoretical Computer Science 332(1-3), 142–177 (2005)
McNaughton, R., Yamada, H.: Regular expressions and state graphs for automata. IEEE Transactions on Electronic Computers 9(1), 39–47 (1960)
Mohri, M.: Finite-State Transducers in Language and Speech Processing. Computational Linguistics 23, 2 (1997)
Mohri, M.: Generic e-removal and input e-normalization algorithms for weighted transducers. International Journal of Foundations of Computer Science 13(1), 129–143 (2002)
Mohri, M.: Semiring Frameworks and Algorithms for Shortest-Distance Problems. Journal of Automata, Languages and Combinatorics 7(3), 321–350 (2002)
Navarro, G., Raffinot, M.: Fast regular expression search. In: Vitter, J.S., Zaroliagis, C.D. (eds.) WAE 1999. LNCS, vol. 1668, pp. 198–212. Springer, Heidelberg (1999)
Navarro, G., Raffinot, M.: Flexible pattern matching. Cambridge University Press, Cambridge (2002)
Ponty, J.-L., Ziadi, D., Champarnaud, J.-M.: A new quadratic algorithm to convert a regular expression into automata. In: Raymond, D.R., Yu, S., Wood, D. (eds.) WIA 1996. LNCS, vol. 1260, pp. 109–119. Springer, Heidelberg (1997)
Schützenberger, M.-P.: On the definition of a family of automata. Information and Control 4, 245–270 (1961)
Thompson, K.: Regular expression search algorithm. Communications of the ACM 11(6), 365–375 (1968)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Allauzen, C., Mohri, M. (2006). A Unified Construction of the Glushkov, Follow, and Antimirov Automata. In: Královič, R., Urzyczyn, P. (eds) Mathematical Foundations of Computer Science 2006. MFCS 2006. Lecture Notes in Computer Science, vol 4162. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821069_10
Download citation
DOI: https://doi.org/10.1007/11821069_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37791-7
Online ISBN: 978-3-540-37793-1
eBook Packages: Computer ScienceComputer Science (R0)