Compilador y maquina virtual para lenguaje Xilarius.
Este lenguaje se compone de una interfaz gráfica donde el niño vera a Xilarius (personaje principal del sistema),
una meta y un sección para introducir los bloques de instrucciones que quiera que Xilarius realice.
Las instrucciones deberán de generar como resultado que Xilarius llegue a la meta propuesta.
Proyecto final para clase de Diseño de compiladores.
Prof. Elda Quiroga
Dr. José Icaza
- En la consola ejecutar
python main.py
- Presionar 'Principiante' o 'Experto'
- Crear programa
- Teclear programa en la pantalla de texto y presionar 'Guardar' .
- O bien seleccionar la opción "Archivo" y "Abrir" para seleccionar un archivo .txt con código.
- Presionar 'Paso 1'
- Presionar 'Paso 2'
Revisar [Wiki](https://github.com/annie60/Xilarius/wiki/Sintaxis y lexico) para obtener léxico y sintaxis correctos.
miPrograma Primerprograma;
{
crearPersonaje Minombre;
...
}
var Mivar escrita = "hola";
Mivar = hacerEscrita(3);
Miotravar = 5*7-1;
siEs (paredDerecha == verdadero){
...
}
siEs(no libreIzquieda == verdadero){
...
}
repetirMientras(libreAbajo <> falso){
...
}
Minombre.atras(1);
Minombre.adelante(3*2+6);
Minombre.responder("hola");
Minombre.parar;
- Este proyecto esta probado correctamente para sistema operativo Windows, cualquier otro sistema podria tener fallas.
- Hubo cambios a la librería tygame, en epecífico el archivo main.py ,por lo que se tiene que tomar del directorio local en este repositorio.
- Hubo cambios en la librería pgu-gui, el archivo textarea.py tiene que tomarse del repositorio.
- La base para la interfaz grafica del laberinto se tomo del codigo compartido en Bipo Maze
Copyright (C) 2016 Ana Karen Reyna and Ana Gpe. Arellano Palacios
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses.