Journal of the ACM · 1992 · 53 citations · 11 references
ComputingComputer ScienceAlgorithmsProgramming LanguagesTheory Of ComputationAbstract Syntax TreesSearching AlgorithmsMatching AlgorithmsPattern MatchingPattern Matching AlgorithmsSymbolic ComputationTerm RewritingTerm Rewriting SystemsTree AlgorithmsTree Pattern Matching
Tree pattern matching is a fundamental operation that is used in a number of programming tasks such as mechanical theorem proving, term rewriting, symbolic computation, and nonprocedural programming languages. In this paper, we present new sequential algorithms for nonlinear pattern matching in trees. Our algorithm improves upon know tree pattern matching algorithms in important aspects such as time performance, ease of integration with several reduction strategies and ability to avoid unnecessary computation steps on match attempts that fail. The expected time complexity of our algorithm is linear in the sum of the sizes of the two trees.
11
Alfred V. Aho, Margaret J. Corasick · Communications of the ACM · 1975 · 2.9K citations · Full text
Kokichi Futatsugi, Joseph A. Goguen, Jean-Pierre Jouannaud et al. · 1985 · 468 citations
Christoph M. Hoffmann, Michael J. O’Donnell · Journal of the ACM · 1982 · 440 citations · Full text
Variations on the Common Subexpression Problem
Peter J. Downey, Ravi Sethi, Robert E. Tarjan · Journal of the ACM · 1980 · 350 citations · Full text
Robin Milner · 1984 · 255 citations · Full text