Skip to content

annie60/Xilarius

Repository files navigation

Xilarius

Autoras

Ana Arellano Palacios A01089996
Ana Karen Reyna A01280310

Descripción

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

Requisitos

Como ejecutar?

Interfaz Grafica y maquina virtual

  • 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'

Estructuras basicas de un programa

Revisar [Wiki](https://github.com/annie60/Xilarius/wiki/Sintaxis y lexico) para obtener léxico y sintaxis correctos.

Layout obligatorio
miPrograma Primerprograma;
{
    crearPersonaje Minombre;
    ...
}
Declaración de variables
    var Mivar escrita = "hola";
Asignación de valores
    Mivar = hacerEscrita(3);
    Miotravar = 5*7-1;
Condiciones
    siEs (paredDerecha == verdadero){
    ...
    }
    siEs(no libreIzquieda == verdadero){
    ...
    }
Ciclos
    repetirMientras(libreAbajo <> falso){
    ...
    }
Funciones propias
    Minombre.atras(1);
    Minombre.adelante(3*2+6);
    Minombre.responder("hola");
    Minombre.parar;

Notas

  • 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

Licencia

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.