diff --git a/README.md b/README.md index cda67c0..21a5611 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,60 @@ -# Compilador Flex/Bison +# BFBCompiler -Un compilador vacío construido con Flex y Bison. +Un compilador construído con Flex y Bison. ## Requerimientos Para construir el compilador, se requieren las siguientes dependencias: -* [Bison v3.8.2](https://www.gnu.org/software/bison/) -* [CMake v3.22.2](https://cmake.org/) -* [Flex v2.6.4](https://github.com/westes/flex) -* [GCC v11.1.0](https://gcc.gnu.org/) -* [Make v4.3](https://www.gnu.org/software/make/) +## Tabla de contenidos +* [Requisitos](#requisitos) +* [Compilación](#compilación) +* [Ejecución](#ejecución) +* [Testeos](#tests) + +## Requisitos + +Debe instalar + +- [Bison v3.8.2](https://www.gnu.org/software/bison/) +- [CMake v3.22.2](https://cmake.org/) +- [Flex v2.6.4](https://github.com/westes/flex) +- [GCC v11.1.0](https://gcc.gnu.org/) +- [Make v4.3](https://www.gnu.org/software/make/) + +Estos se encuentran disponibles en el repositorio de la vasta mayoría de distribuciones de Linux/macOS. 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_. -## Construcción +## Compilación -Para construir el proyecto por completo, ejecute en la raíz del repositorio el siguiente comando: +En Linux, para compilar todos los archivos, se debe ejecutar el script `compile.sh` (desde la carpeta raíz del proyecto). + +En un entorno _Microsoft Windows_, en cambio, debe correr `cmake -S . -B bin` y se deberá abrir la solución generada `bin/Compiler.sln` con el IDE _Microsoft Visual Studio 2022_. + +## Ejecución + +Ahora, usted podrá pasarle un programa haciendo: ```bash -user@machine:path/ $ cmake -S . -B bin -user@machine:path/ $ cd bin -user@machine:path/ $ make +./run.sh ${PROGRAM} ``` -En un entorno _Microsoft Windows_, en lugar de ejecutar el comando `make`, 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. - -## Ejecución - -Para compilar un programa, primero cree un archivo vacío denominado `program` con el siguiente contenido: - -``` -123123 + 123 - 2 * (454 + 890 / 89) -``` - -Luego, ejecute el compilador desde el directorio raíz del proyecto, inyectando el programa desde la entrada estándard: +o también podría directamente escribir el programa: ```bash -user@machine:path/ $ cat program | bin/Compiler +./run.sh "fun x = x^2;" ``` -Deberia obtener el resultado correcto de evaluar el programa anterior: `122318`. +## Testeos + +Puede correrlos con: + +```bash +ctest --test-dir bin +``` + +# Autores +- Barmasch, Juan Martín (61033) +- Bellver, Ezequiel (61268) +- Lo Coco, Santiago (61301)