\subsubsubsection{Lenguaje de Programación Compilado}
El proyecto LLVM es un conjunto de tecnologías de compilador y toolchain, lo cual permite crear un lenguaje propio de programación. \cite{LLVM-Cookbook}

\begin{figure}[H]
    \centering
    \includegraphics[width=0.3\textwidth, height=0.3\textheight, keepaspectratio]{figures/llvm.png}
    \caption{LLVM}
    \label{fig:llvm}
\end{figure}

El LLVM consiste de varios sub-proyectos, pero el que será utilizado principalmente es LLVM Core.
Este sub-proyecto contiene un optimizador y generador de código, siendo este último llamado LLVM Intermediate Representation(LLVM IR). La funcionalidad es similar a una Virtual Machine de bytecode que es portátil y se puede correr en cualquier sistema que posee el LLVM.

Otro aspecto importante de LLVM es que se puede utilizar el LLVM IR que fue generado para después compilarlo a lenguaje máquina para la arquitectura computacional que se desee. Luego, el código objeto generado se puede utilizar con un linker para crear librerías y binarios, lo que tendrá importancia al querer integrar el código que compila nuestra compilador en el motor Godot.