Want to create interactive content? It’s easy in Genially!

Get started free

1.4. Estructura de un traductor

NATALIA PÉREZ HERNÁNDEZ

Created on January 27, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Tecnológico Nacional de México Tema 1. Introducción a la Teoría de Lenguajes Formales 1.4 Estructura de un traductor

Objetivo

Generar un análisis y comprensión sobre un traductor y su estructura.

Índice

1.-Objetivo 2.-Índice 3.-Introduccion 4.-¿Qué es un traductor? 5.-Fases de un traductor 6.-Ensambladores 7.-Tipos de ensambladores 8.-Compiladores 9.-Interpretes 10 Conclusion 11.-Referencias

Introducción

Un traductor de programación, desempeña un papel crucial en el desarrollo de software al convertir el código fuente escrito por los programadores en un formato que la computadora pueda entender y ejecutar.

¿Qué es un traductor?

Un traductor es un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa escrito en un lenguaje destino.Los traductores engloban tanto al compilador como al intérprete.

Esquema inicial para un traductor

Fases de un traductor (I)

Análisis Sintáctico: se agrupa toda información o tokens de manera jerarquica, que se logran mediante métodos de ordenamiento.

Análisis Léxico: se lee el programa de izquierda a derecha, agrupa tokens, elimina todo aquello que no sean un token y comprueba que todo haya sido escrito correctamente.

Fases de un traductor (II)

Análisis Semántico: Se hace todo análisis general que se agrupara de manera semántica es decir que tenga una relación por lo cual debe de corregir todos los errores.

Ensamblador

Es un compilador sencillo, en el que el lenguaje fuente tiene una estructura simple que permite una traducción de una sentencia fuente a una instrucción en código máquina. El lenguaje que utiliza se llama lenguaje ensamblador y tiene una correspondencia uno a uno entre sus instrucciones y el código máquina.

Tipos de ensambladores (I)

Podemos distinguir entre tres tipos de ensambladores: 1. Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones.

10

Tipos de ensambladores (II)

2. Ensambladores modulares. Proporcionan una serie de directivas para definir e invocar macroinstrucciones. 3. Ensambladores de alto nivel. Son ensambladores que aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits, permiten utilizar estructuras de programación más complejas propias de los lenguajes de alto nivel.

11

Compilador

Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, es decir que permitiera traducir el código fuente del programa en un lenguaje de alto nivel a otro de nivel inferior (Lenguaje Máquina).

12

Componentes (I)

Generación de código Intermedio: Subprograma para una máquina abstracta, esta representación debe tener dos propiedades importantes: debe ser fácil de producir y fácil de traducir al programa objeto. Optimización de Código: Se trata de mejorar el código intermedio, de modo que resulte un código de máquina más rápido de ejecutar.

14

Componentes (II)

Generación de Código: Constituye la fase final de un compilador. Administrador de la tabla de símbolos. Manejar los accesos a la tabla de símbolos, en cada una de las etapas. Manejador de errores: Podrán controlarse más eficientemente los errores encontrados en cada una de las fases.

15

Interpretes

Es un programa informático que realiza el procesamiento del código fuente de un proyecto de software mientras este se está ejecutando. Este programa actúa como una interfaz entre el proyecto de software y el procesador, facilitando la ejecución y la interacción entre el software y el hardware del sistema.

13

Estructura

  • Traductor a Representación Interna.
  • Representación Interna (P/RI)
  • Tabla de símbolos
  • Tratamiento de errores

16

Tipos

Interpretación Iterativa: es apropiada para lenguajes sencillos, se analiza y ejecuta cada expresión de forma directa, la interpretación consiste en un ciclo básico de búsqueda, análisis y ejecución de instrucciones.Interpretación Recursiva: se guía mediante llamadas recursivas a funciones o subrutinas. Un programa se ejecuta paso a paso.

17

Conclusión

Es importante que los desarrolladores comprendan la estructura interna de un traductor. Esto les permite escribir código más eficiente, comprender mejor los errores durante la fase de compilación y realizar optimizaciones para mejorar el rendimiento del programa.

18

Referencias bibliográficas

  • Compilador e intérprete: diferencias entre los dos programas. (2020, June 16). IONOS. Retrieved January 26, 2024, from https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/compilador-e-interprete/
  • Estructura de un traductor - Un traductor es un programa que tiene como entrada un texto escrito en. (n.d.). Studocu. Retrieved January 26, 2024, from https://www.studocu.com/es-mx/document/instituto-tecnologico-de-tuxtla-gutierrez/sistemas-operativos/estructura-de-un-traductor/71162807
  • 1.4 Traductor y su estructura. (2009, September 5). PROGRAMACION DE SISTEMAS. Retrieved January 26, 2024, from http://ing-radjchv-pmz-estl.blogspot.com/2009/09/14-traductor-y-su-estructura.html

19

Referencias bibliográficas

  • Cantú Treviño, T. G., & Mendoza García, M. G. (2015). Teoría de autómatas: Un enfoque práctico. Pearson Educación de México, S. A. de C. V.
  • Intérpretes Y Diseño de Lenguajes De Programación. (n.d.). Departamento de Informática. Retrieved January 26, 2024, from http://di002.edv.uniovi.es/~cueva/publicaciones/monografias/35_InterpretesDLP.pdf
  • Cooper, K. D., & Torczon, L. (2004). Engineering a compiler (2nd ed.). Boston, MA: Addison-Wesley.
  • Traductores, Compiladores e Intérpretes. Recopilado de: http://www.lcc.uma.es/~galvez/ftp/tci/tictema1.pdf

20

Instituto Tecnológico Superior de Huichapan Elaboró: Jose Alejandro Cantera Ramos Armando Jimenez Morales Natalia Pérez Hernández Luis Gerardo Rodríguez Mejia Bailey Rodríguez Warren Marlen Trejo Martín

21