Renaissance-Ada
Renaissance-Ada copied to clipboard
Tooling for analysis and manipulation of Ada software
The current implementation of match pattern fails in some cases. This is however not needed. ($M_X, $M_X) fails on (1,2,3,1,2,3) ($M_X, 1,1, $M_Y) fails on (1,2,1,1,3,4) ($M_X, $S_Y, $S_Z) fails...
See https://blog.adacore.com/ada-202x-support-in-gnat e.g. replace ``` for E of Some_Array loop if E /= 0 then Put_Line (E'Image); end if; end loop; ``` by ``` for E of Some_Array when E...
Since human resource are typically scarce within organizations, we are preferring only to change when we are absolutely certain that no compiler error or warning is introduced. Consequently, our users...
The reimplementation of part of the rejuvenation library in python by the [Haystack-Ada project](https://github.com/BurritoZz/Haystack-Ada) does not use our current solution that needs generated code. Could we also simplify our solution...
When running the cyper query ``` MATCH (user:AdaDeclaration)-[:References]->(provider:AdaDeclaration), (user)-[:Source]->(file:File), (provider)-[:Source]->(adsFile:AdaSpecificationFile) WHERE adsFile.name ENDS WITH "rejuvenation.ads" RETURN file, count(user) ORDER BY count(user) DESC ``` on the current graphml file from rejuvenation...
We have found some case, like Max, Min and X - X, where the replacement needs the type like Integer'Max, Float'Min and Float(0). How can we prevent that we have...
In the rejuvenation library, we have the find, check & replace functionality. To write checks easily, you want to use the new placeholder functionality in the rewriters library. So this...
Our current rewrite lib has some limitations. For example, currently we don't support the following rewrite ### use element instead of index when index is only used to access elements...
For many find and replacements, we need to support lists of complex AST nodes. For example to rewrite a function to a function expression, we need to specify the list...
Patterns currently reuse LibAdaLang's parse rules. However, we only need 3 or 4 kinds * Expression * List of Statements * List of Declarations * Package Could we simplify the...