Skip to content
João Bispo edited this page Oct 7, 2021 · 1 revision

Introduction

Kadabra is a Java source-to-source compiler. It parses code into an Abstract-Syntax Tree (AST), which you can analyze or transform a custom script and generate the code again.

It is based on the LARA framework, so it uses scripts written in LARA or JavaScript to analyze and transform the AST.

Kadabra AST

Kadabra uses the concept of "join points" to refer to points of interest that can be selected in the underlying AST. They work as a wrapper around the AST nodes, and are a key concept in the LARA framework which allows to reuse the same technology across source-to-source compilers for different languages.

The image below shows the available join points in Kadabra, and their class hierarchy relationships:

Kadabra Join Point Hierarchy

Clone this wiki locally