请输入您要查询的百科知识:

 

词条 ROSE (compiler framework)
释义

  1. The infrastructure

  2. Award

  3. See also

  4. References

  5. External links

{{more citations|date=May 2018}}{{Infobox software
| name = ROSE
| title = ROSE
| logo =
| screenshot =
| caption =
| collapsible =
| author = Daniel J. Quinlan, Chunhua (Leo) Liao, Justin Too, Robb P. Matzke, Markus Schordan, et al.
| developer = Lawrence Livermore National Laboratory
| released =
| discontinued =
| latest release version =
| latest release date =
| latest preview version = 0.9.6a
| latest preview date = {{Start date and age|2016|03|16|df=yes}}
| programming language = C++
| operating system = Linux, OS X
| platform = IA-32, x86-64
| size =
| language = English
| status =
| genre = Compiler
| license = BSD modified
| website = {{URL|rosecompiler.org}}
}}

The ROSE compiler framework, developed at Lawrence Livermore National Laboratory (LLNL), is an open-source software compiler infrastructure to generate source-to-source analyzers and translators for multiple source languages including C (C89, C98, Unified Parallel C (UPC)), C++ (C++98, C++11), Fortran (77, 95, 2003), OpenMP, Java, Python, and PHP.

It also supports certain binary files, and auto-parallelizing compilers by generating source code annotated with OpenMP directives. Unlike most other research compilers, ROSE is aimed at enabling non-experts to leverage compiler technologies to build their own custom software analyzers and optimizers.

The infrastructure

ROSE consists of multiple front-ends, a midend operating on its internal intermediate representation (IR), and backends regenerating (unparse) source code from IR. Optionally, vendor compilers can be used to compile the unparsed source code into final executables.

To parse C and C++ applications, ROSE uses the Edison Design Group's C++ front-end.[1][2] Fortran support, including F2003 and earlier 1977, 1990, and 1995 versions, is based on the Open Fortran Parser (OFP) developed at Los Alamos National Laboratory.[3]

The ROSE IR consists of an abstract syntax tree, symbol tables, control flow graph, etc. It is an object-oriented IR with several levels of interfaces for quickly building source-to-source translators. All information from the input source code is carefully preserved in the ROSE IR, including C preprocessor control structure, source comments, source position information, and C++ template information, e.g., template arguments.

ROSE is released under a BSD-style license. It targets Linux and OS X on both IA-32 and x86-64 platforms. Its Edison Design Group (EDG) parts are proprietary and distributed in binary form. Source files of the EDG parts can be obtained if users have a commercial or research license from EDG.

Award

The ROSE compiler infrastructure received one of the 2009 R&D 100 Awards.[4] The R&D 100 Awards are presented annually by R&D Magazine to recognize the 100 most significant proven research and development advances introduced over the past year. An independent expert panel selects the winners.

See also

  • DMS Software Reengineering Toolkit{{snd}} a source-to-source compiler framework using explicit pattern-directed rewrite rules that handles Fortran and C++

References

1. ^{{cite web|url=http://www.edg.com/index.php?location=c_frontend|title=Edison Design Group's C++ front-end|website=Edg.com}}
2. ^ {{webarchive|url=https://web.archive.org/web/20081224123854/http://www.edg.com/index.php?location=c_frontend|date=2008-12-24}}
3. ^{{cite web|website=Fortran-parser.sourceforge.net|url=http://fortran-parser.sourceforge.net/|title=Open Fortran Parser (OFP)}}
4. ^{{cite web |url=http://www.rdmag.com/award-winners/2009/07/free-compiler-aids-novices-experts |title=Free compiler aids novices, experts |date=30 July 2009 |website=R&D Magazine |publisher=Advantage Business Media |access-date=18 March 2016}}

External links

{{Wikibooks|ROSE Compiler Framework}}
  • {{Official website|www.rosecompiler.org}}
  • [https://web.archive.org/web/20110823215903/https://outreach.scidac.gov/projects/rose/ Development site]
  • {{github|rose-compiler/rose}}
{{Lawrence Livermore National Laboratory|state=autocollapse}}{{FOSS}}

8 : Compilers|C compilers|C++ compilers|Fortran compilers|Free compilers and interpreters|Lawrence Livermore National Laboratory|Source-to-source compilers|Software using the BSD license

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 18:23:30