Ingeniero

Páginas: 6 (1399 palabras) Publicado: 2 de marzo de 2014
TEMA I: INTRODUCCIÓN A LA COMPILACIÓN
1.1. Introducción a los compiladores.
Los principios y técnicas de escritura de compiladores son tan amplios que las ideas encontradas se usarán muchas veces en la carrera de un científico de la computación. La escritura de compiladores comprende los lenguajes de programación, la arquitectura de computadores, la teoría de lenguajes, los algoritmos y laingeniería de software. Por fortuna, con algunas técnicas básicas de escritura de compiladores se pueden construir traductores para una gran variedad de lenguajes y máquinas. En la compilación describiendo los componentes de un compilador, el entorno en el que trabajan los compiladores y algunas herramientas de software que facilitan la construcción de compiladores.
1.2. Análisis del programa fuente.El análisis y su uso en algunos lenguajes de formación de textos. En la compilación, el análisis consta de tres fases:
Análisis lineal, en el que la cadena de caracteres que constituye el programa fuente se lee de izquierda a derecha y se agrupa en componentes léxicos, que son secuencias de caracteres que tienen un significado colectivo.
Análisis jerárquico, en el que los caracteres o loscomponentes léxicos se agrupan jerárquicamente con colecciones anidadas con un significado colectivo.
Análisis semántico, en el que se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo.
1.3. Las fases de un compilador.
Un compilador opera en fases cada una de las cuales transforma al programa fuente de una representación en otra. Enla figura se muestra una descomposición típica de un compilador.
Las tres primeras fases que forman la mayor parte de la porción de análisis de un compilador. Las otras dos actividades, la administración de la tabla de símbolos y el manejo de errores, se muestran en interacción con las seis fases de análisis léxico, análisis sintáctico, análisis semántico, generación de código intermedio,optimación de código y generación de código.


1.4. Programas de sistemas relacionados con un compilador.
Los preprocesadores producen la entrada para un compilador, y pueden realizar las funciones siguientes:
• Procesamiento de macros. Un preprocesador puede permitir a un usuario definir macros, que son abreviaturas de construcciones más grandes.
• Inclusión de archivos. Un preprocesador puedeinsertar archivos de encabezamiento en el texto del programa. Por ejemplo, el preprocesador de C hace que el contenido del archivo reemplace a la proposición #include cuando procesa un archivo que contenga a esa proposición.
• Preprocesadores "racionales". Estos preprocesadores enriquecen los lenguajes antiguos con recursos más modernos de flujo de control y de estructuras de datos. Por ejemplo, unpreprocesador de este tipo podría proporcionar al usuario macros incorporadas para construcciones, como proposiciones while o if, en un lenguaje de programación que no las tenga.
• Extensiones a lenguajes. Estos preprocesadores tratan de crear posibilidades al lenguaje que equivalen a macros incorporadas. Por ejemplo, el lenguaje Equel es un lenguaje de consulta de base de datos integrado en C. Elpreprocesador considera las proposiciones que empiezan con ## como proposiciones de acceso a la base de datos, sin relación con C, y se traducen a llamadas de procedimiento a rutinas que realizan el acceso a la base de datos.
Ensambladores.
Algunos compiladores producen código ensamblador. Otros compiladores realizan el trabajo del ensamblador, produciendo código maquina relocalizable que sepuede pasar directamente al editor de carga y enlace.
En el código ensamblador se usan nombres en lugar de códigos binarios para operaciones, y también se usan nombres para las direcciones de memoria. Una secuencia típica de instrucciones en ensamblador puede ser:
MOV a, R1
ADD #2, R1
MOV R1, b
Este código pasa el contenido de la dirección al registro 1; después le suma la constante 2,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS