TC-L, LLVM IRΒΆ

2023-TC-L submission is Sunday, April 4th 2021 at 11:42.

This section has been updated for EPITA- 2023 on 2021-10-06.

At the end of this stage, the compiler procudes LLVM IR code. This stage produces an intermediate representation like TC-5, Translating to the High Level Intermediate Representation.

To understand more about this stage you can checkout LLVM.

The dependency for this stage is Clang, A C language family front end for LLVM. You can install it either of a part of the llvm-dev package, or by visiting LLVM Download Page.

This stage makes use of multiple previous stages:

TC-R, Unique Identifiers

All the identifiers have to be unique, in order to translate them to LLVM identifiers (for debug purposes).

TC-D, Removing the syntactic sugar from the Abstract Syntax Tree

The desugar visitor is used to translate for loops and comparison between strings.