Rewriting with Layout

Mark G. J. van den Brand, Jurgen J. Vinju. Rewriting with Layout. In Claude Kirchner, Nachum Dershowitz, editors, Proceedings of RULE. 2000. [doi]


Rewriting technology has proved to be an adequate and powerful mechanism to perform source code transformations. These transformations can not only be efficiently implemented using rewriting technology, but it also provides a firmer grip on the source code syntax. However, an important shortcoming of rewriting technology is that source code comments and layout are lost during rewriting. We propose “rewriting with layout” to solve this problem. We present a rewriting algorithm that keeps the layout of sub-terms that are not rewritten, and reuses the layout occurring in the right-hand side of the rewrite rules.