Sie sind auf Seite 1von 10

INSTITUTO TECNOLÓGICO SUPERIOR

DE ALVARADO

INGENIERÍA EN SISTEMAS COMPUTACIONALES


Materia:
LENGUAJES Y AUTOMATAS I

Semestre-Grupo:
SEXTO SEMESTRE – GRUPO WA

Producto Académico:

INVESTIGACION

Tema:

ESTRUCTURA DE UN TRADUCTOR Y LAS FASES DE UN


COMPILADOR.

Presenta:

KARLA JANET CADENA OCHOA, 106Z0167

Docente:
ING. ABRAHAM A. RUIZ SÁNCHEZ

H. Y G. ALVARADO, VER. FEB-JUN 2015


Índice

Introducción......................................................................................................................2
Traductor y su estructura.................................................................................................3
Ensambladores................................................................................................................5
Tipos de ensambladores........................................................................................................................5

Compiladores...................................................................................................................6
Intérpretes.............................................................................................................................................7

Fases de un compilador..........................................................................................................................8

Conclusión.......................................................................................................................9
Bibliografía.....................................................................................................................10

Lenguaje y Autóó matas I Paó gina 2


Introducción

En este trabajo se explicara que es un traductor en la materia de lenguajes y atomatas I


cuál es su definición de qué manera está estructurado y se va desglosando y explicando
dicha estructura. Al igual se habla sobre lo que es un compilador para que nos sirve y
como se utiliza sus fases.

Lenguaje y Autóó matas I Paó gina 3


Traductor y su estructura.

Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje


(lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje
objeto) que preserva el significado de origen. Ejemplos de traductores son los
ensambladores y los compiladores.

En el proceso de traducción se identifican dos fases principales:

 Fase de análisis

Lenguaje y Autóó matas I Paó gina 4


 Fase de Síntesis

Ensambladores.

El programa ensamblador es el programa que realiza la traducción de un programa


escrito en ensamblador a lenguaje máquina. Esta traducción es directa e inmediata, ya
que las instrucciones en ensamblador no son más que nemotécnicosde las instrucciones
máquina que ejecuta directamente la CPU.

Tipos de ensambladores

Podemos distinguir entre tres tipos de ensambladores:

 Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente


en ofrecer nombres simbólicos a las distintas instrucciones.

 Ensambladores modulares, o macro ensambladores. Descendientes de los


ensambladores básicos. Hacen todo lo que puede hacer un ensamblador, y además
proporcionan una serie de directivas para definir e invocar macroinstrucciones.

 Ensambladores modulares 32-bits o de alto nivel. Son ensambladores que


aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits,
realizan la misma tarea que los anteriores, permitiendo también el uso de macros,
permiten utilizar estructuras de programación más complejas propias de los lenguajes de
alto nivel.

Lenguaje y Autóó matas I Paó gina 5


Compiladores.

Un 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 programa que
permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro
lenguaje de nivel inferior (lenguaje máquina). Generando un programa equivalente a
capaz de interpretar.

Estructura de un Compilador.

Cualquier compilador debe realizar dos tareas principales: análisis del programa a
compilar y síntesis de un programa en lenguaje máquina. Para el estudio de un
compilador, es necesario dividir su trabajo en fases. Cada fase representa una
transformación al código fuente para obtener el código objeto. En cada una de las fases
se utiliza un administrador de la tabla de símbolos y un manejador de errores.

Componentes en que se divide un compilador:

Análisis Léxico. En esta fase se lee los caracteres del programa fuente y se agrupan en
cadenas que representan los componentes léxicos. A la secuencia de caracteres que
representa un componente léxico se le llama lexema (o con su nombre en inglés token).

Análisis Sintáctico. Los componentes léxicos se agrupan en frases gramaticales que el


compilador utiliza para sintetizar la salida.

Lenguaje y Autóó matas I Paó gina 6


Análisis Semántico. Intenta detectar instrucciones que tengan la estructura sintáctica
correcta, pero que no tengan significado para la operación implicada.

Generación de código Intermedio. Se puede considerar esta operación intermedia como


un subprograma para una máquina abstracta, a 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.

Generación de Código. Esta constituye la fase final de un compilador.


Administrador de la tabla de símbolos. Se encarga de manejar los accesos a la tabla de
símbolos, en cada una de las etapas de compilación de un programa.

Manejador de errores. Es posible encontrar errores. De esta forma podrán controlarse


más eficientemente los errores encontrados en cada una de las fases de la compilación
de un programa.

Intérpretes.

Los intérpretes realizan normalmente dos operaciones:

 Traducen el código fuente a un formato interno.


 Ejecutan o interpretan el programa traducido al formato interno.
La primera parte del intérprete se llama a veces "el compilador", aunque el código
interno que genera no es el lenguaje de la máquina, ni siquiera lenguaje simbólico, ni
tampoco un lenguaje de alto nivel.

Estructura

Lenguaje y Autóó matas I Paó gina 7


Particularidades de la interpretación:

 Ahorra memoria.
 Produce un resultado que no se puede almacenar, lo cual hace la ejecución lenta.
 No demasiado eficiente, cada vez que se entre en un bucle se analizaran sus
sentencias.
 Facilita el proceso de depuración.
 No produce resultados transportables.

La interpretación es útil en:


 Sistemas interactivos.
 Programas de pequeña envergadura.
 Programas de prototipo y de enseñanza.

Fases de un compilador

Fases de un compilador: El autor Addison Wesley nos dice que un compilador opera en
fases, cada una de las cuales transforma al programa fuente de una representación en
otra y nos propone la siguiente estructura

Analizador léxico: esta fase lee los caracteres en el programa fuente y agrupa en una
cadena de componentes léxicos en los que cada componente representa una secuencia
lógicamente coherente de caracteres, como un identificador, una palabra clave (if, while,
etc.)

Analizador sintáctico y semántico: por lo general manejan una gran porción de los
errores detectables por el compilador. Durante el análisis semántico el compilador intenta
detectar construcciones que tengan la estructura sintáctica correcta.

Generación de código intermedio: Después de los análisis sintáctico y semántico, algunos


compiladores generan una representación intermedia explícita del programa fuente.

Optimización de código: esta fase trata de mejorar el código intermedio, de modo que
resulte un código de máquina más rápido de ejecutar.

Generación de código: Esta es la fase final de un compilador es la generación de código


objeto, que por lo general consiste en código de máquina re localizable o código
ensamblador. Las posiciones de memoria se seleccionan para cada una de las variables
usadas por el programa.

Lenguaje y Autóó matas I Paó gina 8


Conclusión

Llegamos a la conclusión que un traductor es un programa que tiene como entrada un


texto escrito en un lenguaje fuente y como salida produce un texto escrito en un
lenguaje objeto que preserva el significado de origen y que algunos ejemplos de
traductores son los ensambladores y los compiladores.
El compilador es un programa que permite traducir el código fuente de un programa en
lenguaje de alto nivel, a otro lenguaje de nivel inferior, este se divide en unos
componentes.

Lenguaje y Autóó matas I Paó gina 9


Bibliografía.

http://clubensayos.com/Tecnolog%C3%ADa/Lenguajes-
Automatas/974210.html

http://ing-radjchv-pmz-estl.blogspot.mx/2009/09/14-traductor-y-su-
estructura.html

Lenguaje y Autóó matas I Paó gina 10

Das könnte Ihnen auch gefallen