Subtree matching by deterministic pushdown automata

Subtree matching is an important problem in Computer Science on which a number of tasks, such as mechanical theorem proving, term-rewriting, symbolic computation and non-procedural programming languages are based on. A systematic approach to the construction of subtree pattern matchers by deterministic pushdown automata, which read subject trees in prefix notation, is presented. The method is analogous to the construction of string pattern matchers: for a given pattern, a nondeterministic pushdown automaton is created and then it is determinised. In addition, it is shown that the size of the resulting deterministic pushdown automata directly corresponds to the size of the existing string pattern matchers based on finite automata.

[1]  Salil P. Vadhan,et al.  Computational Complexity , 2005, Encyclopedia of Cryptography and Security.

[2]  Jean Berstel,et al.  Transductions and context-free languages , 1979, Teubner Studienbücher : Informatik.

[3]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[4]  Leslie G. Valiant,et al.  Deterministic One-Counter Automata , 1975, J. Comput. Syst. Sci..

[5]  Borivoj Melichar,et al.  On regular tree languages and deterministic pushdown automata , 2009, Acta Informatica.

[6]  Wojciech Rytter,et al.  Jewels of stringology , 2002 .

[7]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[8]  Maxime Crochemore,et al.  Automata for Matching Patterns , 1997, Handbook of Formal Languages.

[9]  Grzegorz Rozenberg,et al.  Handbook of Formal Languages , 1997, Springer Berlin Heidelberg.

[10]  Alfred V. Aho,et al.  The Theory of Parsing, Translation, and Compiling , 1972 .

[11]  Ferenc Gécseg,et al.  Tree Languages , 1997, Handbook of Formal Languages.

[12]  Jan Janousek,et al.  String Suffix Automata and Subtree Pushdown Automata , 2009, Stringology.

[13]  Grzegorz Rozenberg,et al.  Word, language, grammar , 1997 .

[14]  William F. Smyth,et al.  Computing Patterns in Strings , 2003 .

[15]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[16]  Christoph M. Hoffmann,et al.  Pattern Matching in Trees , 1982, JACM.

[17]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .