Compiladores

Solo disponible en BuenasTareas
  • Páginas : 54 (13452 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de noviembre de 2011
Leer documento completo
Vista previa del texto
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE COACALCO

Nombre de los Alumnos:

Marín Gómez Rolando
Gómez Dávila David Uriel
Hernández Salinas José Luis
García Villegas Álvaro Jesús
Morelos Castro Gerardo

Carrera: INGENIERÍA EN SISTEMAS COMPUTACIONALES.

Profesor:

Oscar Escobar Domínguez

Materia:
PROGRAMACION DE SISTEMAS

Grupo:
3511

La escritura de compiladorescomprende los lenguajes de programación, la arquitectura de computadoras, la teoría de lenguajes, los algoritmos y la ingeniería en software .
Un compilador es un programa que lee un programa escrito llamado lenguaje fuente y lo traduce a un programa equivalente en otro lenguaje llamado objeto. Como parte importante de este proceso la traducción el compilado informa a su usuario de la presencia deerrores en el programa fuente.
Nuestro conocimiento sobre saber como organizar y escribir compiladores ha aumentado mucho desde que comenzaron a aparecer los primeros compiladores a principios de los años cincuenta. Es difícil dar una fecha exacta de la aparición del primer compilador, porque en un principio gran parte del trabajo de experimentación y aplicación se realizo de manera independiente porvarios grupos. Gran parte de los primeros trabajos de compilación estaba relacionada con las traducción de formulas aritméticas a código maquina.
Modelos de análisis y síntesis de la compilación
En la compilación hay dos partes: análisis y síntesis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una presencia intermedia del programa fuente. La parte de lasíntesis construye el programa objeto deseado a partir de la presentación intermedia. De las dos partes, la síntesis es la que requiere la técnica mas especializadas.
Durante el análisis se determinan las operaciones que implica el programa fuente y se registran en una estructura jerárquica llamado árbol. A menudo, se usa una clase especial de árbol llamado árbol sintáctico, donde cada nodorepresenta una operación y los hijos de un nodo son argumentos de la operación

Árbol sintáctico para posición := inicial + velocidad * 60
Muchas herramientas de software que manipulan programas fuente realizan primero algún tipo de análisis. Algunos ejemplos de tales herramientas son
Editores de estructura: Un editor de estructura toma como entrada una secuencia de órdenes para construir unprograma fuente. El editor de estructuras no sólo realiza las funciones de creación y modificación de textos de un editor de textos ordinario, sino que también analiza el texto del programa imponiendo al programa fuente una estructura jerárquica apropiada. De esa manera, el editor de estructuras puede realizar tareas adicionales útiles para la preparación de programas.
Impresoras estéticas: Unaimpresora estética analiza un programa y lo imprime de forma que la estructura del programa resulte claramente visible.
Verificadores estáticos: Un verificador estático lee un programa, lo analiza e intenta descubrir errores potenciales sin ejecutar el programa. La parte del análisis a menudo similar a la que se encuentra en los compiladores de optimización Así, un verificador estático puede detectarsi hay partes de un programa que nunca se podrán ejecutar o si cierta variable se usa antes de ser definida. Además puede detectar errores de lógica, como intentar utilizar una variable real como apuntador, empleando las técnicas de verificación
Intérpretes: En lugar de producir un programa objeto como resultado de una traducción, un interprete realiza las operaciones que implica el programafuente. Para una proposición de asignación.
Muchas veces los intérpretes se usan para ejecutar lenguajes de órdenes, pues cada operador que se ejecutan en un lenguaje de órdenes suele ser una invocación de rutina compleja, como un editor o un compilador. Del mismo modo algunos lenguajes de “muy alto nivel”, como APL, normalmente son interpretados, por que hay muchas cosas sobre los datos, como el...
tracking img