Can formal specification techniques be scaled-up to industrial problems such as the development of domain-specific languages and the renovation of large COBOL systems? We have developed a compiler for the specification formalism Asf+Sdf that has been used successfully to meet such industrial challenges. This result is achieved in two ways: the compiler performs a variety of optimizations and generates efficient C code, and the compiled code uses a run-time memory management system based on maximal subterm sharing and mark-and-sweep garbage collection. We present an overview of these techniques and evaluate their effectiveness in several benchmarks. It turns out that execution speed of compiled Asf+Sdf specifications is at least as good as that of comparable systems, while memory usage is in many cases an order of magnitude smaller.

Processors (acm D.3.4), DATA STORAGE REPRESENTATIONS (acm E.2), Grammars and Other Rewriting Systems (acm F.4.2)
Software (theme 1)
CWI
Software Engineering [SEN]
Software Analysis and Transformation

van den Brand, M.G.J, Klint, P, & Olivier, P.A. (1999). Compilation and memory management for ASF+SDF. Software Engineering [SEN]. CWI.