Babelfish UAST

In the Babelfish documentation, you will find detailed information about Babelfish specifications, usage, examples, etc.

One of the most important components of source{d} CE is the UAST, which stands for: Universal Abstract Syntax Tree.

UASTs are a normalized form of a programming language's AST, annotated with language-agnostic roles and transformed with language-agnostic concepts (e.g. Functions, Imports, etc.).

These enable an advanced static analysis of code and easy feature extraction for statistics or Machine Learning on Code.

UAST Usage

From the web interface, you can use the UAST tab, to parse files by direct input, or you can also get UASTs from the SQL Lab tab, using the UAST(content) gitbase function.

For the whole syntax about how to query the UASTs, you can refer to How To Query UASTs With Babelfish

Supported Languages

To see which languages are available, check the table of Babelfish supported languages.

Clients and Connectors

The language parsing server (Babelfish) is available from the web interface, but you can also connect to the parsing server, deployed by source{d} CE, with several language clients, currently supported and maintained: