SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
COMPILADORES E
INTERPRETES
Ing. Marvin Osmaro ParadaCLASS 01
Contenido
Inicio
Presentación de programa
Introducción
Normativa en el aula
 GUARDAR SILENCIO.
 MANTENER EL CELULAR EN VIBRADOR.
 NO USAR GORRA DENTRO DEL SALÓN DE CLASES
 NO SALIR Y ENTRAR INNECESARIAMENTE DEL AULA.
 PEDIR LA PALABRA PARA INTERVENIR EN LA CLASE.
 RESPETAR LAS OPINIONES DE LOS DEMÁS.
 PUNTUALIDAD.
 OTRAS NORMAS QUE SERÁN INCLUIDAS EN EL
TRANSCURSO DEL CICLO.
Acerca de…
Ciclo Académico : VII/2016
Carrera : Ingeniería de Sistemas y Redes
Asignatura : Compiladores e Interpretes
N° de orden en Pensum : 28
Código : 83
Número de Horas por Ciclo : 80 Horas
Duración del Ciclo en Semanas : 20 Semanas
Identificación del Ciclo Académico : VII
Pre – Requisito : Programación Computacional IV
ASIGNATURA:
COMPILADORES E INTERPRETES
DOCENTE TITULAR:
ING. MARVIN OSMARO PARADA
GRUPO:
INGENIERIA EN SISTEMAS Y
REDES INFORMATICAS
CICLO I - 2016
HORARIO: MARTES Y JUEVES.
HORA: 10.40 – 12.40 AULA: Lab. Computo y 3
Acerca de…
DESCRIPCIÒN DE LA ASIGNATURA
 La cátedra de Compiladores e Intérpretes presenta una
introducción al software cuya función única es compilar
programas fuentes en un determinado lenguaje, y
producir programas ejecutables, la asignatura cubre los
fundamentos conceptuales, el principio de
funcionamiento, la estructura básica; así también
presenta un estudio de aspectos, léxicos, sintácticos y
semánticos propios de un compilador.
 Al final se realiza un proyecto que será el producto de
la asistencia técnica proporcionada al alumno y su
ingenio en el diseño de compiladores e intérpretes.
OBJETIVO DEL AREA DE COMPETENCIA
 Aplicar técnicas y procedimientos para traducir
código fuente en código intermedio y final.
COMPETENCIAS ESPERADAS DE LA ASIGNATURA
 Propone modelos en versión académica de los
módulos internos de un compilador,
incluyendo la conversión de código fuente a
código intermedio.
 Conoce la teoría relacionada con los traductores,
compiladores e intérpretes.
 Conoce la estructura básica de un compilador
Ing. Marvin Osmaro Parada
ACERCA DEL PROGRAMA DE ESTUDIO…….
Ing. Marvin Osmaro Parada
Unidad 01: Introducción a Los Traductores
 1.1 Conceptos Generales
 1.2 Clasificación de los Traductores
 1.3 Metalenguajes
 1.4 Estructura de un Compilador
Ing. Marvin Osmaro Parada
Unidad 02: Análisis Léxico
 2.1 Definición – Implementación
 2.2 Conceptos de Token, patrones, lexema y atributo
 2.3 Especificaciones de un Token. Expresiones regulares
 2.4 El Autómata Finito
 2.5 La Tabla de Transición
 2.6 Tratamiento de Errores
 2.7 Tabla de Símbolos
Ing. Marvin Osmaro Parada
Unidad 03: Análisis Sintáctico
 3.1 Gramáticas Libres de Contexto
 3.2 Derivación. Ambigüedad
 3.3 Analizador Sintáctico. Tipos
 3.4 Analizador Sintáctico descendente determinista LL(1)
 3.5 Comprobación si una gramática es LL(1). Iniciales y
seguidores autómatas de pilas
 3.6 Tabla de Análisis
 3.7 Tratamiento de errores.
Ing. Marvin Osmaro Parada
Unidad 04 Análisis Semántico
 4.1 Introducción
 4.2 Especificación formal
 4.3 Fases en el Análisis Semántico
 4.4 Determinación de los tipos de Comprobaciones
