Logo3D es un lenguaje de programación que moderniza el LOGO clásico adoptando una nueva y elegante sintaxis y situando a la popular tortuga en un entorno 3D.
Este fichero contiene: -logo3d.g -> La gramática del lenguaje Logo3D -logo3d.py -> El intérprete del lenguaje Logo3D -turtle3d.py -> API de la tortuga para hacer representaciones en 3D -visitor.py -> Visitor de la gramática encargado de evaluarla -requirements.txt -> Contiene las librerías necesarias
-
Abrir un terminal en esta carpeta.
-
Tener antlr instalado
Descargar de la web https://www.antlr.org/download.html
Comprobar:
java -jar antlr-4.9-complete.jar
- Tener configurado antlr Ejemplo en Windows:
-Añadir antlr-4.9-complete.jar al classpath
SET CLASSPATH=.;PATH\TO\antlr-4.9-complete.jar;%CLASSPATH%
-Crear alias para el ANTLR TOOL y el testRig
doskey antlr4=java org.antlr.v4.Tool $*
doskey grun=java org.antlr.v4.gui.TestRig $*
Ejemplo en Unix:
-Añadir antlr-4.9-complete.jar al classpath
$ export CLASSPATH=".:/PATH/TO/antlr-4.9-complete.jar:$CLASSPATH"
-Crear alias para el ANTLR TOOL y el testRig
$ alias antlr4='java -Xmx500M -cp "/PATH/TO/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool'
$ alias grun='java -Xmx500M -cp "/PATH/TO/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig'
- Instalar las librerías de requirements.txt Windows:
py -m pip install -r requirements.txt
Unix/macOS:
python -m pip install -r requirements.txt
- Generar archivos de la gramática
antlr4 -Dlanguage=Python3 -no-listener -visitor logo3d.g
- Ejecutar el programa
python3 logo3d.py file.l3d [main_func] [args]
IMPORTANTE:
-
Si el programa a ejecutar no contiene un procedimiento llamado 'main' es necesario incluir el nombre del procedimiento principal en la línea de ejecución.
-
Si el procedimiento principal del programa a ejecutar contiene argumentos, es necesario incluir su nombre y los argumentos en la misma linea de bash.
-
Si durante la ejecución el programa necesita leer alguna entrada, las irá pidiendo una a una y por orden de llamada sacando por consola el símbolo '?'. Tratará como error el poner todas las entradas en una misma línea.
Shovar