0% encontró este documento útil (0 votos)
34 vistas14 páginas

Man Teclogos

Este documento presenta un proyecto de compiladores para el lenguaje Logo desarrollado por tres alumnos y su maestro. El proyecto consiste en una interfaz gráfica que permita al usuario agregar código Logo para dibujar figuras y darles color. Se utilizó Java y la API AWT para el desarrollo de la interfaz. El objetivo es proveer una referencia técnica del proyecto que explique su funcionamiento. Se describen los requerimientos técnicos como Java, JDK, JRE y BYACC, así como la ejecuc

Cargado por

Fernando Juarez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas14 páginas

Man Teclogos

Este documento presenta un proyecto de compiladores para el lenguaje Logo desarrollado por tres alumnos y su maestro. El proyecto consiste en una interfaz gráfica que permita al usuario agregar código Logo para dibujar figuras y darles color. Se utilizó Java y la API AWT para el desarrollo de la interfaz. El objetivo es proveer una referencia técnica del proyecto que explique su funcionamiento. Se describen los requerimientos técnicos como Java, JDK, JRE y BYACC, así como la ejecuc

Cargado por

Fernando Juarez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

Instituto Politécnico Nacional

Escuela Superior de Cómputo

Compiladores
Proyecto Logos
“Manual Técnico”

Alumnos:
 Cruz González José de Jesús
 Bernal Mondragon Humberto
 Ramírez Ochoa Mauricio

Maestro: Tecla Parra Roberto


Grupo: 3CM14
Fecha: 20/06/2023
INTRODUCCIÓN

LOGO es un lenguaje de programación de alto nivel es, en parte funcional, en


parte estructurado; de muy fácil aprendizaje, razón por la cual suele ser el
lenguaje de programación preferido para trabajar con niños wy jóvenes. Fue
diseñado con nes didácticos por Danny Bobrow, Wally Feurzeig, Seymour Papert
y Cynthia Solomon, los cuales se basaron en las características del lenguaje Lisp.
Logo fue creado con la finalidad de usarlo para enseñar programación y puede
usarse para enseñar la mayoría de los principales conceptos de la programación,
ya que proporciona soporte para manejo de listas, archivos y entrada/salida. Logo
cuenta con varias versiones. Una característica más explotada de Logo es poder
producir <>, es decir, poder dar instrucciones a una tortuga virtual, mediante un
cursor grafico usado para crear dibujos, que en algunas versiones es un triángulo,
en otras tiene la figura de una tortuga vista desde arriba. Esta tortuga o cursor se
maneja mediante palabras que representan instrucciones. El desarrollo de este
proyecto consistirá en una interfaz gráfica para el usuario con un apartado en
donde él pueda agregar código con la finalidad de dibujar desde las figuras más
sencillas como cuadrados y círculos, hasta espirales, arboles, estrellas, etc. Con la
posibilidad de agregar colores a las figuras dibujadas y levantar el pincel para
poder moverlo a voluntad sin dibujar nada y también de bajar el pincel, para
empezar a dibujar nuevamente, esto se mostrará en una vista en el mismo
programa. Para el desarrollo de la interfaz gráfica se cuenta con la API de
JAVA:AWT, para aplicaciones de escritorio en Windows/Linux.

OBJETIVO

El objetivo de este trabajo es dar una referencia técnica acerca del proyecto para
que pueda ser entendido por alguna persona con los conocimientos técnicos aptos
y así poder ser modificado, mejorado o alguna otra acción en el software.
REQUERIMIENTOS TÉCNICOS
 Java
Plataforma informática comercializada por primera vez en 1995 por Sun
Microsystems. Hay muchas aplicaciones y sitios web que no funcionarían a menos
que tenga Java instalado y cada día se crean más. Java es rápido, seguro y
viable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta
súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas
partes. Java es la base para prácticamente todos los tipos de aplicaciones de
redes, ademas del estándar global para desarrollar y distribuir aplicaciones
móviles y embebidas, juegos, contenido basado en web y software de empresa.
Con más de 9 millones de desarrolladores en todo el mundo, Java le permite
desarrollar, implementar y utilizar de forma eficaz interesantes aplicaciones y
servicios. Java está en todas partes.
 Java Development Kit (JDK)
El JDK es un entorno de desarrollo para crear aplicaciones, applets y
componentes utilizando el lenguaje de programación Java. El JDK
incluyeherramientas útiles para desarrollar y probar programas escritos en el
lenguaje de programación Java y que se ejecutan en la plataforma Java.

 Java Runtime Edition (JRE)


Java Runtime Environment (JRE) es lo que se obtiene al descargar el software de
Java. JRE está formado por Java Virtual Machine(JVM), clases del núcleo de la
plataforma Java y bibliotecas de la plataforma Java de soporte. JRE es la parte de
tiempo de ejecución del software de Java, que es todo lo que necesita para
ejecutarlo en el explorador web.
 BYACC
El cual es un compilador para el lenguaje YACC, pero enfocado al desarrollo en
Java.
EJECUCION

Lo primero que vamos a hacer será buscar el IDE de IntelliJIdea y abrirlo en


nuestro escritorio. Una vez que abrimos el IDE nos aparecerá la pantalla de inicio
en la cual tendremos varias opciones, pero la que es de nuestro interés es la
opción que dice Abrir Proyecto o “Open Proyect”, esto para poder abrir nuestro
proyecto.
Ahora procederemos a ejecutar el programa, para hacer esto tenemos dos formas
la primera es dar clic derecho y se nos desplegara un menú en donde
seleccionaremos “Run File” y así ejecutaremos el proyecto (para una guía más
visual dirigirse la Imagen 4), la otra forma es dar clic en la flecha de color verde
que tenemos en el menú de herramientas, el cual también nos ejecutara, el
archivo nos abrirá una interfaz gráfica en la cual podemos interactuar con el
programa.

Una vez que se ejecuta el programa tendremos la interfaz gráfica mostrada en la


Imagen 5, en donde tenemos los siguientes componentes:
 Un área de texto, donde se ingresan los comandos del lenguaje.
 Un botón que permite dibujar las acciones descritas por los comandos.
 Un botón que permite borrar lo que esta dibujado en el panel y nos permite
realizar el botón del siguiente punto, si fue seleccionado anteriormente y se
le vuelve a seleccionar regresamos se nos deshabilita la opción del botón
siguiente y guarda el estado en el panel lo que hicimos mientras lo
seleccionamos por primera vez.
 Un botón que dibuja paso a paso la figura.
 Un panel, donde se visualiza el dibujo.
EXPRESIONES REGULARES

Las siguientes son expresiones regulares:


 FORWARD[double];
 TURN[double];
 COLOR[double, double, double];
 PenUP[];
 PenDOWN[];
 for(exploración inicial; condición; expresión final){}
 while(condición){ declaracion(es)}
 if (condición){instrucciones}else{instrucciones} proc [nombre](){Bloque de
instrucciones}
**Para usar parámetros usar $n, donde n es el parámetro para usar**, en las
llamadas los parámetros se separan con una ‘,’.
 func [nombre](){ Bloque de instrucciones return valor; } **Para usar
parámetros usar $n, donde n es el parámetro para usar**, en las llamadas
los parámetros se separan con una ‘,’. Condiciones disponibles:
 ==, comparación, entre enteros
 !=, diferente, entre enteros
 <=, operación menor o igual, entre enteros.
 >, operación mayor, entre enteros.
 >=, operación mayor o igual, entre enteros.
 &&, operación “and”, entre enteros. ||, operación “or”, entre enteros.

GRAMATICA
DIAGRAMA DE CLASES
EXPLICACION

Para la realización de este proyecto fue necesario hacer uso de todos los
conocimientos aprendidos en esta materia, para ello lo primero es hacer nuestra
clase Par la cual es como las que hemos usado en anteriores ocasiones para las
prácticas en este caso tendremos un nombre y un objeto, en segunda
necesitamos nuestra tabla de símbolos la cual contendrá todos nuestras
instrucciones las cuales son: TURN, FORWARD, COLOR, PenUP y PenDOWN,
después necesitamos nuestra máquina de pila, la cual se encuentra en el archivo
Java que posee el mismo nombre que es sin duda alguna una de las partes más
esenciales de nuestro proyecto ya que es ahí donde sucede todo ya que tiene el
funcionamiento de las condiciones, de las operaciones que podemos hacer y por
supuesto de nuestras instrucciones el código es el siguiente:
En estos fragmentos de código encontramos los más importantes de nuestro
proyecto y es que aquí creemos y decimos el comportamiento que este tendrá en
la ejecución del proyecto, en caso de querer añadir más funcionalidades al
proyecto es qui en donde tendremos que remitirnos y evidentemente al archivo
P2.y ya que necesitamos reflejar los cambios en Parser y ParserVal que se
generan al compilar el archivo de YACC, recordemos también que hacemos uso
de Marcos. Todo lo anterior es la funcionalidad de Java, pero esto no se podría
hacer sin nuestro archivo YACC el cual ya hemos visto, al menos la gramática,
aquí solamente llamamos a las funciones creadas en nuestra máquina de pila,
asignamos nuestros caracteres reservados a nuestras funciones creadas con
anterioridad todo esto en nuestro yylex y finalmente añadimos funcionalidad a
nuestros botones en la GUI.

Por ultimo y no mucho menos importante nuestra GUI, en donde nos encontramos
con el archivo Configuración que no es más que nada el que nos permite guardar
las líneas que vamos añadiendo mediante un ArrayList y para esto tendremos que
usar nuestra Linea.java en donde podemos cambiar el color y definimos la
dirección y el tamaño que esta tendrán, se anexa Configuracion.java ya que nos
permite la visualización de las líneas que hagamos, pero, como podríamos
observar las grandes maravillas que podemos hacer con nuestro proyecto si no
tenemos un lienzo en donde poder verla, por lo que tenemos nuestro
PanelDeDibujo.java y que ademas es qui en donde dibujamos nuestro triangulo
que nos indica la dirección hacia donde se dibujara la siguiente acción que
hagamos. Finalmente tenemos nuestra VentanaPrincipal.java y Logos.java los
cuales no tiene tanto misterio ya que en una solo ponemos los componentes que
nuestro usuario interactuará con ellos y para tener un buen formato de
presentación y en el otro solo ejecutamos el programa

También podría gustarte