diff --git a/CMakeLists.txt b/CMakeLists.txt index 743ea63..0955e0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.22) # Nombre del proyecto, y lenguaje usado (C, en este caso): -project(Compiler C) +project(BFBCompiler C) # Compilar el parser con Bison: add_custom_command( @@ -25,7 +25,7 @@ if (CMAKE_C_COMPILER_ID STREQUAL "GNU") OUTPUT ../src/frontend/lexical-analysis/flex-scanner.c COMMAND flex -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l DEPENDS ../src/frontend/syntactic-analysis/bison-parser.c ../src/frontend/syntactic-analysis/bison-parser.h) - # COMMAND flex --debug -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l + # COMMAND flex --debug -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l elseif (CMAKE_C_COMPILER_ID STREQUAL "MSVC") message(NOTICE "El compilador de C es Microsoft Visual Studio.") @@ -46,7 +46,7 @@ else () endif () # Especificar punto de entrada del proyecto y códigos fuente (extensión *.c): -add_executable(Compiler +add_executable(BFBCompiler src/main.c src/backend/code-generation/generator.c src/backend/domain-specific/calculator.c @@ -57,4 +57,4 @@ add_executable(Compiler src/frontend/syntactic-analysis/bison-parser.c) # Linkear el proyecto y sus librerías: -target_link_libraries(Compiler) +target_link_libraries(BFBCompiler) diff --git a/compile.sh b/compile.sh index 3a8dccc..addb62c 100755 --- a/compile.sh +++ b/compile.sh @@ -1,12 +1,13 @@ #!/bin/sh -rm -f src/frontend/lexical-analysis/flex-scanner.c src/frontend/syntactic-analysis/bison-parser.c src/frontend/syntactic-analysis/bison-parser.h -rm -rf bin -cmake -S . -B bin -cd bin -make -if [ -f "../$1" ]; then - cat "../$1" | ./Compiler -else - echo "$1" | ./Compiler +if [ ! -d "bin" ]; then + cmake -S . -B bin +fi + +cmake --build bin --clean-first + +if [ -f "$1" ]; then + cat "$1" | ./bin/BFBCompiler +else + echo "$1" | ./bin/BFBCompiler fi