Consulta 2
Consulta 2
Consulta 2
* Editores de estructuras: Un editor de estructuras toma como entrada una secuencia de rdenes para
construir un programa fuente. El editor de estructuras no slo realiza las funciones de creacin y
modificacin de textos de un editor de textos ordinario, sino que tambin analiza el texto del programa,
imponiendo al programa fuente una estructura jerrquica apropiada. De esa manera, el editor de
estructuras puede realizar tareas adicionales tiles para la preparacin de programas Concepto
encontrado en el libro de Compiladores de Addison Wesley, a mi punto de vista estos editores de
estructura son los que se encarga de llevar el orden de las palabras, valla el acomodo y comprobar si la
entrada est formada correctamente.
* Impresoras estticas: Una impresora esttica analiza un programa y lo imprime de forma que la
estructura del programa resulte claramente visible Concepto encontrado en el libro de Compiladores de
Addison Wesley.
* Verificadores estticos: este verificador lee un programa, lo analiza e intenta descubrir errores
potenciales sin correr el programa, algo muy parecido a la correccin de los editores de texto como Word.
Un verificador esttico puede detectar si hay partes de un programa que nunca se podrn ejecutar o si
cierta variable se usa antes de ser definida nos dice Addison Wesley.
* Intrpretes: En lugar de producir un programa objeto como resultado de una traduccin, un intrprete
realiza las operaciones que implica el programa fuente. Muchas veces los intrpretes se usan para ejecutar
lenguajes de rdenes, pues cada operador que se ejecuta en un lenguaje de ordenes suele ser una
invocacin de una rutina compleja, como un editor o un compilador es el encargado de
COMPILADOR CONVENCIONAL
* Formadores de textos: Un formador de textos toma como entrada una cadena de caracteres, la mayor
parte de la cual es texto para componer, pero alguna incluye rdenes para indicar prrafos, figuras o
estructuras matemticas como subndices o superndices esto con comento el autor del libro de
Compiladores Addison Wesley.
* Intrpretes de consultas: Un intrprete de consultas traduce un predicado que contiene operadores
relacionales y booleanos a rdenes para buscar en una base de datos registros que satisfagan ese
predicado.
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 traduccin se identifican dos fases principales:
Fase de anlisis
Fase de Sntesis
1.4.1 Ensambladores.
El programa ensamblador es el programa que realiza la traduccin de un programa escrito en
ensamblador a lenguaje mquina. Esta traduccin es directa e inmediata, ya que las instrucciones en
ensamblador no son ms que nemotcnicos de las instrucciones mquina que ejecuta directamente la
CPU.
Tipos de ensambladores
Podemos distinguir entre tres tipos de ensambladores:
Ensambladores bsicos. Son de muy bajo nivel, y su tarea consiste bsicamente en ofrecer nombres
simblicos a las distintas instrucciones.
Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores bsicos. Hacen
todo lo que puede hacer un ensamblador, y adems 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 tambin el uso de macros, permiten utilizar estructuras de programacin ms complejas
propias de los lenguajes de alto nivel.
1.4.2 compiladores.
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin, es decir programa que permite traducir el cdigo fuente
de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (lenguaje mquina). Generando
un programa equivalente a capaz de interpretar.
Estructura de un Compilador.
Cualquier compilador debe realizar dos tareas principales: anlisis del programa a compilar y sntesis de
un programa en lenguaje maquina. Para el estudio de un compilador, es necesario dividir su trabajo en
fases. Cada fase representa una transformacin al cdigo fuente para obtener el cdigo objeto. En cada
una de las fases se utiliza un administrador de la tabla de smbolos y un manejador de errores.
FASES DE UN COMPILADOR.-
Componentes en que se divide un compilador:
Anlisis Lxico. En esta fase se lee los caracteres del programa fuente y se agrupan en cadenas que
representan los componentes lxicos. A la secuencia de caracteres que representa un componente lxico
se le llama lexema (o con su nombre en ingls token).
Ejemplo:
total=valor*5
Luego del anlisis lxico:
id = id * num
Anlisis Sintctico. Los componentes lxicos se agrupan en frases gramaticales que el compilador utiliza
para sintetizar la salida.
Anlisis Semntico. Intenta detectar instrucciones que tengan la estructura sintctica correcta, pero que
no tengan significado para la operacin implicada.
Generacin de cdigo Intermedio. Se puede considerar esta operacin intermedia como un subprograma
para una mquina abstracta, a esta representacin debe tener dos propiedades importantes: debe ser fcil
de producir y fcil de traducir al programa objeto.
Ejemplo:
a=b+c
1: + b c T1
2: = a T1
Optimizacin de Cdigo. Se trata de mejorar el cdigo intermedio, de modo que resulte un cdigo de
mquina ms rpido de ejecutar.
Ejemplo:
a=b+c
1: + b c a
Generacin de Cdigo. Esta constituye la fase final de un compilador.
Administrador de la tabla de smbolos. Se encarga de manejar los accesos a la tabla de smbolos, en cada
una de las etapas de compilacin de un programa.
Ejemplo:
a:=b+c
LOAD B
ADD C
STORE A
Manejador de errores. Es posible encontrar errores. De esta forma podrn controlarse ms
eficientemente los errores encontrados en cada una de las fases de la compilacin de un programa.
1.4.3 interpretes.
Los intrpretes realizan normalmente dos operaciones:
Traducen el cdigo fuente a un formato interno.
Ejecutan o interpretan el programa traducido al formato interno.
La primera parte del intrprete se llama a veces "el compilador", aunque el cdigo interno que genera no
es el lenguaje de la mquina, ni siquiera lenguaje simblico, ni tampoco un lenguaje de alto nivel.
Estructura
Particularidades de la interpretacin:
Ahorra memoria.
Produce un resultado que no se puede almacenar, lo cual hace la ejecucin lenta.
No demasiado eficiente, cada vez que se entre en un bucle se analizaran sus sentencias.
Facilita el proceso de depuracin.
No produce resultados transportables.
La interpretacin es til en:
Sistemas interactivos.
Programas de pequea envergadura.
Programas de prototipo y de enseanza.