informe/sections/marco_teorico/desarrollo_videojuegos/llvm.tex

14 lines
1.1 KiB
TeX
Raw Normal View History

2022-06-03 16:26:48 -04:00
\subsubsubsection{Lenguaje de Programación Compilado}
2022-07-14 21:05:55 -04:00
El proyecto LLVM es un conjunto de tecnologías de compilador y toolchain, el cual permite crear un lenguaje propio de programación. \cite{LLVM-Cookbook}
2022-06-03 16:26:48 -04:00
\begin{figure}[H]
\centering
\includegraphics[width=0.3\textwidth, height=0.3\textheight, keepaspectratio]{figures/llvm.png}
\caption{LLVM}
\label{fig:llvm}
\end{figure}
2022-07-14 21:05:55 -04:00
LLVM consiste de varios sub-proyectos, pero el que será utilizado principalmente es ''LLVM Core''.
2022-06-03 16:26:48 -04:00
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.
2022-07-14 21:05:55 -04:00
Otro aspecto importante de LLVM es que se puede utilizar el LLVM IR, que fue generado anteriormente y así 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.