Semánticas a Realizar
 4.5 Implementación de acciones Semánticas
Ing. Marvin Osmaro Parada
Unidad 05 Lenguajes Intermedios y Generación de
Código
 5.1 Lenguajes Intermedios, Definición y Tipos
 5.2 Optimización Independiente de la Máquina
 5.3 Generador de Código Intermedio y Final
 5.4 Optimización Dependiente de la Máquina
Ing. Marvin Osmaro Parada
Unidad 06 Proyecto
 6.1 Proceso para Diseñar un Lenguaje de
Programación
 6.2 Implementación del Analizador Léxico
 6.3 Implementación del Analizador Sintáctico
 6.4 Implementación del Analizador Semántico
 6.5 Obtención de código Intermedio
Ing. Marvin Osmaro Parada
Sistemas de
Evaluación
Ing. Marvin Osmaro Parada
MEAP
REFERENCIAS:
ACTI.: Actividad.
POND.: Ponderación de cada actividad.
P. C.: Ponderación del cómputo.
ASIST.: Asistencia.
PRAC.: Practica
TAR. : Tarea del Laboratorio.
E. C.: Examen Corto del Laboratorio.
LABORATORIO 1 LABORATORIO 2 PARCIAL
ACTI TAR. 1 E.C 1 TAR. 2 E.C 2 PROYECTO ASIST
POND 40% 60% 40% 60% 90% 10%
P. C. 30% 30% 40%
Ing. Marvin Osmaro Parada
SISTEMA DE EVALUACIÓN
Actividad Fecha
CÓMPUTO I
TAREA 1 02-febrero
.: Examen Corto 1 :. 09-febrero
TAREA 2 18-febrero
.: Examen Corto 2 :. 23-febrero
PARCIAL 03-marzo
Ing. Marvin Osmaro Parada
SISTEMA DE EVALUACIÓN
 Del 21-27 marzo vacaciones de semana santa
Actividad Fecha
CÓMPUTO II
TAREA 1 10-marzo
.: Examen Corto 1 :. 31-marzo
TAREA 2 07-abril
.: Examen Corto 2 :. 19-abril
PARCIAL 5-mayo
Ing. Marvin Osmaro Parada
SISTEMA DE EVALUACIÓN
Actividad Fecha
CÓMPUTO III
TAREA 1 17-mayo
.: Examen Corto 1 :. 24-mayo
TAREA 2 31-mayo
.: Examen Corto 2 :. 02-junio
PARCIAL 16-junio 2015
Ing. Marvin Osmaro Parada
Introducción
COMPILADORES E INTERPRETES
TRADUCTORES
Introducción
Existen dos tipos principales de traductores de
los lenguajes de programación de alto nivel:
COMPILADORES
INTERPRETES
Ing. Marvin Osmaro Parada
Los lenguajes de programación
 Ocupan una posición intermedia entre los
lenguajes naturales humanos y los precisos
lenguajes de máquina.
 Gracias a la progresiva complejidad de los
lenguajes traductores que permiten convertir las
instrucciones de un lenguaje de programación al
lenguaje de máquina, la programación puede usar
lenguajes de computación que se parecen cada vez
más a los lenguajes naturales.
Ing. Marvin Osmaro Parada
Los lenguajes de programación
 A los lenguajes máquina se les conoce como
lenguajes de primera generación.
 Los ensambladores son los lenguajes de segunda
generación.
 Los simbólicos de alto nivel de tipo procedural se
les denomina de tercera generación y a los
relacionales se considera que son de cuarta
generación.
Ing. Marvin Osmaro Parada
Los lenguajes de programación
 A la tercera generación pertenecen lenguajes
conocidos como el FORTRAN, COBOL, RPG, BASIC, PL1,
SIMULA, ALGOL, PASCAL, ADA, C, LISP, PROGOL.
 SQL es un lenguaje convertido en estándar mundial
como lenguaje de cuarta generación, una serie de
lenguajes orientados a objetos. Entre estos destaca el
Visual Basic de Microsoft. Además hay que prestar
una seria atención al lenguaje de programación Java,
desarrollado por SUN
Ing. Marvin Osmaro Parada
Compilador: DEFINICIÓN
 Proceso de traducción que convierte un programa
fuente escrito en un lenguaje de alto nivel a un
programa objeto en código máquina y listo por
tanto para ejecutarse en el ordenador, con poca o
ninguna preparación adicional
Ing. Marvin Osmaro Parada
Compilador: DEFINICIÓN
 Un compilador analiza el
programa y lo traduce al idioma
"maquina". La acción
fundamental de los compiladores
es equivalente a la de un
traductor humano , que toma
nota de lo que esta escuchando
y reproduce por escrito en otra
lengua.
Ing. Marvin Osmaro Parada
INTERPRETES
Analiza el programa fuente y lo ejecuta directamente,
Ejemplo del traductor humano, éste sería un traductor
humano que conforme a lo que está escuchando va
ejecutando, sin generar ningún escrito, es decir que
sobre la marcha va traduciendo.
Ing. Marvin Osmaro Parada
INTERPRETES
Ing. Marvin Osmaro Parada
Compiladores, Introducción
Ing. Marvin Osmaro Parada
Compiladores
 En los 50 los compiladores eran considerados
programas muy difíciles
 FORTRAN se desarrolló en grupo durante 18 años
 Se han desarrollado técnicas sistemáticas, entornos
de programación y herramientas software que
facilitan la tarea de desarrollo
Ing. Marvin Osmaro Parada
FORTRAN
Ing. Marvin Osmaro Parada
FORTRAN
 Línea de tiempo
Ing. Marvin Osmaro Parada
Compiladores
 Gran variedad de lenguajes de alto nivel
 Gran variedad de lenguajes objeto, tanto lenguaje
de alto nivel como código máquina
 No puede darse una fecha exacta del primer
desarrollo
 Varios grupos independientemente desarrollaron
 técnicas de análisis
 Los primeros traducían fórmulas aritméticas a
código máquina
Ing. Marvin Osmaro Parada
COMPILADORES E
INTERPRETES
Ing. Marvin Osmaro Parada
Conceptos Relacionados
Ing. Marvin Osmaro Parada
Motivación (I)
Para ser buen programador
 Saber como se obtiene un ejecutable permite saber más
sobre corrección y eficiencia
Para entender más sobre lenguajes
 Tipificación: estática, dinámica, fuerte, polimorfismo,
conversiones, sobrecarga de operadores...
 Estructura de bloques, ámbitos
 Paso de parámetros
 Gestión de memoria, punteros
Ing. Marvin Osmaro Parada
Motivación (II)
La teoría es imprescindible
 Antes de la aplicación de teoría de autómatas y
lenguajes formales, programación, etc. Los
compiladores eran muy malos
Aplicar la teoría y herramientas a otros campos:
 Intérpretes de comandos y consultas
 Lenguajes de simulación (GPSS)
 Intérpretes Gráficos (PS, GIF, JPEG)
Ing. Marvin Osmaro Parada
Compilador; Definiciones I
Ensamblador:
 Compilador sencillo, el lenguaje fuente tiene una
estructura simple que permite una traducción de
una sentencia fuente a una instrucción en código
máquina.
Compilador cruzado:
 Compilador que traduce un lenguaje fuente a
objeto, el objeto es para un ordenador distinto del
que compila
Ing. Marvin Osmaro Parada
Esquema de Compilación
Ing. Marvin Osmaro Parada
Fases de un Compilador
Ing. Marvin Osmaro Parada
Fases de un Compilador
Agrupación lógica de un compilador
Etapa Inicial
 Fases, o parte de fases que dependen del lenguaje fuente y
que son independientes de la máquina
 Análisis léxico, sintáctico, semántico y generación de código
intermedio, manejo de errores de cada parte
Etapa Final
 Fases que depende de la máquina, depende del lenguaje
intermedio
 Optimización de código, generación de código, operaciones
con la tabla de símbolos
Ing. Marvin Osmaro Parada

Más contenido relacionado

La actualidad más candente

Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazadorRickyZhengHu
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interpreteperlallamas
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Jorge Rodriguez
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacionTensor
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretesInfomania pro
 
Programacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskProgramacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskJohann Chambilla
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladoresCJAO
 

La actualidad más candente (20)

Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Presentación1
Presentación1Presentación1
Presentación1
 
Bootstrapping
BootstrappingBootstrapping
Bootstrapping
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Proyecto fernando compiladores 1
Proyecto fernando compiladores 1Proyecto fernando compiladores 1
Proyecto fernando compiladores 1
 
Karen y Vivian
Karen y VivianKaren y Vivian
Karen y Vivian
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretes
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Programacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskProgramacion ensamblador-procesadoresk
Programacion ensamblador-procesadoresk
 
Compiladores trabajo numero 4
Compiladores trabajo numero 4Compiladores trabajo numero 4
Compiladores trabajo numero 4
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Mipag web
Mipag webMipag web
Mipag web
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Similar a Compilador: DEFINICIÓN

Similar a Compilador: DEFINICIÓN (20)

S01.s1 - Material.pdf
S01.s1 - Material.pdfS01.s1 - Material.pdf
S01.s1 - Material.pdf
 
Lenguajes de Programación
Lenguajes de Programación Lenguajes de Programación
Lenguajes de Programación
 
Terminado
TerminadoTerminado
Terminado
 
Exposicion
ExposicionExposicion
Exposicion
 
Compiladores (1) pedro vasques
Compiladores (1) pedro vasquesCompiladores (1) pedro vasques
Compiladores (1) pedro vasques
 
Sesion1
Sesion1Sesion1
Sesion1
 
Temario lenguaje ensamblador
Temario lenguaje ensambladorTemario lenguaje ensamblador
Temario lenguaje ensamblador
 
Analisissemantico 110519213337-phpapp01
Analisissemantico 110519213337-phpapp01Analisissemantico 110519213337-phpapp01
Analisissemantico 110519213337-phpapp01
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de C
Tutorial de CTutorial de C
Tutorial de C
 
Aprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primeroAprenda C++ como si estuviera en primero
Aprenda C++ como si estuviera en primero
 
C++ basico subido JHS
C++ basico subido JHSC++ basico subido JHS
C++ basico subido JHS
 
Cppbasico
CppbasicoCppbasico
Cppbasico
 
Tutorial de c++
Tutorial de c++Tutorial de c++
Tutorial de c++
 
programacion c++ basico
programacion c++  basicoprogramacion c++  basico
programacion c++ basico
 
Lenguajes de programación i
Lenguajes de programación   iLenguajes de programación   i
Lenguajes de programación i
 
tipos de software.ppt
tipos de software.ppttipos de software.ppt
tipos de software.ppt
 
Lenguaje de programación 20133
Lenguaje de programación 20133Lenguaje de programación 20133
Lenguaje de programación 20133
 
Clasificacion
ClasificacionClasificacion
Clasificacion
 
Curso de algoritmos y estructura de datos unidad i y ii
Curso de algoritmos y estructura de datos unidad i y iiCurso de algoritmos y estructura de datos unidad i y ii
Curso de algoritmos y estructura de datos unidad i y ii
 

Más de Infomania pro

Clase10 ejemplos asm con tasm y tlink
Clase10 ejemplos asm con tasm y tlinkClase10 ejemplos asm con tasm y tlink
Clase10 ejemplos asm con tasm y tlinkInfomania pro
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorInfomania pro
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semanticoInfomania pro
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbInfomania pro
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devInfomania pro
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexicoInfomania pro
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoInfomania pro
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de CompiladoresInfomania pro
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02Infomania pro
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Mapa mental y esquemas
Mapa mental y esquemasMapa mental y esquemas
Mapa mental y esquemasInfomania pro
 
Clase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesClase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesInfomania pro
 

Más de Infomania pro (18)

Clase10 ejemplos asm con tasm y tlink
Clase10 ejemplos asm con tasm y tlinkClase10 ejemplos asm con tasm y tlink
Clase10 ejemplos asm con tasm y tlink
 
Manual80x86
Manual80x86Manual80x86
Manual80x86
 
