bfbcompiler/README.md

2.8 KiB

BFBCompiler

Un compilador construído con Flex y Bison.

Tabla de contenidos

Requerimientos

Debe instalar

Linux/macOS

Estos se encuentran disponibles en el repositorio de la vasta mayoría de distribuciones.

Una vez instalados bison, cmake, flex, gcc, make, octave y python debe instalar SymPy y el paquete symbolic de octave.

Se recomienda usar pip para instalar SymPy:

pip install --user sympy==1.5.1
export PATH="$PATH:$HOME/.local/bin"

Luego, debe instalar symbolic en octave corriendo:

octave

y una vez adentro

pkg install -forge symbolic

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.

Consulte cómo instalar SymPy. La instalación de symbolic es idéntica al paso anterior.

Compilación

Linux/macOS

Para compilar todos los archivos, se debe ejecutar el script compile.sh (desde la carpeta raíz del proyecto).

Windows

Debe correr cmake -S . -B bin y luego abrir la solución generada bin/Compiler.sln con el IDE Microsoft Visual Studio 2022.

Ejecución

El paso anterior generará el ejecutable bin/BFBCompiler.

Usted puede pasarle tanto un archivo:

./bin/BFBCompiler ${FILE}

como entrada estándar:

echo "fun g = x^2;" | ./bin/BFBCompiler

Esto, a su vez, generará un archivo .m que debería correrse como:

octave bottler.m

Para que este proceso sea más fácil se le provee un archivo run.sh (que ejecuta la compilación y octave).

Ahora, usted podrá pasarle un programa haciendo:

./run.sh ${FILE}

o también podría directamente escribir el programa (como se mencionó antes):

./run.sh "fun g = x^2;"

Testeos

Puede correrlos con:

ctest --test-dir bin

De esta manera se correrán todos los casos de uso que aparecen en doc/examples.

Autores

  • Barmasch, Juan Martín (61033)
  • Bellver, Ezequiel (61268)
  • Lo Coco, Santiago (61301)