C-sharp

AVS C# parser

Tuesday, March 29th, 2005

Thanks to Alex Sedow for a link to AVS Software, which produces a pair of C# parsers for compilers and source-to-source translators. From the site:

The compilation parser is designed for applications that require converting source code into the internal format as fast as possible. Only the significant data required for correct analysis of the program is preserved. This parser is useful for the development of compilers, interpreters, analyzers and other tools that do not require modification of source code.
The transformation parser preserves all information in the program’s source code (including comments, spaces and preprocessing directives). This parser is useful for the development of refactoring and formatting utilities and other programs that do transformations on the program’s source code.

DMS Software Reengineering Toolkit

Sunday, April 18th, 2004

Thanks to Ira Baxter for a pointer to the DMS Software Reengineering Toolkit. According to the web page,

The DMS Software Reengineering Toolkit is a set of tools for automating customized source program analysis, modification or translation or generation of software systems, containing arbitrary mixtures of languages (“domains”). The term “software” for DMS is very broad and covers any formal notation, including programming languages, markup languages, hardware description languages, design notations, data descriptions, etc.

Predefined frontends exist for many programming, hardware, and markup languages, including Ada, C, C++, C#, Cobol, Fortran, HTML, IDL, Java, Mathematica, Matlab, Motorola 68k assembly, Pascal, PHP, Verilog, VHDL, Visual Basic, and XML; it is apparently also possible to define new frontends.

Compiler Generator Coco/R

Thursday, April 15th, 2004

Thanks to Mykola Rabchevskiy for a pointer to Coco/R, a scanner/parser generator from the University of Linz. It generates source for C# and Java; there are also (apparently unsupported) versions that generate code for Oberon, Pascal, Modula-2, C, C++, Delphi, and Unicon. Coco/R generates recursive descent parsers and scanners from an attributed grammar and is distributed under the GNU GPL.

treecc

Friday, April 9th, 2004

treecc is a tool for building programs that operate on trees (as such, it does not fit neatly into the two “Tools:” categories I have placed it in). It will generate code for C, C++, C#, and Java, and is notable for its aspect-oriented approach to compiler construction.

ANTLR Parser Generator and Translator Generator Home Page

Thursday, April 1st, 2004

The ANTLR Parser Generator and Translator Generator is a well-regarded tool to aid in generating compiler frontends in Java, C# or C++. From the web page:

ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, or C++ actions. ANTLR provides excellent support for tree construction, tree walking, and translation.

Thanks to Mulhern for the suggestion.