CX
Stratego -- Strategies for Program Transformation
Introduction
CX is an aterm bridge for
CIL, an existing C front-end implement in OCaml. The Stratego/XT-based package CX uses this bridge to read C code. CX will become a full set of tools for combining CIL and Stratego for the implementation of C transformations and analysis. The main difference with other Stratego/XT projects that provide support for C (Transformers) is that this uses an existing C front-end and not an
SDF-based parser. The advantage is that you get the solid support of the existing frontend. CIL supports some C dialects as well. The disadvantage is that there is no grammar from which you can derive useful things for use with Stratego/XT.
Features
- C to ATerm bridge based on CIL
- Pretty-printer from CIL to C
Download
Latest Developments
Distributions (tarball, rpm, srpm) of the head revision are created continuously:
The distributions contain the latest of the latest developments, but if you really want to, the latest sources can be checked out using:
svn checkout https://svn.strategoxt.org/repos/StrategoXT/cx/trunk
Before you can configure the package as described above you have to run the
./bootstrap
script.
Installation
Install the package with the usual sequence of commands:
$ ./configure
$ make
$ make install
You might need to set your
PKG_CONFIG_PATH
if you did not install the dependencies in a standard location. Configure will tell you to do this if it cannot find aterm, sdf or strategoxt.
Project Info
Issue Tracking
We use JIRA to keep track of issues. Please report any issues that you encounter!
Contact and Mailing List
Please send questions to the
stratego@cs.uu.nl mailing list. Also, the CX developers are usually available on IRC at
irc.freenode.net/stratego. Feel free to drop by!
Source Repository
The sources of CX are available from Subversion.
Team
Contributors:
License
CX is GPL (GNU General Public License) software.
Related Software