Tutorials for ROSE
This series of tutorials will help you
-
Get familiar with the key concepts of ROSE
-
Write your own code analyzers
-
Build customized code translators
-
Debug your translators
-
Try out prebuilt ROSE-based tools
Hands-on Learning
Give ROSE a try with the following tutorials:
Getting Started with ROSE
- This is a short introduction to ROSE, its features and use cases, and how to use it.
Getting Familiar with the ROSE AST
- This is a tutorial to use a few tools to visualize AST.
- This is a tutorial to build your own tool traversing ROSE AST to find things of your interests.
- This is a tutorial for working with more complex types when traversing the ROSE AST.
- Check your understanding with the Practical for this chapter.
- Evaluate your understanding with the Exam for this chapter.
- This is a tutorial for debugging ROSE translators.
- This is a tutorial for supporting a unknown Clang IR in ROSE.
Program Transformation and Optimization
AST Modification - Declarations and Expressions
- This is part one of a two-part tutorial on AST modification for source-to-source transformations.
AST Modification - Functions and Function Calls
- This is part two of a two-part tutorial on AST modification for source-to-source transformations.
- This is a tutorial on using the inline mechanism in ROSE for inlining transformations.
- This is a tutorial on using the outline mechanism in ROSE for outlining transformations.
- This is a tutorial for performing loop optimizations with ROSE.
Parallelism
Trying autoPar - Auto Parallelization Tool in ROSE
- This is a tool which can automatically insert OpenMP pragmas into input serial C/C++ codes.
Fixing a Bug in OpenMP Implementation
- This tutorial is to show how to fix OpenMP implementation bugs in ROSE compiler.
Working with OpenMP Directives in the ROSE AST
- This is a tutorial for working with OpenMP directives in ROSE.
- Check your understanding with the Practical for this chapter.
- Evaluate your understanding with the Exam for this chapter.