Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajes y autómatas I.
Práctica 1. Traductores y Componentes Léxicos
Equipo 4
¿Qué es un traductor?
Un traductor es un programa esencial para la programación o desarrollo, este se encarga de convertir el código fuente a lenguaje máquina para
que el ordenador pueda comprender las instrucciones que nosotros como humanos le demos, si cabe, mensajes de error
Estos son ejemplos de traductores son los ensambladores y los compiladores.
¿Cuál es su funcionamiento?
Es convertir el código de un lenguaje en otro, traduciendo código fuente en código objeto.
El funcionamiento de un traductor con respecto a la materia es que se encarga de analizar el código (código fuente), para después transformarlo
a una forma que una computadora lo pueda entender, por lo tanto, lo transforma a lenguaje de bajo nivel.
¿Cómo se clasifica?
Hay diferentes tipos de traductores, dependiendo del tipo de lenguaje de programación que se esté traduciendo y del tipo de traducción que se
desee realizar. Algunos ejemplos de traductores incluyen compiladores, intérpretes, ensambladores, y traductores de código objeto a código
fuente
b. Utilizando la información anterior, elabore un cuadro sinóptico de los diferentes tipos de traductores que investigó y asocie al menos dos
lenguajes de programación para cada traductor identificado.
• Lenguajes de
• Siempre procesa el código, línea por línea programación que
tradicionalmente son
• Procesa el código fuente de un proyecto
interpretados son el LISP
mientras se está ejecutando actúa como
y el BASIC.
una interfaz con el procesador
• Los lenguajes de prog.
Interprete • Es un traductor que realiza la operación de
Interpretados es donde
compilación paso a paso
este lee la instrucción del
• Permite utilizar funciones y operadores
código en tiempo real,
más potentes
ejemplos son JavaScript,
PHP, Python, etc.
Python y Java son los dos tipos de traductores más utilizados, ya que Python cuenta con diversas áreas de aplicación y Java en los traductores
es tipo máquina virtual y este lenguaje va orientado a objetos.
Investigue que es un componente léxico en un lenguaje de programación, para un ejemplo identifique y liste los componentes al menos 5
categorías de componentes léxicos, escriba los componentes léxicos identificados en una tabla
c. Realice una aplicación en el lenguaje de programación de su elección, que muestre el siguiente MENU y permita realizar lo siguiente:
1. Escribir texto
4. Salir
Al iniciar el programa nos desplegará el menú mediante una interfaz gráfica con las 4 opciones disponibles, y un textbox en el que escribiremos
la opción que queramos ejecutar.
Si intentamos leer el texto en el momento en el que no se encuentre nada de información en el documento, nos desplegará un aviso mencionando
que está vacío.
Dentro de la opción 1 podemos ingresar el texto que queramos, podemos escribir varias líneas a la vez, así como dejar líneas vacías.
Al guardar, no se almacenará inmediatamente en el archivo, si no que tenemos que utilizar la opción 2 “Almacenar en el archivo”. Si no lo
hacemos, el archivo seguirá vacío (o con lo que se haya almacenado anteriormente).
Ya que la información se guardó en el archivo, ahora podemos leerla con la opción 3 “Leer texto”, nos mencionará la cantidad de líneas, y de
palabras totales y por cada renglón. También nos menciona que no se encuentran palabras (o, hay 0 palabras) en las líneas vacías.
Reporte
Al terminar el análisis de diseño comenzamos con la etapa de la programación. Empezamos con el esqueleto del menú; este fue un menú
básico. Cada integrante comenzó con su inciso correspondiente, aunque nos ayudamos entre todos por si nos aparecía alguna dificultad al
momento de estar programando, esto para agilizar todo el trabajo. Así también todos estaríamos al pendiente de todas las partes del código y
podríamos saber con más facilidad como es que funciona todo el código y no solo el inciso al que cada integrante le tocó desarrollar.
Desarrollo de la practica
Primero, como equipo nos pusimos de acuerdo en que haría cada inciso de este menú de manejo de archivos al momento de ponernos de
acuerdo también íbamos diseñando el programa llegamos a la conclusión a un resultado.
Conclusiones
Marcela González Beltrán conclusión:
Esta práctica me ayudo a reforzar el manejo de archivos ya previamente visto en otras asignaturas, a mi dentro de mi equipo me tocó realizar
el inciso 2 que es almacenar el texto escrito en el inciso 1 dentro de un archivo de texto por lo tanto tuve que sacar una variable del inciso 1 el
cual me almacenaba el texto que recién se escribió para después con ayuda de métodos dentro del FileWrite se puedo alcanzar el objetivo que
era almacenarlo sin tener que sobrescribir sobre el archivo.
También ayudé en los demás incisos cuando mis compañeros se les complicaba, asimismo también recibí ayuda por parte de mis compañeros
cuando tuve algún tipo de problema o duda con respecto a mi punto.
varias líneas de texto a la vez, sin que el usuario tenga que ejecutar varias veces la misma opción por si quiere escribir varios renglones. Hubo
varios problemas al momento de “coordinar” las opciones para que trabajaran de manera harmoniosa, pues en las líneas sin ninguna palabra
se nos estaban presentando algunas complicaciones, al igual que cuando no escribíamos nada en el documento; el método isBlank fue de
mucha utilidad para solucionar nuestros problemas. Obtuve ayuda de mis compañeros en cuanto a conocimiento para seguir la programación,
así como en el raciocinio del problema, así como yo intenté ayudar en cualquier duda que mis compañeras presentaban.
Bibliografías
https://ed.team/blog/lenguajes-de-programacion-compilados-vs-interpretados
https://elvex.ugr.es/decsai/c/apuntes/tokens.pdf