SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Instituto tecnol´gico de Costa Rica
o
Ingenier´ en Computadores
ıa
Ver´nica Mora Lezcano
o
Lenguajes, compiladores e int´rpretes
e

Int´rpretes
e
• Tienen como salida principal instrucciones ejecutables.
• El rendimiento del int´rprete es m´s lento, se somete al rendimiento de realizar la traducci´n uno
e
a
o
a uno.
• Tiende a ser m´s portable e independiente de la arquitectura.
a
• Se requiere del programa fuente para su ejecuci´n.
o
• Se detectan los errores en la ejecuci´n del programa.
o
• Es m´s flexible para que el programa pueda usar la memoria.
a

Compilador
• Tiene como salida un unico lenguaje objeto.
´
• El rendimiento en la ejecuci´n del programa compilado (la salida) es m´s r´pido que el
o
a a
interpretado.
• La salida puede depender de la arquitectura.
• No requiere del programa fuente porque el programa objeto es ejecutable.
***Puede ser secreto el programa fuente***
• Los errores sint´cticos y sem´nticos se detectan antes de la ejecuci´n del programa.
a
a
o
• Tiene menos flexibilidad en el uso de la memoria para el programa objeto.

Taxonom´ de los compiladores
ıa
• Cruzado: compiladores para pasar de un lenguaje de alto nivel a otro de alto nivel tambi´n. Por
e
ejemplo, Java -¿ C++
• Optimizadores: compiladores espec´
ıficos, se encargan de la mejor depuraci´n.
o
• Una pasada: una unica lectura de entrada.
´
• Varias pasadas: m´s de una lectura.
a
• JIT (Just In Time): h´
ıbrido entre compilador e int´rprete.
e
• Ensamblador: utilizan n´meros.
u
o
o
– Nmonico: relaci´n uno a uno entre el lenguaje simb´lico y el binario.
Por ejemplo:

1
Recordando el compilador posee seis fases, como se muestra en la imagen.

Otros elementos alrededor de un compilador
• Preprocesador
– Se encarga de unificar el programa fuente para poder realizar las fases del compilador.
– Carga de bibliotecas.
– Carga de subclases, superclases, ...
• Carga y enlace (del sistema operativo)

2
– Resuelve direcciones de memoria
– De acceso a la parte de asignaci´n de la memoria y recursos f´
o
ısicos
• IDE
Son utilizados por los programadores y tienen funciones adicionales relacionadas a la est´tica o la
e
interacci´n con el manejo de errores.
o
Ejemplo:
Para la siguiente expresi´n.
o
posici´n = inicial + velocidad * 60
o
• Analizador l´xico
e
id1 = id2 + id3 * 60
• Analizador sint´ctico
a

• Analizador sem´ntico
a

• Generador de c´digo intermedio
o
temp1 = real( 60 )
temp2 = id3 * temp1
temp3 = id2 + temp2
id3 = temp3
• Optimizador de c´digo
o
temp1 = id3 *60 id1 = id2 + temp1
• Generador de c´digo
o

3
mov f id3, r2
mul f 60, r2
mov f id2, r1
add f r2, r1
mov f r1, id1
• Administrador de la tabla de s´
ımbolos

Consideraciones de dise˜o de un compilador
n
• Lenguaje fuente
– Tama˜o del lenguaje.
n
– Cambio del lenguaje mientras se construye el compilador.
∗ Modularizar componentes ayuda a enfrentar el cambio.
• Lenguaje objeto
– Si es nuevo debe asegurarse que sea correcto.
– Producci´n para varias generaciones de m´quina objeto.
o
a
• Rendimiento
– Debe ser r´pido.
a
– Cantidad de c´digo.
o
– Localizaci´n de errores.
o
– Mantenimiento.
– Transportabilidad.
∗ Redestinaci´n: pueda cambiar el c´digo objeto que genera.
o
o
∗ Relocalizaci´n: puede ejecutarse f´cilmente en maquinas distintas
o
a

Lenguajes de programaci´n
o
Es un dise˜o formal para expresar procesos que pueden ser ejecutados por una m´quina. Manipulan el
n
a
comportamiento de la m´quina, es decir, reglas de c´mo se quiere que funcione.
a
o

Taxonom´ de lenguajes (por abstracci´n)
ıa
o
• Primera generaci´n: binario.
o
• Segunda generaci´n: lenguajes simb´licos.
o
o
• Tercera generaci´n: alto nivel, tienen estructuras independientes de la m´quina (C, Pascal, Java).
o
a
4
• Cuarta generaci´n: construcci´n de aplicaciones con piezas prefabricadas.
o
o
• Quita generaci´n: de uso espec´
o
ıfico. El programador conoce el problema y el lenguaje puede
ayudar a resolverlo a partir de reglas (ejemplo: l´gicos).
o
Los lenguajes de cuarta y quinta generaci´n no est´n completamente aceptados.
o
a

Taxonom´ de lenguajes (por su gram´tica)
ıa
a
Una gram´tica describe de forma natural la estructura jer´rquica de la construcci´n de lenguajes de
a
a
o
programaci´n.
o
Son reglas y principios que predicen correctamente las combinaciones de oraciones de un lenguaje.
Ejemplo del lenguaje espa˜ol:
n
Para comprender mejor la idea, se puede considerar un modelo para el espa˜ol.
n
1. Oraci´n – sujeto, predicado.
o
2. Sujeto – determinante, nombre.
3. Predicado – verbo complemento.
4. Nombre – ni˜o — hombre — anciano.
n
5. Verbo – duerme — r´
ıe— come.
6. Complemento – pl´cidamente — intranquilo.
a
¿C´mo resuelve la gram´tica de las siguientes oraciones?
o
a
1) El ni˜o duerme intranquilo.
n

2) El hombre r´
ıe.

5
Jerarqu´ de Chomsky
ıa

6
Gram´ticas Regulares
a
Es una secuencia de caracteres que forma un patr´n de b´squeda.
o
u
Operaciones
• + : aparece 1 o m´s veces.
a
• ? : aparece m´ximo 1 vez.
a
• * : aparece 0 o m´s veces (cerradura de Kleene).
a
o
´ () : agrupaci´n.
o
• — : OR.
• - : rangos: ejemplo A-Z ´ O-9.
o
Otras variantes
• $ : fin
• Potencias

Reglas de las Expresiones Regulares

Gram´ticas libres de contexto
a
• Conjunto de componentes l´xicos denominados s´
e
ımbolos terminales.
• Conjunto de componentes l´xicos denominados No Terminales.
e
• Producciones conformadas de No Terminales y Terminales.
• Definici´n de un No Terminal como s´
o
ımbolo inicial.
S´
ımbolos terminales
• Se denotan en min´scula.
u
• Se pueden visualizar como las hojas de un ´rbol sint´ctico.
a
a
7
• En las gram´ticas libres de contexto solo se encuentran en la parte derecha de la producci´n.
a
o
Producciones Se denotan con may´scula. Tiene dos partes, el Nombrado (No terminal) y la parte
u
derecha que indica la sustituci´n, y puede tener terminales y no terminales.
o
Por ejemplo:
• Gram´tica que permite operaciones de suma y resta.
a

Para la operaci´n: 6 + 8 - 9, se representar´
o
ıa:

• Gram´tica que permite operaciones de multiplicaci´n, divisi´n, suma y resta; donde la
a
o
o
multiplicaci´n y divisi´n tienen prioridad.
o
o
Op −→ Op + Op | Op - Op | Lista
Lista −→ Lista * Dig | Lista / Dig | Dig
Dig → [0-9]*
• Gram´tica que permite operaciones de multiplicaci´n, divisi´n, suma y resta; donde la
a
o
o
multiplicaci´n y divisi´n tienen prioridad, y se permite la utilizaci´n de par´ntesis.
o
o
o
e
Op −→ Op + Op | Op - Op | Lista
Lista −→ Lista * Dig | Lista / Dig | Dig
Dig → [0-9]* | (Op)

Propiedades de las gram´ticas
a
Cuando se dise˜a o elabora una gram´tica se busca que no sea Ambigua (se dice que una gram´tica es
n
a
a
Ambigua cuando se pueden construir 2 ´rboles sint´cticos para una misma entrada).
a
a
8
Por ejemplo:
Operaci´n −→ Operaci´n + Operaci´n
o
o
o
Para la operaci´n 1+2+3, se puede crear los siguientes arboles:
o

Ambig¨ edad del IF
u
IFCOND −→ if (EXP) then SENTENCIAS else SENTENCIAS | if (EXP) then SENTENCIAS
EXP −→ EXP + TERMINO | EXPTERMINO | TERMINO
SENTENCIAS −→ EXP; SENTENCIAS* | println (“Hola”); SENTENCIAS* | IFCOND
TERMINO −→ [0-9]*
Ejemplo:
if (1 + 2) then 3 + 4;
if (3 + 4) then 6 + 7;
else 8 + 9;

9

Más contenido relacionado

La actualidad más candente

Funciones Basicas En Lenguaje C
Funciones Basicas En Lenguaje CFunciones Basicas En Lenguaje C
Funciones Basicas En Lenguaje CDomenikaStefania
 
Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)Alex Toapanta
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Generacion codigomaquina
Generacion codigomaquinaGeneracion codigomaquina
Generacion codigomaquinatre_na_gil
 
Historia de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cHistoria de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cCarlos Yepez
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mauricio Velasquez
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cMonica Martinez
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a CompiladoresLeopoldo Capa
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con CupLAUNASA NOVENO B
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladoresCJAO
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedioEmanuel Gs
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1Denisse C
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico maryr_
 

La actualidad más candente (20)

Funciones Basicas En Lenguaje C
Funciones Basicas En Lenguaje CFunciones Basicas En Lenguaje C
Funciones Basicas En Lenguaje C
 
Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)Practica análisis léxico y semántico(compiladores)
Practica análisis léxico y semántico(compiladores)
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Generacion codigomaquina
Generacion codigomaquinaGeneracion codigomaquina
Generacion codigomaquina
 
Historia de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cHistoria de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal c
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Compilador
CompiladorCompilador
Compilador
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_c
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
 
Análisis Semántico con Cup
Análisis Semántico con CupAnálisis Semántico con Cup
Análisis Semántico con Cup
 
Cap1 compiladores
Cap1 compiladoresCap1 compiladores
Cap1 compiladores
 
Compilador2
Compilador2Compilador2
Compilador2
 
Codigo intermedio
Codigo intermedioCodigo intermedio
Codigo intermedio
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 

Destacado

Presentación Matemática-Estadística
Presentación Matemática-EstadísticaPresentación Matemática-Estadística
Presentación Matemática-EstadísticaNicoGalleta
 
Sesion 9
Sesion 9Sesion 9
Sesion 9stv1214
 
Presentación original
Presentación originalPresentación original
Presentación originalnatiuskiya
 
Quiebra parte 2
Quiebra parte 2Quiebra parte 2
Quiebra parte 23r1ka-19
 
Sesión 2
Sesión 2Sesión 2
Sesión 2stv1214
 
Virus y vacunas informáticas
Virus  y vacunas informáticasVirus  y vacunas informáticas
Virus y vacunas informáticasmairamoreno93
 
Flisol upiicsa 2012
Flisol upiicsa 2012Flisol upiicsa 2012
Flisol upiicsa 2012vic150cc
 
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...DHInnova
 
Audio Musica
Audio MusicaAudio Musica
Audio Musicaander23
 
Las tics en el contexto de la sociedad del conocimiento
Las tics en el contexto de la sociedad del conocimientoLas tics en el contexto de la sociedad del conocimiento
Las tics en el contexto de la sociedad del conocimientoJairo Lozano
 

Destacado (20)

Anomia y axiologia
Anomia y axiologiaAnomia y axiologia
Anomia y axiologia
 
Herramientas 1
Herramientas 1Herramientas 1
Herramientas 1
 
Principios ofensivos tema 5
Principios ofensivos tema 5Principios ofensivos tema 5
Principios ofensivos tema 5
 
Presentación Matemática-Estadística
Presentación Matemática-EstadísticaPresentación Matemática-Estadística
Presentación Matemática-Estadística
 
Sesion 9
Sesion 9Sesion 9
Sesion 9
 
La educación
La  educaciónLa  educación
La educación
 
Presentación original
Presentación originalPresentación original
Presentación original
 
