Un compilador vacío de ejemplo construido con Flex y Bison.
Para construir el compilador, se requieren las siguientes dependencias:
Si en lugar de trabajar con un entorno Linux, se está construyendo el proyecto sobre un entorno Microsoft Windows, se debe instalar Microsoft Visual Studio 2022 con las extensiones para desarrollar aplicaciones en C/C++, así como también las herramientas requeridas, con excepción del compilador GCC y la herramienta Make.
Para construir el proyecto por completo, ejecute en la raíz del repositorio los siguientes comandos (en Linux):
user@machine:path/ $ chmod u+x --recursive script
user@machine:path/ $ script/build.sh
En un entorno Microsoft Windows, en cambio, se debe ejecutar:
user@machine:path/ $ script\build.bat
Luego se deberá abrir la solución generada bin\Compiler.sln
con el IDE Microsoft Visual Studio 2022. Los ejecutables que este sistema construye se depositan dentro del directorio bin\Debug
y bin\Release
, según corresponda.
Para compilar un programa, primero cree un archivo vacío denominado program
(o el nombre que desee), con el siguiente contenido:
123123 + 123 - 2 * (454 + 890 / 89)
Luego, ejecute el compilador desde el directorio raíz del proyecto, o desde cualquier otro lugar indicando el path hacia el script start.sh
y pasando por parámetro el path hacia el programa a compilar:
user@machine:path/ $ script/start.sh program
En Windows:
user@machine:path/ $ script\start.bat program
Debería obtener el resultado correcto de evaluar el programa anterior: 122318
.
En Linux:
user@machine:path/ $ script/test.sh
En Windows:
user@machine:path/ $ script\test.bat
Si desea agregar nuevos casos de uso, deberá crear un archivo por cada uno, que contenga el programa a testear dentro de las carpetas test/accept
o test/reject
según corresponda (es decir, si el mismo debe ser aceptado o rechazado por el compilador).