Subtree matching by 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 nonprocedural 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 and postfix 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 is then 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]  Borivoj Melichar,et al.  Subtree matching by deterministic pushdown automata , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[2]  Jan Holub,et al.  Proceedings of the Prague Stringology Conference 2009 , 2009 .

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

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

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

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

[7]  Maya Madhavan,et al.  A new algorithm for linear regular tree pattern matching , 2000, Theor. Comput. Sci..

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

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

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

[11]  Richard Cole,et al.  Tree pattern matching and subset matching in deterministic O(n log3 n)-time , 1999, SODA '99.

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

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

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

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

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

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

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

[19]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

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

[21]  Zvi Galil,et al.  Faster tree pattern matching , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[22]  David R. Chase,et al.  An improvement to bottom-up tree pattern matching , 1987, POPL '87.