Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A release version of ROSE that passes all regression tests
C C++ FORTRAN Shell TeX PHP Other
Failed to load latest commit information.
LicenseInformation Added more explicit form of BSD license (nothing changed, ROSE has al…
ROSE_ResearchPapers added PGAS paper to publication list
acmacros automake dependency tracking and UPC (gccupc) compiler fix
binaries (Binary Analysis) Example of parsing inter-function instructions
cmake (CMake) fix regular expression for BACKEND_COMPILER_WITHOUT_PATH
config [TileK] Conditionnal compilation for OpenCL and CUDA (RTL and tests).
demo (CMAKE ROSE) enable building of most projects
docs (Support) stringify.[Ch] are no longer automatically generated
exampleTranslators (CMAKE) improve cmake install
projects (Binary Analysis) Show simulator debugger prompt when readline is not…
scripts (Support) Added configure check for GNU readline; protected readline …
src (XOMP) fix malloc issue in xomp_acc_init
tests Merge remote branch 'devel/master' into devel.master
tools (CMAKE) improve cmake install
tutorial Fixed conflict after merge.
winspecific (cleanup) moved MSVS_ROSE and MSVS_project_ROSETTA_empty into winspec…
.gitignore Merge branch 'master' of into …
.gitmodules (submodule and file paths)
CMakeLists.txt (Support) Configurable behavior for failed assertions
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 (config) fix make core, make install-core. Not running make install f…
README dummy change to trigger testing
README.git Fixed conflict after merge.
build (Mac) patch for buidling on Mac OS (Build System) Use AM_SILENT_RULES([yes]) to reduce output spew
nullSemantics2.ans Merge branch 'sawyerbase' into partitioner (Doxygen) updated some information and hide misleading empty placehol… Merge remote-tracking branch 'origin/master' into HEAD Moved ROSE to a directory Merged in Jeremiah changes
traceSymbolicSemantics2.ans Merge branch 'sawyerbase' into partitioner
usedef.ans Merge branch 'sawyerbase' into partitioner


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

  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 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.

                              INSTALLATION INSTRUCTIONS

  See the "Installation Instructions" at the ROSE web site:

Something went wrong with that request. Please try again.