Loading repository data…
Loading repository data…
francordara / repository
Este proyecto implementa un intérprete lógico básico desarrollado en Scala, que permite procesar programas de conocimiento escritos en Prolog (.pl) y ejecutar consultas de manera automatizada. Incluye un script de pruebas que ejecuta múltiples casos de ejemplo y compara los resultados esperados.
Este proyecto incluye un script para ejecutar pruebas automatizadas de un proyecto Scala que procesa archivos de conocimiento Prolog (.pl) y consultas línea por línea.
.
├── src/
│ └── main/
│ └── scala/
│ └── Main.scala # Código fuente principal
├── ejemplos/
│ ├── programas/ # Archivos de conocimiento Prolog (.pl)
│ │ ├── programa1.pl
│ │ ├── programa2.pl
│ │ └── ...
│ ├── input/ # Archivos de entrada con consultas
│ │ ├── programa1
│ │ ├── programa2
│ │ └── ...
│ └── output/ # Archivos de salida esperados
│ ├── programa1
│ ├── programa2
│ └── ...
├── test_runner.sh # Script para ejecutar las pruebas
Asegúrate de tener sbt instalado:
sbt --version
Coloca tus archivos de prueba:
ejemplos/programas/*.plejemplos/inputs/*ejemplos/outputs/*programa1.pl, programa1 (en inputs), programa1 (en outputs))Dale permisos de ejecución al script:
chmod +x test_runner.sh
Ejecuta las pruebas:
./test_runner.sh
ejemplos/programas/*.pl% Hechos
padre(juan, maria).
padre(juan, pedro).
% Reglas
abuelo(X, Y) :- padre(X, Z), padre(Z, Y).
ejemplos/inputs/*padre(juan, maria)
padre(juan, pedro)
abuelo(juan, ana)
ejemplos/outputs/*true
true
true
El script mostrará:
Ejemplo de salida:
🔨 Compilando...
Ejecutando pruebas...
--------------------------
✅ programa1: Prueba exitosa
--------------------------
✅ programa2: Prueba exitosa
--------------------------
✔ Exitosos: 2
Con archivo de entrada:
sbt "run programa.pl input.txt"