Skip to content

Latest commit

 

History

History
71 lines (63 loc) · 2.41 KB

README.md

File metadata and controls

71 lines (63 loc) · 2.41 KB

The L programming language

Una extensión del proyecto Flex-Bison-Compiler

Compilación

Para construir el compilador, ejecutar en la raíz del proyecto los siguientes comandos

chmod u+x --recursive script
script/build.sh

Testing

Para correr los programas de testeo (que se pueden encontar en test/), ejecutar el siguiente comando

script/test.sh

Ejecución

Si se desea correr al compilador con un programa (como test/accept/01-simplecircuit), ejecutar el siguiente comando

script/start.sh test/accept/01-SimpleCircuit

Archivo de salida

Es posible indicar el nombre del archivo donde se desea guardar la compilación. Para ello, se debe agregar un segundo parámetro al comando anterior, indicando el nombre del archivo de salida.

script/start.sh test/accept/01-SimpleCircuit out.py

En este caso, la compilación se guardará en el archivo out.py.

Si no se indica el nombre del archivo de salida, se guardará en salida.py por defecto.

Utilizacion del codigo compilado

Para la utilizacion del codigo compilado resulta necesario ingresar por entrada estandart texto en formato csv con una entrada por fila. La salida del progrma se realizará por la salida estandart. En ambos casos se podrá y se recomienda la utilizacion de archivos .csv y la utilizacion de utilidades de consola para la redireccion de las entradas y salidas del programa.

Ingresando un archivo como entrada al programa

python3 salida.py < input.csv

Ingresando de forma manual una entrada al programa

printf "10101\n11111" | python3 salida.py

Obteniendo la salida por la terminal del usuario

python3 salida.py < input.csv

Obteniendo la salida en un documento .csv

python3 salida.py < input.csv > output.csv

Conexion de diferentes programas

Una utilidad que le da mucha potencia al lenguaje es la posibilidad de interconetar script previamente compilados mediante el uso de la terminal.

python3 proc1.py < input.csv | python3 proc2.py > output.csv

Si se quiere activar los logs, se debe descomentar la siguiente línea en src/backend/support/logger.h

#define DEBUG true

Soporte