La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CONDICIONES DE LA MATERIA

Presentaciones similares


Presentación del tema: "CONDICIONES DE LA MATERIA"— Transcripción de la presentación:

1 CONDICIONES DE LA MATERIA
Universidad Nacional de Jujuy Facultad de Ingeniería COMPILADORES CONDICIONES DE LA MATERIA Elizabeth Reinoso

2 DOCENTES DE LA MATERIA PROFESOR A CARGO PROFESORA DE PRACTICAS
ING. ELIZABETH REINOSO CORREO: PROFESORA DE PRACTICAS ING. FABIANA ARAGON CORREO: Elizabeth Reinoso:

3 HORARIOS DE CLASES TEORIAS PRACTICAS ING. ELIZABETH REINOSO
LUNES DE : 11:00 A 14:00 AULA 17 CONSULTA: MARTES DE 16:00 A 18:00 GAB. 18 PRACTICAS ING. FABIANA ARAGON MIERCOLES DE : 10:00 A 13:00 CONSULTA: JUEVES DE 15:00 A 16:00 GAB. 18 Elizabeth Reinoso:

4 CONDICIONES DE LA MATERIA
CUATRIMESTRAL 2 PARCIALES UN RECUPERATORIO ENTREGA DE TRABAJOS PRACTICOS ANTES DE CADA PARCIAL ENTREGA DE TRABAJO FINAL. Elizabeth Reinoso:

5 CONDICIONES DE EVALUACION
REGIMEN DE REGULARIDAD Para regularizar la materia los alumnos deberán aprobar Los prácticos de programación propuestos (fuente y ejecutable) incluyendo un informe del trabajo realizado. Dos exámenes parciales 1 teórico y 1 práctico o sus respectivas recuperaciones. Setenta por ciento (50%) es el porcentaje mínimo, de los ejercicios y/o preguntas a resolver, necesario para aprobar cada parcial La entrega del trabajo final dado (fuente y ejecutable) Elizabeth Reinoso:

6 CONDICIONES DE EVALUACION
REGIMEN DE PROMOCION Para promocionar la materia los alumnos deberán aprobar: Los prácticos de programación propuestos (fuente y ejecutable) incluyendo un informe del trabajo realizado. Dos exámenes parciales 1 teórico y 1 práctico o sus respectivas recuperaciones. Setenta por ciento (70%) es el porcentaje mínimo, de los ejercicios y/o preguntas a resolver, necesario para aprobar cada parcial. La entrega del trabajo final dado (fuente y ejecutable) La nota final se computará promediando las notas obtenidas en los puntos 1 , 2 y 3. Elizabeth Reinoso:

7 FECHAS TENTATIVAS DE PARCIALES
1° PARCIAL: 07 DE MAYO DE 2012 2° PARCIAL : 18 DE JUNIO DE 2012 RECUPERATORIO 1° Y 2° PARCIAL: 25 DE JUNIO Elizabeth Reinoso:

8 Universidad Nacional de Jujuy Facultad de Ingeniería
COMPILADORES INTRODUCCION Elizabeth Reinoso

9 Objetivos Generales Aprender qué es un compilador
Conocer los tipos de compiladores que existen Conocer la diferencia entre compilador e interprete Familiarizarse con el contexto de un compilador Aprender la estructura y fases de un compilador Eliz9abeth Reinoso:

10 Índice General ¿Qué es un compilador? Compiladores e interpretes
Contexto de un compilador Tipos de compiladores Estructura de un compilador Elizabeth Reinoso:

11 ¿Qué es un Compilador? Lenguaje Fuente TRADUCTOR Lenguaje Objeto Traductor Alto Nivel Lenguaje Fuente Bajo Nivel Compilador Un compilador es un programa que lee un programa escrito en lenguaje fuente, y lo traduce a un lenguaje objeto de bajo nivel. Además generará una lista de los posibles errores que tenga el programa fuente Elizabeth Reinoso:

12 Compiladores e Interpretes
Una única compilación Mayor velocidad ejecución Mayor detalle de errores Mayor consumo de memoria Interpretes Interpretación en ejecución Menor velocidad ejecución Menor detalle de errores Menor consumo de memoria Elizabeth Reinoso:

13 Contexto de un Compilador
.H Contexto Precompilador Compilador Enlazador (montador) Depurador Ensamblador Precompilador .C .ASM Compilador Ensamblador .OBJ .OBJ .OBJ .DLL .LIB Enlazador WIN.EXE .ASM .EXE Ensamblador .EXE Elizabeth Reinoso:

14 Tipos de Compiladores Tipos de compiladores Ensamblador
Compilador cruzado Compilador con montador Autocompilador Metacompilador Descompilador Elizabeth Reinoso:

15 Estructura de un Compilador
Prog. Fuente Independencia Física Análisis Léxico Análisis Sintáctico Análisis Semántico Tabla de Símbolos Generación de Código Intermedio Gestión de Errores Optimización de Código Intermedio Dependencia Física Generación de Código Objeto Prog. Objeto

16 Análisis Léxico Tipos de tokens Específicos No específicos Estructura
Palabras reservadas Separadores Operadores No específicos Identificadores Constantes Etiquetas Estructura Tipo Lexema El analizador léxico o scanner, transforma el texto fuente en una secuencia ordenada de elemento léxicamente válidos (tokens) w h i l e G. Errores Análisis Léxico Tabla de Simbolo [WORDRESERVED, WHILE] Elizabeth Reinoso:

17 Análisis Léxico Tipos de tokens Específicos No específicos Estructura
El analizador léxico o scanner, transforma el texto fuente en una secuencia ordenada de elemento léxicamente válidos (tokens) Tipos de tokens Específicos Palabras reservadas Separadores Operadores No específicos Identificadores Constantes Etiquetas Estructura Tipo Lexema w h i l e Tabla de Simbolo G. Errores Error Análisis Léxico Los errores léxicos son difíciles de detectar y suelen delegarse en el análisis sintáctico [WORDRESERVED, WHILE] Elizabeth Reinoso:

18 Análisis Léxico Tipos de tokens Específicos No específicos Estructura
El analizador léxico o scanner, transforma el texto fuente en una secuencia ordenada de elemento léxicamente válidos (tokens) Tipos de tokens Específicos Palabras reservadas Separadores Operadores No específicos Identificadores Constantes Etiquetas Estructura Tipo Lexema d a e G. Errores Análisis Léxico Tabla de Símbolo ID [ID, “edad”] Elizabeth Reinoso:

19 Análisis Sintáctico Definición Funciones Guiar la traducción
Gestión de errores prelación de operadores A/B*C = A/(B*C) A/B*C = (A/B) * C El analizador sintáctico o parser recibe los tokens y comprueba su ordenación correcta. Genera un árbol sintáctico A:= B + C Análisis Sintáctico := A + B C Elizabeth Reinoso:

20 Análisis Sintáctico Definición Funciones Guiar la traducción
Gestión de errores prelación de operadores A/B*C = A/(B*C) A/B*C = (A/B) * C El analizador sintáctico o parser recibe los tokens y comprueba su ordenación correcta. Genera un árbol sintáctico A:= B + C Análisis Sintáctico G. Errores Elizabeth Reinoso:

21 Análisis Semántico Definición Validación
Tipo de resultados intermedios Conversiones implícitas de tipos Sobrecarga de operadores El analizador semántico comprueba que el árbol sintáctico es semánticamente válido. Genera un árbol semántico o etiquetado := A + B C Análisis Semántico Tipo A, B, C? := A + B C Real Tabla de Símbolos Integer Real Elizabeth Reinoso:

22 Análisis Semántico Definición Validación
Tipo de resultados intermedios Conversiones implícitas de tipos Sobrecarga de operadores El analizador semántico comprueba que el árbol sintáctico es semánticamente válido. Genera un árbol semántico o etiquetado := A + B C Análisis Semántico Tipo A, B, C? := A + B C Tabla de Símbolos Real G. de Errores B (is char) Char Real Elizabeth Reinoso:

23 Generación de Código Intermedio
Definición Lenguajes sencillos Tercetos Cuartetos El generador de código intermedio transforma un árbol semántico de una representación en un lenguaje intermedio cercano al código objeto L1: IF A>B GOTO L2 GOTO L3 L2: T1 := 2*B T2 := T1 – 5 IF A< T2 GOTO L4 L4: A := A + B GOTO L1 L3: … WHILE (A>B) AND (A<2*B-5) DO A:=A+B Generación de Código Intermedio

24 Optimizacion de Código
Definición Fases Independiente de la máquina Dependiente de la máquina Eliminación de saltos consecutivos El optimizador de código realiza modificaciones sobre el código intermedio para mejorar la eficiencia en velocidad y tamaño. L1: IF A>B GOTO L2 GOTO L3 L2: T1 := 2*B T2 := T1 – 5 IF A< T2 GOTO L4 L4: A := A + B GOTO L1 L3: … L1: IF A<=B GOTO L2 T1 := 2*B T2 := T1 – 5 IF A>= T2 GOTO L2 A := A + B GOTO L1 L2: … Optimizador

25 Optimizacion de Código
Factorizacion de Expresiones Comunes Extracción de Invariantes A := B + C + D E := B + C + F T1 := B + C A := T1 + D E := T1 + F Optimizador REPEAT B := 1 A := A – B UNTIL A = 0 B := 1 REPEAT A := A – B UNTIL A = 0 Optimizador Elizabeth Reinoso:

26 Generación de Código Objeto
Definición Lenguaje objeto Ensamblador Código máquina El generador de código objeto transforma el código intermedio optimizado en código objeto de bajo nivel LD AX, B LD BX, C ADD AX, BX ST AX, A Generador de código intermedio Generador de código objeto A := B + C Elizabeth Reinoso:

27 Tabla de Simbolos Almacena estructuras de datos Operaciones Variables
Constantes Etiquetas Tipos Valores Signatura de funciones Operaciones Insertar símbolo Consultar símbolo Borrar símbolo Elizabeth Reinoso:

28 Gestión de Errores Detección de errores Recuperación de errores
Léxicos (se delegan al sintáctico) Sintácticos Semánticos Recuperación de errores Parar al primer error Recuperar volviendo a un contexto fiable Elizabeth Reinoso:

29 [AHO] AHO, SETHI, ULLMAN: Compiladores: Principios, técnicas y herramientas,: Addison-Wesley Iberoamericana, 1990 [GARRIDO] A. Garrido, J. Iñesta, F. Moreno y J. Pérez Diseño de compiladores. Universidad de Alicante.


Descargar ppt "CONDICIONES DE LA MATERIA"

Presentaciones similares


Anuncios Google