Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A compiler infrastructure to build source-to-source program transformation and analysis tools.
branch: master
Failed to load latest commit information.
LicenseInformation Added more explicit form of BSD license (nothing changed, ROSE has al…
ROSE_ResearchPapers (Docs) Add TALC publication (Keasler, et al) to publication list
acmacros automake dependency tracking and UPC (gccupc) compiler fix
binaries Merge master branch and update nanos library support
cmake Merge branch 'cmake_on_windows' into cmake_config_options
config Merge branch 'royuelaalcaz1-openmp_tasks_arrays_bug' into royuelaalca…
demo (CMAKE ROSE) enable building of most projects
docs Merge branch 'royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_depende…
exampleTranslators (CMAKE ROSE) export more symbols from our .dlls
projects Fix old reference to lowering function in mint project
rose-diff-04-04-13 Fix default location; Fix mangled name for Java parameterized types; …
scripts Merge branch 'cmake_on_linux' into merge
src Remove innecessary path from cmake list
tests Newer version of autotools detects error in Makefile
tools Fixed permission related problem
tutorial Merge branch 'cmake_config_options' of…
winspecific (cleanup) moved MSVS_ROSE and MSVS_project_ROSETTA_empty into winspec…
.gitignore (Git) Added EDB cache files to the list of ignored files
.gitmodules (VulnerabilitySeeding) Added submodule directory
CMakeLists.txt Fix CMakeLists for OpenMP lowering with Nanos
COPYRIGHT Added jar files for ANTLR into ROSE source tree, changing things to i…
ChangeLog Merge branch 'cl-main-rc' of /nfs/casc/overture/ROSE/git/ROSE into liao
ChangeLog2 minor change to trigger Hudson again Addressed all of the code reviewer's comments and added more document…
README (Documentation) Add banner to main README.
README.git Merge commit 'a55bc22965d007aa22145636e4eb654d3c3646ee' into HEAD
build Adding new work on compiler-independent many-core runtime system. switched to the backwards-compatible serial test harness supported by… (Doxygen) updated some information and hide misleading empty placehol… Merge branch 'cmake_on_windows' into cmake_config_options Moved ROSE to a directory Merged in Jeremiah changes


   _____   ____   _____ ______
  |  __ \ / __ \ / ____|  ____|
  | |__) | |  | | (___ | |__
  |  _  /| |  | |\___ \|  __|
  | | \ \| |__| |____) | |____
  |_|  \_\\____/|_____/|______|

  ROSE compiler -- A compiler infrastructure to build source-to-source program
                   transformation and analysis tools.
  Version 0.9.5a

                             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 is located at The ROSE
  distributions no longer (as of July 2008) contain a built copy of the ROSE

                                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:

Something went wrong with that request. Please try again.