Skip to content

Fortran source-to-source compiler based on the LARA framework.

License

Notifications You must be signed in to change notification settings

specs-feup/fortran-transpiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fortran-transpiler

Fortran source-to-source compiler based on the LARA framework.

Previous Work

This compiler will be heavily inspired by Clava, a C/C++ source-to-source compiler that is also based on the LARA framework.

Clava already supports the following transformations:

Roadmap

The next steps for the Fortran source-to-source compiler are as follows:

  • Developing an AST-based IR to represent Fortran that is capable of generating Fortran code back from the IR [Java]
  • Dumper based on the Flang parser capable of outputting the necessary information to reconstruct an IR of the source code [C++]
  • Base API [TypeScript]
  • Library for Fortran transformations, which should include [TypeScript]:
    • Loop unrolling
    • Loop tiling
    • Loop interchange
    • Loop fission
    • Loop fusion
    • Loop-invariant code motion
    • Loop peeling
    • Loop strip-mining
    • OpenMP directive transformations. These tranformations should transform code with OpenMP directives not-yet supported by Flang into code with supported directives. The particular transformations to target are dependent of inputs from partners

About

Fortran source-to-source compiler based on the LARA framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published