A Modular Rewriting Approach to Language Design, Evolution and Analysis. by Mark A. Hills