Optimizing pattern matching compilation by program transformation - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2006

Optimizing pattern matching compilation by program transformation


Motivated by the promotion of rewriting techniques and their use in major industrial applications, we have designed Tom: a pattern matching layer on top of conventional programming languages. The main originality is to support pattern matching against native data-structures like objects or records. While crucial to the efficient implementation of functional languages as well as rewrite rule based languages, in our case, this combination of algebraic constructs with arbitrary native data-structures makes the pattern matching algorithm more difficult to compile. In particular, well-known many-to-one automaton-based techniques cannot be used. We present a two-stages approaches which first compiles pattern matching constructs in a naive way, and then optimize the resulting code by program transformation using rewriting. As a benefit, the compilation algorithm is simpler, easier to extend, and the resulting pattern matching code is almost as efficient as best known implementations.
Fichier principal
Vignette du fichier
paper.pdf (220.96 Ko) Télécharger le fichier

Dates and versions

inria-00000763 , version 1 (17-11-2005)
inria-00000763 , version 2 (06-03-2006)
inria-00000763 , version 3 (15-06-2006)


  • HAL Id : inria-00000763 , version 3


Emilie Balland, Pierre-Etienne Moreau. Optimizing pattern matching compilation by program transformation. 3rd Workshop on Software Evolution through Transformations SeTra 2006, Sep 2006, Natal, Rio Grande do Norte, Brazil. ⟨inria-00000763v3⟩
177 View
263 Download


Gmail Mastodon Facebook X LinkedIn More