Title
Optimizing Pattern Matching Compilation by Program Transformation
Abstract
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 ecient implementation of functional languages as well as rewrite rule based languages, in our case, this combination of algebraic constructs with arbi- trary native data-structures makes the pattern matching algorithm more dicult to compile. In particular, well-known many-to-one automaton-based techniques cannot be used. We present a two-stages approach which first compiles pattern matching constructs in a naive way, and then optimize the resulting code by program transfor- mation using rewriting. As a benefit, the compilation algorithm is simpler, easier to extend, and the resulting pattern matching code is almost as ecient as best known implementations.
Year
DOI
Venue
2006
10.14279/tuj.eceasst.3.33
ECEASST
Keywords
Field
DocType
program transformation,optimization,pattern matching,functional language,programming language,data structure
String searching algorithm,State pattern,Programming language,Program transformation,Functional programming,Computer science,Automaton,Compiler,Theoretical computer science,Rewriting,Pattern matching
Journal
Volume
Citations 
PageRank 
3
3
0.41
References 
Authors
15
2
Name
Order
Citations
PageRank
Emilie Balland123314.22
Pierre-etienne Moreau259840.40