Presentacion 01
Presentacion 01Presentacion 01
Presentacion 01
 
Data2maps@HackForGood
Data2maps@HackForGoodData2maps@HackForGood
Data2maps@HackForGood
 
Quiebra parte 2
Quiebra parte 2Quiebra parte 2
Quiebra parte 2
 
Sesión 2
Sesión 2Sesión 2
Sesión 2
 
Virus y vacunas informáticas
Virus  y vacunas informáticasVirus  y vacunas informáticas
Virus y vacunas informáticas
 
Flisol upiicsa 2012
Flisol upiicsa 2012Flisol upiicsa 2012
Flisol upiicsa 2012
 
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...
Instrumentos de Financiación del Centro para el Desarrollo Tecnológico Indust...
 
Audio Musica
Audio MusicaAudio Musica
Audio Musica
 
Ganedinerollenandoencuestas1
Ganedinerollenandoencuestas1Ganedinerollenandoencuestas1
Ganedinerollenandoencuestas1
 
Las tics en el contexto de la sociedad del conocimiento
Las tics en el contexto de la sociedad del conocimientoLas tics en el contexto de la sociedad del conocimiento
Las tics en el contexto de la sociedad del conocimiento
 
Ava diego
Ava diegoAva diego
Ava diego
 
El whisky-100148
El whisky-100148El whisky-100148
El whisky-100148
 
Catalogo
CatalogoCatalogo
Catalogo
 

Similar a Semana 3

S01.s1 - Material.pdf
S01.s1 - Material.pdfS01.s1 - Material.pdf
S01.s1 - Material.pdfJS Legendario
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptxPriceSanchezJose
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cjmca712
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Marquina, Santiago
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prologAnderipe Pinto
 
ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...Franklin Parrales Bravo
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmiaEsteban Bedoya
 
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...LeonelCortes5
 
Lenguaje de programación Fortrar
Lenguaje de programación FortrarLenguaje de programación Fortrar
Lenguaje de programación FortrarEric Avendaño
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prologPedro Vera
 

Similar a Semana 3 (20)

Computación II
Computación  IIComputación  II
Computación II
 
S01.s1 - Material.pdf
S01.s1 - Material.pdfS01.s1 - Material.pdf
S01.s1 - Material.pdf
 
