INTRODUCCIÓN COMPILADORES<br />Néstor Traña Obando<br />
¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?<br />Un lenguaje de programación puede definirse como: “Notación formal para describi...
Lenguaje ensamblador o de bajo nivel (versión simbólica de un lenguaje máquina).
Lenguaje de medio nivel (lenguaje C).
Lenguaje de alto nivel (FORTRAN, COBOL, Pascal).</li></ul>Néstor Traña Obando<br />
PROCESADORES DE LENGUAJES<br />Traductor: Un traductor es un programa que procesa un texto fuente y genera un texto objeto...
El tiempo que tarda en ejecutarse un programa objeto se denomina tiempo de ejecución</li></ul>Intérpretes: Los intérpretes...
OTROS CONCEPTOS…<br />Programación de Sistemas: Conjunto de reglas para crear soluciones a problemas computables. Conjunto...
COMPOSICIÓN DE UNG PROGRAMA<br />Néstor Traña Obando<br />
ESTRUCTURA DE UN COMPILADOR<br />Néstor Traña Obando<br />
Upcoming SlideShare
Loading in …5
×

Introducción A Compiladores

2,749 views
2,647 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,749
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
89
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción A Compiladores

  1. 1. INTRODUCCIÓN COMPILADORES<br />Néstor Traña Obando<br />
  2. 2. ¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?<br />Un lenguaje de programación puede definirse como: “Notación formal para describir algoritmos o funciones que serán ejecutados por una computadora”, o bien, un lenguaje para comunicar instrucciones a la computadora.<br />Los lenguajes de programación según su grado de independencia de la máquina pueden<br />ser:<br /><ul><li> Lenguaje máquina (representación binaria o hexadecimal.).
  3. 3. Lenguaje ensamblador o de bajo nivel (versión simbólica de un lenguaje máquina).
  4. 4. Lenguaje de medio nivel (lenguaje C).
  5. 5. Lenguaje de alto nivel (FORTRAN, COBOL, Pascal).</li></ul>Néstor Traña Obando<br />
  6. 6. PROCESADORES DE LENGUAJES<br />Traductor: Un traductor es un programa que procesa un texto fuente y genera un texto objeto o lenguaje objeto (p. e.: lenguaje máquina, ensamblador, alto nivel).<br />Compiladores: Un traductor que transforma textos fuente de lenguajes de alto nivel a lenguajes de bajo nivel se le denomina compilador.<br /><ul><li>El tiempo que se necesita para traducir un lenguaje de alto nivel a lenguaje objeto se denomina tiempo de compilación.
  7. 7. El tiempo que tarda en ejecutarse un programa objeto se denomina tiempo de ejecución</li></ul>Intérpretes: Los intérpretes son programas que simplemente ejecutan las instrucciones que encuentran en el texto fuente. En muchos casos coexisten en memoria el programa fuente y el programa intérprete.<br />Néstor Traña Obando<br />
  8. 8. OTROS CONCEPTOS…<br />Programación de Sistemas: Conjunto de reglas para crear soluciones a problemas computables. Conjunto de herramientas que nos permiten crear software de base que son de utilidad para interactuar con la máquina.<br />Software de Base: Compilador, Querys, Sistema Operativo, Cargador.<br />Autómata: Son las cadenas posibles que aceptan un lenguaje.<br />Expresiones Regulares: Conjunto de símbolos que aceptan una palabra reservada.<br />Gramática: Reglas para escribir las sentencias del lenguaje.<br />Néstor Traña Obando<br />
  9. 9. COMPOSICIÓN DE UNG PROGRAMA<br />Néstor Traña Obando<br />
  10. 10. ESTRUCTURA DE UN COMPILADOR<br />Néstor Traña Obando<br />
  11. 11. ¿Qué es lo que hacen los componentes de un compilador en sus fases, cuando tiene que analizar la siguiente preposición?<br />Preposición: Suma= var1+var2+10<br />Análisis Léxico: El analizador léxico lee los caracteres del programa fuente, y verifica que correspondan a una secuencia lógica (identificador, palabra reservada etc.). Esta secuencia de caracteres recibe el nombre componente léxico o lexema. En este caso el analizador léxico verifica si el identificador id1 (nombre interno para "suma") encontrado se halla en la tabla de símbolos, si no esta produce un error porque todavía no fue declarado, si la preposición hubiese sido la declaración del identificador "suma" en lenguajes C, C++ (int suma;) el analizador léxico agregaría un identificador en la tabla de símbolos, y así sucesivamente con todos los componentes léxicos que aparezcan.<br />id1= id2+ id3 * 10<br />Néstor Traña Obando<br />
  12. 12. ¿Qué es lo que hacen los componentes de un compilador en sus fases, cuando tiene que analizar la siguiente preposición?<br />Preposición: Suma= var1+var2+10<br />Análisis Sintáctico: El analizador sintáctico impone una estructura jerárquica a la cadena de componentes léxicos, generada por el analizador léxico, que es representada en forma de un árbol Sintáctico.<br />Análisis Semántico: El analizador semántico verificara en este caso que cada operador tenga los operandos permitidos.<br />Néstor Traña Obando<br />
  13. 13. ¿Qué es lo que hacen los componentes de un compilador en sus fases, cuando tiene que analizar la siguiente preposición?<br />Preposición: Suma= var1+var2+10<br />Generador de Código Intermedio: Esta etapa se lleva la preposición a una representación intermedia como un programa para una maquina abstracta.<br />Optimización de Código: El código intermedio obtenido es representado de una forma más óptima y eficiente.<br />Néstor Traña Obando<br />
  14. 14. GRACIAS<br />Si una persona es perseverante, aunque sea dura de entendimiento, se hará inteligente; y aunque sea débil se transformará en fuerte."(Leonardo Da Vinci)<br />Néstor Traña Obando<br />

×