ROSE is a tool for building source-to-source translators (sometimes confused with a preprocessor which is generally less sophisticated internally). ROSE is particularly useful in building custom tools that operate on source code for C, C99, C++, F77, F90, & F2003. Fortran support is currently in development as a result of collaboration with Los Alamos National Laboratory to use their version of the Open Fortran Parser (OFP). Our use of ROSE is focused on the development of optimizing source-to-source tools to support development of large scale scientific applications (applications typically about one million lines of code in size).
This Doxygen generated documentation serves as an html reference to classes within the ROSE source code. There are three forms of documentation for ROSE (two of which are available in both postscript and html), more information can be found at:
Available ROSE Documentation.
The ROSE Web Site is the main location to get more information about the ROSE project. Built in 2005, it has been slow to evolve since we wanted to keep a low profile as long as possible while we focused on robustness issues within the ROSE project and infrastructure.
ROSE Web Site
The ROSE Web Reference documents the classes representing the Intermediate Representation (IR) used in ROSE. The IR we use is derived from Sage++ and SageII and is internally referred to as SageIII (with permission from the original authors of Sage++ and SageII).
ROSE Web Reference (this document)
We have three mailing lists for core developers (those who have write access to the internal repository), all developers (anyone who has write access to the internal or external repository) and all users of ROSE (respectively). They are:
(rose-core *at* nersc *dot* gov), web interface: https://mailman.nersc.gov/mailman/listinfo/rose-core
(rose-developer *at* nersc *dot* gov), web interface: https://mailman.nersc.gov/mailman/listinfo/rose-developer
(rose-public *at* nersc *dot* gov), web interface: https://mailman.nersc.gov/mailman/listinfo/rose-public
Note that this information is available in the following files: rose.docs.in (this file, doxygen format), AvailableDocumentation.docs.in (doxygen format), installRose.tex (LaTeX format), and developersAppendix.tex (LaTeX format).
ROSE is a research project which emphasises publication about the new technologies that we are developing, every often as part of external collaborations. Publications specific to the ROSE project can be found at the main ROSE web page.