Analizador Lexico (Compiladores)

Páginas: 24 (5956 palabras) Publicado: 23 de septiembre de 2012
Lenguajes de alto nivel y compiladores

UNIVERSIDAD DE CANTABRIA

Introducción a la tecnología de compiladores

GRUPO DE COMPUTADORES Y TIEMPO REAL
4

© Michael González Harbour
23/ene/04

1

DPTO. DE ELECTRÓNICA Y COMPUTADORES

Notas:
UNIVERSIDAD DE CANTABRIA

1. Compiladores 2. Análisis léxico 3. Análisis sintáctico 4. Conclusión

GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO.DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

2

1. Compiladores

UNIVERSIDAD DE CANTABRIA

“Un compilador es un programa que lee un programa escrito en un lenguaje, y lo traduce a un programa equivalente en otro lenguaje.” programa en lenguaje fuente programa en lenguaje destino

compilador

mensajes de error Durante la traducción el compilador informa de lapresencia de errores en el programa fuente.
GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

3

Notas:
UNIVERSIDAD DE CANTABRIA

Existen multitud de compiladores para un gran número de lenguajes fuente y lenguajes destino. Los compiladores se utilizan tanto para lenguajes de programación tradicionales, como Fortran, C o Ada,o para aplicaciones especializadas como por ejemplo lenguajes de descripción de hardware, lenguajes de programación de robots, etc. Los primeros compiladores aparecieron a primeros de los años 50, como resultado de proyectos para la traducción de fórmulas aritméticas en código máquina. Los primeros compiladores eran costosos de implementar. Hoy en día existen técnicas sistemáticas para construircompiladores que hacen más sencillo el proceso.

GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

4

Análisis y síntesis
Compilación

UNIVERSIDAD DE CANTABRIA

Análisis

Síntesis

Léxico: “tokens”

Sintáctico: instrucciones

Semántico: significado

Generación de código

GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO.DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

5

Notas:
UNIVERSIDAD DE CANTABRIA

Existen dos partes importantes en la compilación: • Etapa de análisis: Parte el programa fuente en sus piezas constituyentes y crea una representación intermedia del mismo. - Análisis léxico: separación de cada elemento componente del programa (“token”) - Análisis sintáctico:separación de cada instrucción o sentencia del lenguaje, que agrupa varios componentes léxicos o “tokens”. - Análisis semántico: Se revisa el programa fuente para comprobar que las reglas semánticas del lenguaje (aquellas relativas al significado de las distintas instrucciones) se cumplen. Un ejemplo de regla semántica es la comprobación de tipos en las expresiones. • Etapa de síntesis: Construye elprograma destino deseado a partir de una descripción en un lenguaje de representación intermedia. De las dos partes de la compilación, la síntesis es la que requiere las técnicas más especializadas, aunque en los lenguajes de programación modernos (Ada, C++, Java) la parte de análisis está alcanzando una gran complejidad. Durante la fase de análisis la estructura del programa se guarda en unaestructura de datos especial que suele ser un árbol: el árbol sintáctico.

GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

6

Análisis y síntesis (cont.)

UNIVERSIDAD DE CANTABRIA

Algunas herramientas presentan también una etapa de análisis: - Editores orientados al lenguaje - Impresión con formato (“pretty printer”) -Comprobadores estáticos de programas - Intérpretes

GRUPO DE COMPUTADORES Y TIEMPO REAL DPTO. DE ELECTRÓNICA Y COMPUTADORES

© Michael González Harbour
23/ene/04

7

Notas:
UNIVERSIDAD DE CANTABRIA

La etapa de análisis se encuentra en muchas herramientas además de los compiladores: • Editores orientados al lenguaje: Además de facilitar la introducción de texto por el teclado analiza el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analizador Léxico
  • Analizador Lexico
  • Analizador Lexico
  • Analizador Lexico
  • Analizadores lexicos
  • Analizador Lexico
  • analizador lexico
  • Analizador Lexico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS