More efficient bottom-up tree pattern matching
J. Cai1, R. Paige1 and R. Tarjan2, 3
| (1) |
Dept. of Computer Science, NYU/Courant Institute, 10012 New York, NY |
| (2) |
Dept. of Computer Science, Princeton University, 08540 Princeton, NJ |
| (3) |
NEC Research Institute, 4 Independence Way, 08544 Princeton, NJ |
Abstract
Pattern matching in trees is fundamental to a variety of programming language systems. However, progress has been slow in satisfying a pressing need for general purpose pattern matching algorithms that are efficient in both time and space. We offer asymptotic improvements in both time and space to Chase's bottom-up algorithm for pattern preprocessing. Our preprocessing algorithm has the additional advantage of being incremental with respect to pattern additions and deletions. We show how to modify our algorithm using a new decomposition method to obtain a space/time tradeoff. Finally, we trade a log factor in time for a linear space bottom-up pattern matching algorithm that handles a wide subclass of Hoffmann and O'Donnell's Simple Patterns.
1. Part of this work was done while Paige was a summer faculty at IBM T. J. watson Research Center. This work is also partly based on research supported by the Office of Naval Research under Contract No. N00014-87-0461
2. Research at Princeton University partially supported by DIMACS (Center for Discrete Mathematics and Theoretical Computer Science), a National Science Foundation Science and Technology Center, grant NSF-STC88-09648, and the Office of Naval Research, contract N00014-87-K-0467
References secured to subscribers.