lenguajes de programaci n n.
Download
Skip this Video
Download Presentation
Lenguajes de Programación

Loading in 2 Seconds...

play fullscreen
1 / 16

Lenguajes de Programación - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

Lenguajes de Programación. 1.3 Compiladores e Intérpretes. Berenice de los Ángeles Fernández Abarca Marzo 2005. Análisis Léxico, Sintáctico y Semántico.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Lenguajes de Programación' - asasia


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
lenguajes de programaci n

Lenguajes de Programación

1.3 Compiladores e Intérpretes

Berenice de los Ángeles Fernández Abarca

Marzo 2005

an lisis l xico sint ctico y sem ntico
Análisis Léxico, Sintáctico y Semántico
  • Análisis Léxico (lineal o exploración). Consiste en descomponer el programa fuente en secuencias de caracteres con significado especial (componentes léxicos). Aísla los símbolos, identifica su tipo, y guarda su información en una tabla de símbolos.
an lisis l xico sint ctico y sem ntico1
Análisis Léxico, Sintáctico y Semántico
  • Componentes Léxicos en un lenguaje de programación: palabras clave, operadores, identificadores, constantes, cadenas literales y signos de puntuación.
an lisis l xico sint ctico y sem ntico2
Análisis Léxico, Sintáctico y Semántico

=

<

Inicio

0

0

0

0

1

2

  • Diagrama de transiciones.

>

0

3

=

0

5

>

0

0

7

6

=

an lisis l xico sint ctico y sem ntico3
Análisis Léxico, Sintáctico y Semántico
  • Análisis Sintáctico (Jerárquico). Agrupa los componentes léxicos en frases gramaticales.
  • El analizador sintáctico comprueba si una cadena dada en el programa fuente, puede o no ser generada por la gramática del lenguaje fuente.
an lisis l xico sint ctico y sem ntico4
Análisis Léxico, Sintáctico y Semántico
  • Análisis descendente. Construye el árbol sintáctico de la raíz a las hojas.
    • Por descenso recursivo. Se busca una derivación por la izquierda para una cadena de entrada.
    • Predictivo. Dado el símbolo actual de entrada y el no terminal a expandir, se analiza cual de las reglas de producción tiene una cadena que comience con el símbolo.
    • Predictivo no recursivo. Mantiene la pila explícitamente, en lugar de hacer llamadas recursivas.
an lisis l xico sint ctico y sem ntico5
Análisis Léxico, Sintáctico y Semántico
  • Análisis Sintáctico ascendente. Se construye el árbol sintáctico de las hojas hacia la raíz.
    • Análisis por reducción y desplazamiento. Se reduce la cadena de entrada cambiando le lado derecho de una regla de producción por el lado izquierdo, hasta llegar al símbolo de inicio de la gramática.
    • Análisis por precedencia de operadores.
    • LR.
an lisis l xico sint ctico y sem ntico6
Análisis Léxico, Sintáctico y Semántico
  • Análisis Semántico. Se analiza que el programa fuente tenga un significado. Dicho significado se obtiene de las estructuras sintácticas encontradas, y los símbolos definidos en la tabla de símbolos
generaci n de c digo ejecuci n e interpretaci n
Generación de código, ejecución e interpretación
  • Si el programa fuente no presenta errores en el análisis sintáctico, y semántico, se genera un código intermedio.
  • Si el programa hace referencia a módulos o rutinas fuera del programa fuente, se hace el enlace con estos componentes, generando el código objeto.
implementaci n compilaci n interpretaci n e implementaci n h brida
Implementación: compilación, interpretación e implementación híbrida

Las formas de implementar un lenguaje de alto nivel son:

  • Compilador
  • Intérprete
  • Implementación Híbrida
implementaci n compilaci n interpretaci n e implementaci n h brida1
Implementación: compilación, interpretación e implementación híbrida

El compilador es un programa que lee un código fuente, escrito en un lenguaje, llamado lenguaje fuente, y lo traduce en un programa equivalente en otro lenguaje, llamado lenguaje objeto.

Programa Fuente

Programa Objeto

Compilador

Mensajes de Error

implementaci n compilaci n interpretaci n e implementaci n h brida2
Implementación: compilación, interpretación e implementación híbrida

El compilador realiza la traducción de un programa fuente en un programa objeto en 2 fases:

  • Análisis. Divide el programa fuente en sus elementos componentes y crea una representación intermedia.
  • Síntesis. Construye el programa objeto a partir de la representación intermedia.
implementaci n compilaci n interpretaci n e implementaci n h brida3
Implementación: compilación, interpretación e implementación híbrida

Programa Fuente

Analizador Léxico

Cadena de C. Léxicos

Analizador Sintáctico

Árbol Sintáctico

Analizador Semántico

Administrador de la tabla de símbolos

Árbol Sintáctico Abstracto

Manejador de Errores

Generador de Código Intermedio

Código Intermedio

Optimizador de Código

Código Modificado

Generador de Código

Programa Objeto

implementaci n compilaci n interpretaci n e implementaci n h brida4
Implementación: compilación, interpretación e implementación híbrida

El intérprete es un programa que simula una máquina que entiende el lenguaje de alto nivel. Dicho intérprete, simula el programa que está siendo interpretado.

Programa Fuente

Salida

Intérprete

Mensajes de Error

implementaci n compilaci n interpretaci n e implementaci n h brida5
Implementación: compilación, interpretación e implementación híbrida

La implementación híbrida, traduce un programa fuente en un programa objeto, que sirve como entrada a un intérprete.

Programa Objeto

Programa Fuente

Salida

Compilador

Intérprete

Mensajes de Error

Mensajes de Error