Compiladores
Enviado por LuisN17 • 27 de Mayo de 2014 • 881 Palabras (4 Páginas) • 301 Visitas
Como surgen los compiladores
• En 1954: IBM desarrolla su modelo 704 (Fortran)
- Software de desarrollo excede el costo del hardware
- La programación se realiza en ensamblador
• Programación en forma de interpretadores.
- “Código veloz”.
- Se ejecutan de 10 a20 veces más rápido que el ensamblador.
• John Backus: “Un programa que traduzca expresiones de alto nivel en un código nativo”.
• 1954 –1957 Proyecto dFORTRAN I
- Surge el Primer compilador
- Compiladores modernos conservan sus líneas básicas
Compiladores, Intérpretes y Programas similares
• ¿Qué es un compilador?
Es un programa que traduce un programa escrito en un lenguaje fuente (alto nivel ) a un programa objeto escrito en lenguaje de bajo nivel (de máquina).
Lenguaje Fuente Compilador Lenguaje Objeto
Mensajes de error
• ¿Qué es un Interpretador?
Es un programa que tiene por entrada un programa escrito en lenguaje fuente (Alto nivel) y como salida ejecuta las acciones indicadas por el lenguaje fuente.
• Traductor
Recibe una entrada en un lenguaje y produce una salida en otro lenguaje.
• Programas similares
- Preprocesadores (Ej.: 4GL’s, UIL’s)
- Extensiones a lenguajes. (Ej.: Lenguajes embebidos ESQL/C, Graficación, etc..)
- Convertidores de código. (Traductores de lenguajes, Generadores de código).
• Aplicaciones que utilizan técnicas de compiladores.
- Editores de texto
- Formateadores de texto
- Reconocimiento de patrones.
FASES DE UN COMPILADOR
• Relación entre fases:
- Cada frase toma una representación y entrega otra relacionada en forma lógica.
• Por que en frases?
- Por que se requieren por la necesidad de facilitar, verificar, optimizar y ejecutar con eficiencia.
ANALISIS LEXICOGRAFICO
• El primer paso para comprender una oración es el reconocimiento de palabras
- Son la unidad más pequeña después de las letras.
• El entender palabras no es una labor trivial
Esta es una oración.
Taes anu cionaro.
- La letra mayúscula inicia la oración
- El espacio en blanco es un separador.
- El punto indica la terminación de la oración.
• Explora en forma secuencial el programa fuente y lo separa los caracteres en grupos para obtener los elementos básicos o muestras (Tokens):
- Palabras clave: DO, WHILE, IF, integer, etc.
- Identificadores: total, id, x40, prentj, etc.
- Símbolos Operadores: +,-,*,/,=,etc.
- Representación gráfica: Iconos, Figuras, etc.
• Salida:
- Cadena de muestras que pueden asociarse con símbolos utilizados por el Análisis sintáctico.
- Información para la tabla de símbolos.
ANALISIS SINTACTICO
• Una vez que las palabras son comprendidas el segundo paso es entender la estructura de la oración.
Esta materia es una gran clase
• Verifica que las muestras obtenidas por el Analizador léxico se encuentren dentro de la estructura sintáctica del lenguaje.
• Identifica ciertas clases sintácticas definidas por la gramática del lenguaje y produce un árbol donde las clases son los nodos y las muestras las hojas.
Ejemplo: Lenguaje de programación
Gramática: A,B,C=, +, declaración, expresión, identificador.
• El árbol de análisis sintáctico se usa en etapas subsecuentes.
• Entendida la estructura de la oración, el tercer paso es comprender el significado.
• Verifica el significado de la oración con respecto a las reglas semánticas del lenguaje.
• Realiza una
...