Pattern-matching algorithms based on term rewrite systems

Joost P. Katoen, Albert Nymeyer

    Research output: Contribution to journalArticleAcademicpeer-review


    Automatic code generators often contain pattern matchers that are based on tree grammars. In this work we generalise this approach by developing pattern matchers that are based on more powerful term rewrite systems. A pattern matcher based on a term rewrite system computes all the sequences of rewrite rules that will reduce a given expression tree to a given goal. While the number of sequences of rewrite rules that are generated is typically enormous, the vast majority of sequences are in fact redundant. This redundancy is caused by the fact that many rewrite sequences are permutations of each other. A theory and a series of algorithms are systematically developed that identify and remove two types of redundant rewrite sequences. These algorithms terminate if rewrite sequences do not diverge.
    Original languageUndefined
    Article number10.1016/S0304_3975(00)00041-4
    Pages (from-to)439-463
    Number of pages25
    JournalTheoretical computer science
    Issue number1-2
    Publication statusPublished - 2000


    • IR-63255
    • METIS-118692
    • EWI-6372

    Cite this