The purpose of CRSX is to implement an extended higher-order rewriting formalism to facilitate writing compilers and other syntax-directed transformation systems, specifically:
- Special notations for using embedded syntax, even higher order abstract syntax.
- Special support for symbol tables, environments, and attributes, as used in compilers.
- A polymorphic sort system (which in practice means that CRSX systems are contraction schemes).
- CRSX systems can be compiled directly to native code (so far in C or Java (experimental)) for effective execution.
This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0, which accompanies this distribution, and is available at http://opensource.org/licenses/EPL-1.0.