[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia[Ebook] super manual de a lgoritmia
[Ebook] super manual de a lgoritmia
 
Semana 2 Lenguajes de programación.pptx
Semana 2  Lenguajes de programación.pptxSemana 2  Lenguajes de programación.pptx
Semana 2 Lenguajes de programación.pptx
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prolog
 
Minimanual r espoch
Minimanual r espochMinimanual r espoch
Minimanual r espoch
 
ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...ALP Unidad 2: Representación de la información en datos simples y estructuras...
ALP Unidad 2: Representación de la información en datos simples y estructuras...
 
Algoritmos y programas super manual de algoritmia
Algoritmos y programas   super manual de algoritmiaAlgoritmos y programas   super manual de algoritmia
Algoritmos y programas super manual de algoritmia
 
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
1.1. Conceptos preliminares sobre la evolucion y desarrollo de los leguajes d...
 
Como usar el lenguaje c++
Como usar el lenguaje c++Como usar el lenguaje c++
Como usar el lenguaje c++
 
Lenguaje de programación Fortrar
Lenguaje de programación FortrarLenguaje de programación Fortrar
Lenguaje de programación Fortrar
 
F O R T R A N
F O R T R A NF O R T R A N
F O R T R A N
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prolog
 

Más de Verónica Mora Lezcano (8)

Semana12
Semana12Semana12
Semana12
 
Semana11
Semana11Semana11
Semana11
 
Semana10
Semana10Semana10
Semana10
 
Resumen (semana 9)
Resumen (semana 9)Resumen (semana 9)
Resumen (semana 9)
 
Semana 8
Semana 8Semana 8
Semana 8
 
Semana 7
Semana 7Semana 7
Semana 7
 
Semana 6
Semana 6Semana 6
Semana 6
 
Semana 5
Semana 5Semana 5
Semana 5
 

Último

Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 

Último (20)

Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 

Semana 3

  • 1. Instituto tecnol´gico de Costa Rica o Ingenier´ en Computadores ıa Ver´nica Mora Lezcano o Lenguajes, compiladores e int´rpretes e Int´rpretes e • Tienen como salida principal instrucciones ejecutables. • El rendimiento del int´rprete es m´s lento, se somete al rendimiento de realizar la traducci´n uno e a o a uno. • Tiende a ser m´s portable e independiente de la arquitectura. a • Se requiere del programa fuente para su ejecuci´n. o • Se detectan los errores en la ejecuci´n del programa. o • Es m´s flexible para que el programa pueda usar la memoria. a Compilador • Tiene como salida un unico lenguaje objeto. ´ • El rendimiento en la ejecuci´n del programa compilado (la salida) es m´s r´pido que el o a a interpretado. • La salida puede depender de la arquitectura. • No requiere del programa fuente porque el programa objeto es ejecutable. ***Puede ser secreto el programa fuente*** • Los errores sint´cticos y sem´nticos se detectan antes de la ejecuci´n del programa. a a o • Tiene menos flexibilidad en el uso de la memoria para el programa objeto. Taxonom´ de los compiladores ıa • Cruzado: compiladores para pasar de un lenguaje de alto nivel a otro de alto nivel tambi´n. Por e ejemplo, Java -¿ C++ • Optimizadores: compiladores espec´ ıficos, se encargan de la mejor depuraci´n. o • Una pasada: una unica lectura de entrada. ´ • Varias pasadas: m´s de una lectura. a • JIT (Just In Time): h´ ıbrido entre compilador e int´rprete. e • Ensamblador: utilizan n´meros. u o o – Nmonico: relaci´n uno a uno entre el lenguaje simb´lico y el binario. Por ejemplo: 1
  • 2. Recordando el compilador posee seis fases, como se muestra en la imagen. Otros elementos alrededor de un compilador • Preprocesador – Se encarga de unificar el programa fuente para poder realizar las fases del compilador. – Carga de bibliotecas. – Carga de subclases, superclases, ... • Carga y enlace (del sistema operativo) 2
  • 3. – Resuelve direcciones de memoria – De acceso a la parte de asignaci´n de la memoria y recursos f´ o ısicos • IDE Son utilizados por los programadores y tienen funciones adicionales relacionadas a la est´tica o la e interacci´n con el manejo de errores. o Ejemplo: Para la siguiente expresi´n. o posici´n = inicial + velocidad * 60 o • Analizador l´xico e id1 = id2 + id3 * 60 • Analizador sint´ctico a • Analizador sem´ntico a • Generador de c´digo intermedio o temp1 = real( 60 ) temp2 = id3 * temp1 temp3 = id2 + temp2 id3 = temp3 • Optimizador de c´digo o temp1 = id3 *60 id1 = id2 + temp1 • Generador de c´digo o 3
  • 4. mov f id3, r2 mul f 60, r2 mov f id2, r1 add f r2, r1 mov f r1, id1 • Administrador de la tabla de s´ ımbolos Consideraciones de dise˜o de un compilador n • Lenguaje fuente – Tama˜o del lenguaje. n – Cambio del lenguaje mientras se construye el compilador. ∗ Modularizar componentes ayuda a enfrentar el cambio. • Lenguaje objeto – Si es nuevo debe asegurarse que sea correcto. – Producci´n para varias generaciones de m´quina objeto. o a • Rendimiento – Debe ser r´pido. a – Cantidad de c´digo. o – Localizaci´n de errores. o – Mantenimiento. – Transportabilidad. ∗ Redestinaci´n: pueda cambiar el c´digo objeto que genera. o o ∗ Relocalizaci´n: puede ejecutarse f´cilmente en maquinas distintas o a Lenguajes de programaci´n o Es un dise˜o formal para expresar procesos que pueden ser ejecutados por una m´quina. Manipulan el n a comportamiento de la m´quina, es decir, reglas de c´mo se quiere que funcione. a o Taxonom´ de lenguajes (por abstracci´n) ıa o • Primera generaci´n: binario. o • Segunda generaci´n: lenguajes simb´licos. o o • Tercera generaci´n: alto nivel, tienen estructuras independientes de la m´quina (C, Pascal, Java). o a 4
  • 5. • Cuarta generaci´n: construcci´n de aplicaciones con piezas prefabricadas. o o • Quita generaci´n: de uso espec´ o ıfico. El programador conoce el problema y el lenguaje puede ayudar a resolverlo a partir de reglas (ejemplo: l´gicos). o Los lenguajes de cuarta y quinta generaci´n no est´n completamente aceptados. o a Taxonom´ de lenguajes (por su gram´tica) ıa a Una gram´tica describe de forma natural la estructura jer´rquica de la construcci´n de lenguajes de a a o programaci´n. o Son reglas y principios que predicen correctamente las combinaciones de oraciones de un lenguaje. Ejemplo del lenguaje espa˜ol: n Para comprender mejor la idea, se puede considerar un modelo para el espa˜ol. n 1. Oraci´n – sujeto, predicado. o 2. Sujeto – determinante, nombre. 3. Predicado – verbo complemento. 4. Nombre – ni˜o — hombre — anciano. n 5. Verbo – duerme — r´ ıe— come. 6. Complemento – pl´cidamente — intranquilo. a ¿C´mo resuelve la gram´tica de las siguientes oraciones? o a 1) El ni˜o duerme intranquilo. n 2) El hombre r´ ıe. 5
  • 7. Gram´ticas Regulares a Es una secuencia de caracteres que forma un patr´n de b´squeda. o u Operaciones • + : aparece 1 o m´s veces. a • ? : aparece m´ximo 1 vez. a • * : aparece 0 o m´s veces (cerradura de Kleene). a o ´ () : agrupaci´n. o • — : OR. • - : rangos: ejemplo A-Z ´ O-9. o Otras variantes • $ : fin • Potencias Reglas de las Expresiones Regulares Gram´ticas libres de contexto a • Conjunto de componentes l´xicos denominados s´ e ımbolos terminales. • Conjunto de componentes l´xicos denominados No Terminales. e • Producciones conformadas de No Terminales y Terminales. • Definici´n de un No Terminal como s´ o ımbolo inicial. S´ ımbolos terminales • Se denotan en min´scula. u • Se pueden visualizar como las hojas de un ´rbol sint´ctico. a a 7
  • 8. • En las gram´ticas libres de contexto solo se encuentran en la parte derecha de la producci´n. a o Producciones Se denotan con may´scula. Tiene dos partes, el Nombrado (No terminal) y la parte u derecha que indica la sustituci´n, y puede tener terminales y no terminales. o Por ejemplo: • Gram´tica que permite operaciones de suma y resta. a Para la operaci´n: 6 + 8 - 9, se representar´ o ıa: • Gram´tica que permite operaciones de multiplicaci´n, divisi´n, suma y resta; donde la a o o multiplicaci´n y divisi´n tienen prioridad. o o Op −→ Op + Op | Op - Op | Lista Lista −→ Lista * Dig | Lista / Dig | Dig Dig → [0-9]* • Gram´tica que permite operaciones de multiplicaci´n, divisi´n, suma y resta; donde la a o o multiplicaci´n y divisi´n tienen prioridad, y se permite la utilizaci´n de par´ntesis. o o o e Op −→ Op + Op | Op - Op | Lista Lista −→ Lista * Dig | Lista / Dig | Dig Dig → [0-9]* | (Op) Propiedades de las gram´ticas a Cuando se dise˜a o elabora una gram´tica se busca que no sea Ambigua (se dice que una gram´tica es n a a Ambigua cuando se pueden construir 2 ´rboles sint´cticos para una misma entrada). a a 8
  • 9. Por ejemplo: Operaci´n −→ Operaci´n + Operaci´n o o o Para la operaci´n 1+2+3, se puede crear los siguientes arboles: o Ambig¨ edad del IF u IFCOND −→ if (EXP) then SENTENCIAS else SENTENCIAS | if (EXP) then SENTENCIAS EXP −→ EXP + TERMINO | EXPTERMINO | TERMINO SENTENCIAS −→ EXP; SENTENCIAS* | println (“Hola”); SENTENCIAS* | IFCOND TERMINO −→ [0-9]* Ejemplo: if (1 + 2) then 3 + 4; if (3 + 4) then 6 + 7; else 8 + 9; 9