1.4 Estructura de un traductor
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
Análisis Sintáctico: se agrupa toda información o tokens de manera jerarquica, que se logran mediante métodos de ordenamiento.
Fases de un traductor (I)
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.
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.
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).
gRACIAS Y DE NADA