Clase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensambladorClase10 2-lenguaje ensamblador
Clase10 2-lenguaje ensamblador
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Clase09 guia1-as
Clase09 guia1-asClase09 guia1-as
Clase09 guia1-as
 
Clase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugbClase8 3 ejemplo analisis lexico-sintactico miniugb
Clase8 3 ejemplo analisis lexico-sintactico miniugb
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini dev
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Clase analisis lexico
Clase analisis lexicoClase analisis lexico
Clase analisis lexico
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 
Test1 de Compiladores
Test1 de CompiladoresTest1 de Compiladores
Test1 de Compiladores
 
Compiladores clase02
Compiladores clase02Compiladores clase02
Compiladores clase02
 
Tabla simbolos
Tabla simbolosTabla simbolos
Tabla simbolos
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Mapa mental y esquemas
Mapa mental y esquemasMapa mental y esquemas
Mapa mental y esquemas
 
Clase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretesClase2 introduccion-compiladores-interpretes
Clase2 introduccion-compiladores-interpretes
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Compilador: DEFINICIÓN

  • 3. Normativa en el aula  GUARDAR SILENCIO.  MANTENER EL CELULAR EN VIBRADOR.  NO USAR GORRA DENTRO DEL SALÓN DE CLASES  NO SALIR Y ENTRAR INNECESARIAMENTE DEL AULA.  PEDIR LA PALABRA PARA INTERVENIR EN LA CLASE.  RESPETAR LAS OPINIONES DE LOS DEMÁS.  PUNTUALIDAD.  OTRAS NORMAS QUE SERÁN INCLUIDAS EN EL TRANSCURSO DEL CICLO.
  • 4.
  • 5. Acerca de… Ciclo Académico : VII/2016 Carrera : Ingeniería de Sistemas y Redes Asignatura : Compiladores e Interpretes N° de orden en Pensum : 28 Código : 83 Número de Horas por Ciclo : 80 Horas Duración del Ciclo en Semanas : 20 Semanas Identificación del Ciclo Académico : VII Pre – Requisito : Programación Computacional IV
  • 6. ASIGNATURA: COMPILADORES E INTERPRETES DOCENTE TITULAR: ING. MARVIN OSMARO PARADA GRUPO: INGENIERIA EN SISTEMAS Y REDES INFORMATICAS CICLO I - 2016 HORARIO: MARTES Y JUEVES. HORA: 10.40 – 12.40 AULA: Lab. Computo y 3 Acerca de…
  • 7. DESCRIPCIÒN DE LA ASIGNATURA  La cátedra de Compiladores e Intérpretes presenta una introducción al software cuya función única es compilar programas fuentes en un determinado lenguaje, y producir programas ejecutables, la asignatura cubre los fundamentos conceptuales, el principio de funcionamiento, la estructura básica; así también presenta un estudio de aspectos, léxicos, sintácticos y semánticos propios de un compilador.  Al final se realiza un proyecto que será el producto de la asistencia técnica proporcionada al alumno y su ingenio en el diseño de compiladores e intérpretes.
  • 8. OBJETIVO DEL AREA DE COMPETENCIA  Aplicar técnicas y procedimientos para traducir código fuente en código intermedio y final.
  • 9. COMPETENCIAS ESPERADAS DE LA ASIGNATURA  Propone modelos en versión académica de los módulos internos de un compilador, incluyendo la conversión de código fuente a código intermedio.  Conoce la teoría relacionada con los traductores, compiladores e intérpretes.  Conoce la estructura básica de un compilador
  • 11. ACERCA DEL PROGRAMA DE ESTUDIO……. Ing. Marvin Osmaro Parada
  • 12. Unidad 01: Introducción a Los Traductores  1.1 Conceptos Generales  1.2 Clasificación de los Traductores  1.3 Metalenguajes  1.4 Estructura de un Compilador Ing. Marvin Osmaro Parada
  • 13. Unidad 02: Análisis Léxico  2.1 Definición – Implementación  2.2 Conceptos de Token, patrones, lexema y atributo  2.3 Especificaciones de un Token. Expresiones regulares  2.4 El Autómata Finito  2.5 La Tabla de Transición  2.6 Tratamiento de Errores  2.7 Tabla de Símbolos Ing. Marvin Osmaro Parada
  • 14. Unidad 03: Análisis Sintáctico  3.1 Gramáticas Libres de Contexto  3.2 Derivación. Ambigüedad  3.3 Analizador Sintáctico. Tipos  3.4 Analizador Sintáctico descendente determinista LL(1)  3.5 Comprobación si una gramática es LL(1). Iniciales y seguidores autómatas de pilas  3.6 Tabla de Análisis  3.7 Tratamiento de errores. Ing. Marvin Osmaro Parada
  • 15. Unidad 04 Análisis Semántico  4.1 Introducción  4.2 Especificación formal  4.3 Fases en el Análisis Semántico  4.4 Determinación de los tipos de Comprobaciones Semánticas a Realizar  4.5 Implementación de acciones Semánticas Ing. Marvin Osmaro Parada
  • 16. Unidad 05 Lenguajes Intermedios y Generación de Código  5.1 Lenguajes Intermedios, Definición y Tipos  5.2 Optimización Independiente de la Máquina  5.3 Generador de Código Intermedio y Final  5.4 Optimización Dependiente de la Máquina Ing. Marvin Osmaro Parada
  • 17. Unidad 06 Proyecto  6.1 Proceso para Diseñar un Lenguaje de Programación  6.2 Implementación del Analizador Léxico  6.3 Implementación del Analizador Sintáctico  6.4 Implementación del Analizador Semántico  6.5 Obtención de código Intermedio Ing. Marvin Osmaro Parada
  • 19. MEAP REFERENCIAS: ACTI.: Actividad. POND.: Ponderación de cada actividad. P. C.: Ponderación del cómputo. ASIST.: Asistencia. PRAC.: Practica TAR. : Tarea del Laboratorio. E. C.: Examen Corto del Laboratorio. LABORATORIO 1 LABORATORIO 2 PARCIAL ACTI TAR. 1 E.C 1 TAR. 2 E.C 2 PROYECTO ASIST POND 40% 60% 40% 60% 90% 10% P. C. 30% 30% 40% Ing. Marvin Osmaro Parada
  • 20. SISTEMA DE EVALUACIÓN Actividad Fecha CÓMPUTO I TAREA 1 02-febrero .: Examen Corto 1 :. 09-febrero TAREA 2 18-febrero .: Examen Corto 2 :. 23-febrero PARCIAL 03-marzo Ing. Marvin Osmaro Parada
  • 21. SISTEMA DE EVALUACIÓN  Del 21-27 marzo vacaciones de semana santa Actividad Fecha CÓMPUTO II TAREA 1 10-marzo .: Examen Corto 1 :. 31-marzo TAREA 2 07-abril .: Examen Corto 2 :. 19-abril PARCIAL 5-mayo Ing. Marvin Osmaro Parada
  • 22. SISTEMA DE EVALUACIÓN Actividad Fecha CÓMPUTO III TAREA 1 17-mayo .: Examen Corto 1 :. 24-mayo TAREA 2 31-mayo .: Examen Corto 2 :. 02-junio PARCIAL 16-junio 2015 Ing. Marvin Osmaro Parada
  • 24. TRADUCTORES Introducción Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: COMPILADORES INTERPRETES Ing. Marvin Osmaro Parada
  • 25. Los lenguajes de programación  Ocupan una posición intermedia entre los lenguajes naturales humanos y los precisos lenguajes de máquina.  Gracias a la progresiva complejidad de los lenguajes traductores que permiten convertir las instrucciones de un lenguaje de programación al lenguaje de máquina, la programación puede usar lenguajes de computación que se parecen cada vez más a los lenguajes naturales. Ing. Marvin Osmaro Parada
  • 26. Los lenguajes de programación  A los lenguajes máquina se les conoce como lenguajes de primera generación.  Los ensambladores son los lenguajes de segunda generación.  Los simbólicos de alto nivel de tipo procedural se les denomina de tercera generación y a los relacionales se considera que son de cuarta generación. Ing. Marvin Osmaro Parada
  • 27. Los lenguajes de programación  A la tercera generación pertenecen lenguajes conocidos como el FORTRAN, COBOL, RPG, BASIC, PL1, SIMULA, ALGOL, PASCAL, ADA, C, LISP, PROGOL.  SQL es un lenguaje convertido en estándar mundial como lenguaje de cuarta generación, una serie de lenguajes orientados a objetos. Entre estos destaca el Visual Basic de Microsoft. Además hay que prestar una seria atención al lenguaje de programación Java, desarrollado por SUN Ing. Marvin Osmaro Parada
  • 28. Compilador: DEFINICIÓN  Proceso de traducción que convierte un programa fuente escrito en un lenguaje de alto nivel a un programa objeto en código máquina y listo por tanto para ejecutarse en el ordenador, con poca o ninguna preparación adicional Ing. Marvin Osmaro Parada
  • 29. Compilador: DEFINICIÓN  Un compilador analiza el programa y lo traduce al idioma "maquina". La acción fundamental de los compiladores es equivalente a la de un traductor humano , que toma nota de lo que esta escuchando y reproduce por escrito en otra lengua. Ing. Marvin Osmaro Parada
  • 30. INTERPRETES Analiza el programa fuente y lo ejecuta directamente, Ejemplo del traductor humano, éste sería un traductor humano que conforme a lo que está escuchando va ejecutando, sin generar ningún escrito, es decir que sobre la marcha va traduciendo. Ing. Marvin Osmaro Parada
  • 33. Compiladores  En los 50 los compiladores eran considerados programas muy difíciles  FORTRAN se desarrolló en grupo durante 18 años  Se han desarrollado técnicas sistemáticas, entornos de programación y herramientas software que facilitan la tarea de desarrollo Ing. Marvin Osmaro Parada
  • 35. FORTRAN  Línea de tiempo Ing. Marvin Osmaro Parada
  • 36. Compiladores  Gran variedad de lenguajes de alto nivel  Gran variedad de lenguajes objeto, tanto lenguaje de alto nivel como código máquina  No puede darse una fecha exacta del primer desarrollo  Varios grupos independientemente desarrollaron  técnicas de análisis  Los primeros traducían fórmulas aritméticas a código máquina Ing. Marvin Osmaro Parada
  • 39. Motivación (I) Para ser buen programador  Saber como se obtiene un ejecutable permite saber más sobre corrección y eficiencia Para entender más sobre lenguajes  Tipificación: estática, dinámica, fuerte, polimorfismo, conversiones, sobrecarga de operadores...  Estructura de bloques, ámbitos  Paso de parámetros  Gestión de memoria, punteros Ing. Marvin Osmaro Parada
  • 40. Motivación (II) La teoría es imprescindible  Antes de la aplicación de teoría de autómatas y lenguajes formales, programación, etc. Los compiladores eran muy malos Aplicar la teoría y herramientas a otros campos:  Intérpretes de comandos y consultas  Lenguajes de simulación (GPSS)  Intérpretes Gráficos (PS, GIF, JPEG) Ing. Marvin Osmaro Parada
  • 41. Compilador; Definiciones I Ensamblador:  Compilador sencillo, el lenguaje fuente tiene una estructura simple que permite una traducción de una sentencia fuente a una instrucción en código máquina. Compilador cruzado:  Compilador que traduce un lenguaje fuente a objeto, el objeto es para un ordenador distinto del que compila Ing. Marvin Osmaro Parada
  • 42. Esquema de Compilación Ing. Marvin Osmaro Parada
  • 43. Fases de un Compilador Ing. Marvin Osmaro Parada
  • 44. Fases de un Compilador Agrupación lógica de un compilador Etapa Inicial  Fases, o parte de fases que dependen del lenguaje fuente y que son independientes de la máquina  Análisis léxico, sintáctico, semántico y generación de código intermedio, manejo de errores de cada parte Etapa Final  Fases que depende de la máquina, depende del lenguaje intermedio  Optimización de código, generación de código, operaciones con la tabla de símbolos Ing. Marvin Osmaro Parada