Your SlideShare is downloading. ×
  • Like
Compilador
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

 

Published in Education , Travel , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • muy buena la informacion
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
39,915
On SlideShare
0
From Embeds
0
Number of Embeds
10

Actions

Shares
Downloads
529
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Compilador Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en código máquina .
  • 2. Intérprete
    • Es un traductor que realiza la operación de compilación paso a paso. Para cada sentencia que compone el texto de entrada, se realiza una traducción, ejecuta dicha sentencia y vuelve a iniciar el proceso con la sentencia siguiente. La principal ventaja del proceso de compilación frente al de interpretación es que los programas se ejecutan mucho más rápidamente una vez compilados; por el contrario, es más cómodo desarrollar un programa mediante un intérprete que mediante un compilador puesto que en el intérprete las fases de edición y ejecución están más integradas.
  • 3.
    • La depuración de los programas suele ser más fácil en los intérpretes que en los compiladores puesto que el código fuente está presente durante la ejecución. Estas ventajas pueden incorporarse al compilador mediante la utilización de entornos de desarrollo y depuradores simbólicos en tiempo de ejecución.
  • 4. Traductor
    • Es una máquina teórica que tiene como entrada un texto escrito en un lenguaje L1 y como salida un texto escrito en un lenguaje L2. Habitualmente se denomina a L1 lenguaje fuente y a L2 lenguaje objeto .
  • 5. Fases de un Compilador
    • Análisis Léxico: Esta fase se encarga de verificar si todas las cadenas pertenecen o no al lenguaje. Es decir realiza un análisis símbolo por símbolo indicando el token por cada uno de los elementos reconocidos o el error en caso de no reconocer. Este análisis no logra detectar muchos errores por su característica.
  • 6.
    • Ejemplo:
    • total=valor*5
    • Luego del análisis léxico:
    • id = id * num
  • 7. Análisis Sintáctico
    • En esta fase se analiza la estructura de las expresiones en base a gramáticas. Aqui ya se puede determinar si una extructura por ejemplo una expresión matemática mal formada. El análisis que se realiza es jerárquico es decir en base a árboles de derivación que se obtienen de las mismas gramáticas. Ejemplo: position:=initial + rate*60
  • 8.  
  • 9. Análisis Semántico
    • Este análisis es más dificil de formalizar, determina el tipo de los resultados intermedios, comprobar que los argumentos que tienen un operador pertenecen al conjunto de operadores posible, y si son compatibles entre sì.
  • 10.  
  • 11.  
  • 12. Generación de Código Intermedio
    • El código intermedio es una representación en base a elementos de 3 y 4 direcciones. Lo que nos permite llegar a la fase de optimizaciòn de código.
    a=b+c 1: + b c T1 2: = a  T1
  • 13. Optimización de Código
    • Consiste en realizar uuna mejora en el código intermedio, para reducir el número de líneas y hacer que la ejecución sea más rápida
    a=b+c 1: + b c a
  • 14. Generación de Código
    • Llegamos a la generación de código ensamblador o código máquina del procesador que nos interese por ejemplo:
    a:=b+c LOAD B ADD C STORE A
  • 15. Herramientas
    • A continuación se muestran algunas de las herramientas disponibles que pueden utilizarse para la realización del Proyecto de Compiladores
  • 16.  
  • 17. Ensambladores Simbólicos ENS Los ensambladores simbólicos ENS permiten ensamblar, ejecutar y depurar el código ensamblador generado por el compilador. Dentro de los ficheros comprimidos que se pueden obtener en la tabla, se encuentra información sobre su uso, su sintaxis y algún ejemplo de funcionamiento. El compilador construido en el Proyecto de Compiladores tiene que generar como código objeto uno de estos ensambladores.
  • 18.  
  • 19.
    • FIN