This project is a port of the Recoder package to the C# language. Recoder.C# is written in Java, but works on C# programs.
Recoder.C# is currently in alpha stage. Its basic functionality is already in place, but there is still much work to do. For more information you should check out the documentation.
Still interested? Well, the current version of Recoder.C# can be obtained from the CVS repository. We plan to do a file release in a few weeks. You have to check out the recoder-cs module.
We recommend the Eclipse development environment. Actually the recoder-cs module is an Eclipse project, which should work out of the box with any reasonable Eclipse R2.0 installation. You only need to right click on the recoder-cs folder in the "CVS repositories" view, and choose "Check out as Project".
If you don't like Eclipse (but you like it, don't you :-) ), there is a build.xml for Ant. It is mostly untested, and may not work for you at all. Sorry, we will sort this out in a few weeks (years :-) ).
If you plan to hack on the parser, you have to get the JavaCC parser generator separately. There is a JavaCC plugin for Eclipse, but currently we don't use it. Instead, we have an Ant target named genparser in the mentioned build.xml. The parser itself resides in the templates directory. For more information read the file named README in the same directory.
Recoder - The Java source code transformation library
Inject/J - A tool to simplify Java source transformations. The user is able to write scripts in a simple scripting language to define new transformations. It introduces a more abstract model, and makes use of Recoder to do the actual transformations. If ported to the Recoder.C# library, The system can be used as a C# transformation tool as well.
Goose - A software analysis tool. Makes use of Recoder for parsing Java programs. A second target platform for Recoder.C#.
Recoder.C# is developed at the Forschungszentrum Informatik (FZI) in Karlsruhe in collaboration with the Technical University of Budapest. You can contact the developers on the recoder-cs-devel mailing list. Release news are sent to the recoder-cs-release mailing list.
You may also use the services on the project page.