_____ ____ _____ ______ | __ \ / __ \ / ____| ____| | |__) | | | | (___ | |__ | _ /| | | |\___ \| __| | | \ \| |__| |____) | |____ |_| \_\\____/|_____/|______| ROSE compiler -- A compiler infrastructure to build source-to-source program transformation and analysis tools. Version 0.9.5a http://www.rosecompiler.org/ ************************************************************************ 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. The developersScratchSpace is used for the development purposes of the principal authors. It is not intended to be useful for any other purpose. Tests that are useful within the development directory are periodically placed into the appropriate "tests" directories so that they can be used for to define an evolving test suite for ROSE. ************************************************************************ INSTALLATION INSTRUCTIONS ************************************************************************ See the "Installation Instructions" at the ROSE web site: http://www.roseCompiler.org.