README
January 28, 2015 ยท View on GitHub
| __ \ / __ \ / | | | |) | | | | ( | | | _ /| | | |_ | | | | \ | || |__) | |___ || _\/|/|____|
ROSE compiler -- A compiler infrastructure to build source-to-source program transformation and analysis tools. Version 0.9.6a
ROSE Project Goal
The goal of ROSE is to provide the support required to easily build tools that operate on source code (analyzing or optimizing). ROSE is a library that makes it easy to build a wide range of tools from optimizing source-to-source compilers to special purpose analysis tools. ROSE supports, Fortran (66,77/95/2003), C89, C99, C++, OpenMP, UPC, and PHP. ROSE is part of ongoing collaborations with many external groups worldwide.
Intended Audience
Anyone building tools to operate on source code. These can be source-to-source optimization translators (optimizing compilers), debugging tools, software analysis tools, etc. ROSE is a library that can be used to build a wide range of tools that operate on source code (either just reading it to do analysis, or reading and writing it to do transformations, or just writing it to support code generation.
Documentation
Documentation is located at http://www.roseCompiler.org. The ROSE
distributions no longer (as of July 2008) contain a built copy of the ROSE documentation.
Research Papers
Most of the research papers published on ROSE are contained in the
ROSE/RESEARCH_PAPERS directory. Also included is information about where they were published.
Current Development and Examples
Although ROSE is a mechanism for building source-to-source translators, the
current development environment builds just one translator (ROSE/src/rose) and it is used to test the functionality of the many subsystems being added to ROSE. The goal of course is that the user uses ROSE to build his/her own preprocessor and would use one or more of the subsystems that are provided within ROSE. The ROSE/ExamplePreprocessors directory contains several example translators which demonstrate different features of ROSE. Some represent work in progress specific to collaborations with different outside projects.
ROSE Directories
The "src" directory contains all source code for ROSE (including optional parts of ROSE)
The "tests" directory contains several subdirectories of test codes which can be used to test the current version of ROSE.
INSTALLATION INSTRUCTIONS
See the "Installation Instructions" at the ROSE web site: http://www.roseCompiler.org.