Aquí se establecen los ficheros necesarios para la ejecución, depurado o evaluación de una entrega. Esto incluye ficheros script, programas de prueba y ficheros de datos.
Si no se establecen los script de ejecución o depuración, el sistema deduce el lenguaje empleado atendiendo a la extensión de los ficheros entregados para usar un script predefinidos. La siguiente tabla muestra los lenguajes soportados, las extensiones de ficheros usadas, los script disponibles, el compilador/interprete y depurador usado por este y finalmente un comentario sobre uso del lenguaje.
Lenguaje | Exten-siones | Ejecutar | Depurar | Compilador/ interprete depurador |
Comentario |
---|---|---|---|---|---|
Ada | ada, adb, ads | X | X | gnat (Ada 2005)/gdb | Usa primer fichero como principal |
C | c | X | X | gcc C99/gdb | Compila todos los ficheros fuente |
C++ | cpp, C | X | X | g++/gdb | Compila todos los ficheros fuente |
C# | cs | X | X | gmcs+mono/mdb | Compila todos los ficheros fuente |
Fortran | f, f77 | X | X | gfortran/gdb | Compila todos los ficheros fuente |
Haskell | hs | X | hugs | Ejecuta primer fichero | |
Java | java | X | X | javac+java/jdb | Compila todos los ficheros fuente. Localiza la clase con main |
Matlab/Octave | m | X | - | matlab, octave | Ejecuta el primer fichero. Use vpl_replot después de dibujar.. |
Pascal | pas, p | X | X | fpc o gpc/gdb | Compila el primer fihero (fpc) o compila todos los ficheros fuente.(gpc) |
Perl | perl, prl | X | X | perl | Ejecuta primer fichero. |
PHP | php | X | - | php5 | Ejecuta primer fichero |
Prolog | pl, pro | X | - | swipl | Ejecuta primer fichero |
Python | py | X | X | python | Ejecuta primer fichero |
Ruby | rb | X | X | ruby | Ejecuta primer fichero |
Scheme | scm, s | X | - | mzscheme | Ejecuta primer fichero |
Shell script | sh | X | - | bash | Ejecuta primer fichero |
SQL | sql | X | - | sqlite3 | Ejecuta todos los ficheros fuente. Primero los establecidos en ficheros de ejecución |
VHDL | vhd, vhdl | X | - | ghdl | Compila todos los ficheros fuente, el primero debe tener el método Main. |
Si quiere usar las características de evaluación automática de programas de VPL debe rellenar el fichero "vpl_evaluate.cases". Este fichero tiene el siguiente formato:
Aquí se establecen los ficheros necesarios para preparar la ejecución, depuración o evaluación de una entrega. Esto incluye ficheros de script, ficheros de pruebas de programas y ficheros de datos.
Se puede añadir un nuevo fichero escribiendo su nombre en la caja "Añadir fichero" y pulsando luego el botón "Añadir fichero".
Se puede cargar un fichero existente usando el control "Cargar fichero".
Todos los ficheros que se añadan o se cargen pueden ser editados, y todos, excepto los ficheros de script mencionados a continuación, pueden renombrarse o eliminarse.
Deben existir tres ficheros de script para preparar cada una de las tres posibles acciones. Estos ficheros tienen nombres predefinidos: vpl_run.sh (ejecución), vpl_debug.sh, (depuración) y vpl_evaluate.sh, (evaluación)
La ejecución de cualquiera de estos guiones debe generar un fichero denominado vpl_execution. Este fichero debe contener código binario ejecutable, o un script que comience por ""#!/bin/sh". La no generación de este fichero imposibilita ejecutar la acción seleccionada.
Si la actividad se basa en otra, los ficheros de la actividad base se añaden automáticamente. Los contenidos de los ficheros vpl_run.sh, vpl_debug.sh y vpl_evaluate.sh se concatenan para toda la cadena de actividades en la que se base la presente
Finalmente, se añade el fichero vpl_environment.sh, que contiene información sobre la entrega, la cual se suministra mediante variables de entorno:
La salida de la evaluación es procesada para extraer, si es posible, comentarios sobre la evaluación y la nota propuesta. Los comentarios se pueden establecer de dos formas: con un comentario de línea definido con una línea que comienza por 'Comment :=>>' o con comentarios de bloques que comienza con una línea que contiene únicamente '<|--' y termina en una línea que contiene únicamente '--|>'. La calificación se toma de la última línea que comienze por 'Grade :=>>'.