
Rose: Compiler Infrastructure for Source-to-Source Program Transformation - ingve
https://github.com/rose-compiler/rose-develop#readme
======
zem
seems similar in spirit to facebook's
[pfff]([https://github.com/facebook/pfff](https://github.com/facebook/pfff))

------
agumonkey
Long ago I found this:

[https://www.reddit.com/r/lisp/comments/1totwx/some_useful_li...](https://www.reddit.com/r/lisp/comments/1totwx/some_useful_lisp_algorithms_part_2_pretty/)

lisp to pascal .. with vanilla pretty-printer customization

~~~
kazinator
> Chapter 1 published as "Using the New Common Lisp Pretty Printer", _ACM Lisp
> Pointers_ , 5(2):27 34, April 1992\. Copyright (c) Mitsubishi Electric
> Research Laboratories, 1991

Someone wasn't getting any electric research done, that's for sure.

~~~
lispm
I once saw this machine (from ten meters away :-( ):

[http://museum.ipsj.or.jp/en/computer/other/0009.html](http://museum.ipsj.or.jp/en/computer/other/0009.html)

------
fernly
So... is the idea to be like Pandoc[1], but for programming languages? Like,
with the current support, could you write a PHP-to-Fortran89 translator?
(Assuming you would want to)

[1] [https://pandoc.org/](https://pandoc.org/)

------
pcstl
While this seems very nice, I'm a bit disappointed to see that it seems
focused only on C, Fortran and PHP. Since it seems that ROSE operates directly
on ASTs, I see no reason why the project couldn't be language-agnostic if
given appropriate information about the AST to be processed.

(Of course, as this project was originally started for the DOE's purposes, it
seems that it might just be a matter of simplicity)

~~~
xiii1408
ROSE has been around for a long time, and from what I've heard there's tons of
legacy code. I wouldn't be surprised if there's significant technical debt or
other structural limitations.

That said, I don't really know anything firsthand about the architecture.

------
yazr
Has anyone integrated "program analysis" algorithms into ROSE?

Even basic stuff like Steensgaard, Andersen can take a lot of effort to
integrate into new frameworks

~~~
tom_mellior
There are a bunch of analyses at [https://github.com/rose-compiler/rose-
develop/tree/master/sr...](https://github.com/rose-compiler/rose-
develop/tree/master/src/midend/programAnalysis), it wasn't that hard to get
there with four clicks.

Of the ones you mentioned, there is what appears to be a Steensgaard analysis.

------
azhenley
Looks really cool. From a quick look, it seems to be for writing analyzers and
optimizers on your code. It supports Fortran, C, C++, OpenMP, UPC, and PHP.

------
stevefan1999
I thought it was like Babel. Turns out it was way more than that.

