SlideShare una empresa de Scribd logo
TALLER DE ACTIVIDADES DE COMPILADORES
Fecha: 31 de mayo del 2018
Nombre: Alex Jhonatan Toapanta Molina
Tema: Análisis sintáctico.
 ¿Cuál es el objetivo principal del analizar semántico de un procesador de lenguajes?
El objetivo principal del analizador semántico de un procesador de lenguaje es asegurarse de
que el programa analizado satisfaga las reglas requeridas por la especificación del lenguaje, para
garantizar su correcta ejecución. El tipo y dimensión de análisis semántico requerido varía
enormemente de un lenguaje a otro. En lenguajes interpretados como Lisp o Smalltalk casi no
se lleva a cabo análisis semántico previo a su ejecución, mientras que en lenguajes como Ada, el
analizador semántico deberá comprobar numerosas reglas que un programa fuente está
obligado a satisfacer.
 A qué refiere la descripción formal de la semántica de lenguajes de programación, cite 6
especificaciones más usadas.
1. Revelar posibles ambigüedades existentes implementaciones de procesadores de
lenguajes o en documentos descriptivos de lenguajes de programación.
2. Ser utilizados como base para la implementación de procesadores de lenguaje.
3. Verificar propiedades de programas en relación con pruebas de corrección o
información relacionada con su ejecución.
4. Diseñar nuevos lenguajes de programación, permitiendo registrar decisiones sobre
construcciones particulares del lenguaje, así como permitir descubrir posibles
irregularidades u omisiones.
5. Facilitar la comprensión de los lenguajes por parte del programador y como
mecanismo de comunicación entre diseñador del lenguaje, implementador y
programador. La especificación semántica de un lenguaje, como documento de
referencia, aclara el comportamiento del lenguaje y sus diversas construcciones.
6. Estandarizar lenguajes mediante la publicación de su semántica de un modo no
ambiguo. Los programas deben poder procesarse en otra implementación de
procesador del mismo lenguaje exhibiendo el mismo comportamiento.
 Cuáles son los puntos de vista de descripción semántica más utilizados, realice un
resumen corto y un ejemplo de la especificación de los mismos.
Semántica Operacional.-Lo que realmente especifica es como se lleva a cabo dicha
ejecución. Los significados del programa son descritos en términos de operaciones,
utilizando un lenguaje basado en reglas de inferencia lógicas en las que se describen
formalmente las secuencias de ejecución de las diferentes instrucciones sobre una
máquina abstracta.
Ejemplo:
Este ejemplo es una especificación formal de la semántica de una asignación en un
lenguaje de programación.
Semántica denotacional.- La representación del comportamiento de cada sentencia o frase del
lenguaje se lleva a cabo mediante entidades matemáticas (denotación) que representan el
efecto de haber ejecutado las sentencia o frase asociada.
Ejemplo:
La especificación de una asignación en semántica denatacional es:
Semántica Axiomática.- Especifica las propiedades del efecto de ejecutar las sentencias
sintácticamente correctas, expresadas mediante asertos, desoyendo así los aspectos de su
ejecución. El sistema permite estudiar formalmente las propiedades del lenguaje y se
requiere la utilización de sistemas consistentes y completos [Hoare73]. Se utiliza
mayoritariamente en verificación formal de corrección de programas.
Ejemplo:
Semántica algebraica.- Se basa en la especificación de tipos de datos abstractos mediante una
colección de operaciones (incluyendo alguna constante). Puesto que un conjunto de valores
al que se le añaden una colección de operaciones constituye un álgebra, este método de
descripción formal de semántica se denomina semántica algebraica.
Ejemplo:
La especificación del tipo lógico (booleano) en un lenguaje de programación puede llevarse a
cabo del siguiente modo, siguiendo la semántica algebraica:
Semántica de acciones.- esta semántica está basada en el concepto de acciones que reflejan las
operaciones comunes en los lenguajes de programación, ofreciendo primitivas para la
asignación y declaración de identificadores, así como la combinación de instrucciones mediante
control de flujo secuencial, condicional e iterativo
 Cuál es la conexión directa entre el análisis semántico con el resto de fases que emplea
un compilador, explique a través del organizador gráfico de Aho.
La conexión directa que tiene el análisis semántico con el resto de fases del compilador es la
Tabla de símbolos (Inserción y búsqueda de símbolos) y otra con el Manejador de errores
(Errores Semánticos).
 Cite de forma rápida ejemplos de comprobaciones que hace el analizador semántico con
respecto a:
✓ Declaración de identificadores y reglas de ámbitos
✓ Comprobaciones de unicidad
-Constantes de cada case en Pascal, C o Java. Cada uno de los elementos existentes en los
condicionales múltiples de los lenguajes de programación mencionados, ha de ser único. En
otro caso, el analizador semántico deberá generar un error de compilación.
−Los valores de un tipo enumerado de Pascal o C han de ser únicos.
−Las etiquetas de un lenguaje de programación, como un ensamblador, no pueden estar
repetidas, puesto que los saltos a las mismas serían ambiguos.
−La declaración de un identificador en un ámbito ha de ser única en multitud de lenguajes de
programación.
✓ Comprobaciones de enlace
-En un ensamblador, un salto a una etiqueta requiere que ésta haya sido referida como una
posición de memoria.
−En el lenguaje de programación ANSI C [Kernighan91] y en ISO/ANSI C++ [ANSIC++] la
invocación a una función o método requiere que éstos hayan sido declarados previamente.
✓ Comprobaciones pospuestas por el analizador sintáctico
Las sentencias break y continue de Java y C sólo pueden utilizarse en determinadas estructuras
de control del lenguaje. Éste es otro escenario para que el analizador sintáctico posponga la
comprobación hasta la fase análisis semántico.
✓ Comprobaciones dinámicas
-El acceso a un vector fuera de rango.
-Utilización de un puntero nulo.
-División por cero.
✓ Comprobaciones de tipo
-Comprobar las operaciones que se pueden aplicar a cada construcción del lenguaje. Dado un
elemento del lenguaje, su tipo identifica las operaciones que sobre él se pueden aplicar. Por
ejemplo, en el lenguaje Java el operador de producto no es aplicable a una referencia a un
objeto. De un modo contrario, el operador punto sí es válido.
-Inferir el tipo de cada construcción del lenguaje. Para poder implementar la
comprobación anterior, es necesario conocer el tipo de toda construcción sintácticamente
válida del lenguaje. Así, el analizador semántico deberá aplicar las distintas reglas de inferencia
de tipos descritas en la especificación del lenguaje de programación, para conocer el tipo de
cada construcción del lenguaje.
 Qué comprende el análisis semántico como decoración del Árbol de Sintaxis abstracta.
Comprenden la asignación de información adicional a los nodos del AST representando
propiedades de las construcciones sintácticas del lenguaje, tales como el tipo de una expresión.
Un
AST decorado o anotado es una ampliación del AST, en el que a cada nodo del mismo se le
añaden atributos indicando las propiedades necesarias de la construcción sintáctica que
representan.
 Defina las características más importantes del Árbol de sintaxis abstracta.
-Las expresiones tendrán asociadas un atributo tipo que indique si son reales o enteras. Esto es
necesario porque se podrá asignar un valor entero a una expresión real, pero no al revés.
−Las expresiones deberán tener un atributo lógico que indique si son o no lvalues. De este
modo, se podrá comprobar si lo que está a la izquierda de la asignación es o no
semánticamente correcto.
−En una declaración se deberá insertar el identificador en una tabla de símbolos con su tipo
declarado, para poder conocer posteriormente el tipo de cualquier identificador en una
expresión. Es, por tanto, necesario asignar un atributo nombre (cadena de caracteres) a un
identificador.
−Finalmente, aunque más enfocado a la fase de generación de código o interpretación que al
análisis semántico– se le asigna un valor entero o real a las constantes del lenguaje.
 Defina una gramática concreta para la siguiente operación 7+ (4*2) * 5 /(10*2) y
finalmente genere su árbol sintáctico
Gramática Abstracta:
Expresión: expresionBinaria
| expresionUnitaria
| constanteEntera
;
expresionBinaria: expresión ('*'|'/'|'+') expresión
;
constanteEntera: CTE_ENTERA
;
Taller compiladores Análisis Semántico

Más contenido relacionado

La actualidad más candente

Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicos
Ibis225
 
Familia de protocolos de internet
Familia de protocolos de internetFamilia de protocolos de internet
Familia de protocolos de internet
henrycito1h
 
Cap1 mod3(sol)
Cap1 mod3(sol)Cap1 mod3(sol)
Cap1 mod3(sol)
Ivan Nuñez Salinas
 
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdfSistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
Oscar Correa
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
arianny lopez
 
Modelado matemático de sistemas físicos.
Modelado matemático de sistemas físicos. Modelado matemático de sistemas físicos.
Modelado matemático de sistemas físicos.
felixangulo6
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086
Fredy Soncco
 
Control de-flujo
Control de-flujoControl de-flujo
Control de-flujo
Castroso Hernandez
 
Conceptos
Conceptos Conceptos
Conceptos
Jr. Maldonado
 
Tipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolosTipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolos
Lucre Castillo Lorenzo
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
parada137
 
BASES DE DATOS DISTRIBUIDAS
BASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS
BASES DE DATOS DISTRIBUIDAS
Emprendimiento Shalah
 
Frame relay
Frame relayFrame relay
Frame relay
Anita López
 
3.1.1 Búsqueda exhaustiva.pptx
3.1.1 Búsqueda exhaustiva.pptx3.1.1 Búsqueda exhaustiva.pptx
3.1.1 Búsqueda exhaustiva.pptx
Fernando Solis
 
Paper ieee jiee
Paper ieee jieePaper ieee jiee
Paper ieee jiee
Fernando Pineda
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
Rennytox Hernandez
 
Manual de cobol
Manual de cobolManual de cobol
Teoremas y postulados del algebra de boole
Teoremas y postulados del algebra de booleTeoremas y postulados del algebra de boole
Teoremas y postulados del algebra de boole
Elizabeth Gomez Madrigal
 
EtherChannel Configuration
EtherChannel ConfigurationEtherChannel Configuration
EtherChannel Configuration
NetProtocol Xpert
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
Ricardo Quintero
 

La actualidad más candente (20)

Actuadores mecanicos
Actuadores mecanicosActuadores mecanicos
Actuadores mecanicos
 
Familia de protocolos de internet
Familia de protocolos de internetFamilia de protocolos de internet
Familia de protocolos de internet
 
Cap1 mod3(sol)
Cap1 mod3(sol)Cap1 mod3(sol)
Cap1 mod3(sol)
 
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdfSistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
Sistemas de Control a Lazo Abierto y a Lazo Cerrado - PID.pdf
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
 
Modelado matemático de sistemas físicos.
Modelado matemático de sistemas físicos. Modelado matemático de sistemas físicos.
Modelado matemático de sistemas físicos.
 
Programa en emu8086
Programa en emu8086Programa en emu8086
Programa en emu8086
 
Control de-flujo
Control de-flujoControl de-flujo
Control de-flujo
 
Conceptos
Conceptos Conceptos
Conceptos
 
Tipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolosTipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolos
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
BASES DE DATOS DISTRIBUIDAS
BASES DE DATOS DISTRIBUIDASBASES DE DATOS DISTRIBUIDAS
BASES DE DATOS DISTRIBUIDAS
 
Frame relay
Frame relayFrame relay
Frame relay
 
3.1.1 Búsqueda exhaustiva.pptx
3.1.1 Búsqueda exhaustiva.pptx3.1.1 Búsqueda exhaustiva.pptx
3.1.1 Búsqueda exhaustiva.pptx
 
Paper ieee jiee
Paper ieee jieePaper ieee jiee
Paper ieee jiee
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Manual de cobol
Manual de cobolManual de cobol
Manual de cobol
 
Teoremas y postulados del algebra de boole
Teoremas y postulados del algebra de booleTeoremas y postulados del algebra de boole
Teoremas y postulados del algebra de boole
 
EtherChannel Configuration
EtherChannel ConfigurationEtherChannel Configuration
EtherChannel Configuration
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 

Similar a Taller compiladores Análisis Semántico

Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15
AndresDvila
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
Fabricio Galárraga
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
Anthony Benalcazar
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
Santiago Andrade
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
DanielRosero23
 
ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
MAURICIOANDRES39
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
JOSSELINEMARIBEL
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
Andres Pozo
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
LuisMolina269
 
Analisis Semantico Taller 1 Parcial 2
Analisis Semantico Taller 1 Parcial 2Analisis Semantico Taller 1 Parcial 2
Analisis Semantico Taller 1 Parcial 2
GLORIABELEN3
 
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
Bryan Chasiguano
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
Alvaro Cedeño
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemas
JESSIKADG86
 
Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.
Dispositivosmoviles
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
alejitaacg
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
alejandra985
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
alejandra985
 
Clase15
Clase15Clase15
Clase15
Areli Gómez
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
Infomania pro
 
Lenguaje de programacion mike alvarado
Lenguaje de programacion mike alvaradoLenguaje de programacion mike alvarado
Lenguaje de programacion mike alvarado
Luis José Bello Mendoza
 

Similar a Taller compiladores Análisis Semántico (20)

Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
 
ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Analisis Semantico Taller 1 Parcial 2
Analisis Semantico Taller 1 Parcial 2Analisis Semantico Taller 1 Parcial 2
Analisis Semantico Taller 1 Parcial 2
 
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
Taller n15 compiladores_analis_semantico_15_junio_2021 (1)
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemas
 
Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Clase15
Clase15Clase15
Clase15
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Lenguaje de programacion mike alvarado
Lenguaje de programacion mike alvaradoLenguaje de programacion mike alvarado
Lenguaje de programacion mike alvarado
 

Más de Alex Toapanta

Practica pishing 2
Practica pishing 2Practica pishing 2
Practica pishing 2
Alex Toapanta
 
Practica instalación maquinas virtuales en VMware
Practica instalación maquinas virtuales en VMwarePractica instalación maquinas virtuales en VMware
Practica instalación maquinas virtuales en VMware
Alex Toapanta
 
Practica 3 Informática Legal
Practica 3 Informática LegalPractica 3 Informática Legal
Practica 3 Informática Legal
Alex Toapanta
 
Practica nro 2 Informática Forense
Practica nro 2 Informática ForensePractica nro 2 Informática Forense
Practica nro 2 Informática Forense
Alex Toapanta
 
Practica recuperar archivo eliminado
Practica recuperar archivo eliminadoPractica recuperar archivo eliminado
Practica recuperar archivo eliminado
Alex Toapanta
 
Taller segmentacion
Taller segmentacionTaller segmentacion
Taller segmentacion
Alex Toapanta
 
Taller principios analisis forense
Taller principios analisis forenseTaller principios analisis forense
Taller principios analisis forense
Alex Toapanta
 
Metodología de Análisis Forense
Metodología de Análisis ForenseMetodología de Análisis Forense
Metodología de Análisis Forense
Alex Toapanta
 
Practica 2 Procesamiento de imágenes con matlab
Practica 2 Procesamiento de imágenes con matlabPractica 2 Procesamiento de imágenes con matlab
Practica 2 Procesamiento de imágenes con matlab
Alex Toapanta
 
Taller n18: Perito Informático
Taller n18: Perito InformáticoTaller n18: Perito Informático
Taller n18: Perito Informático
Alex Toapanta
 
Imagenes con matlab
Imagenes con matlabImagenes con matlab
Imagenes con matlab
Alex Toapanta
 
Ciclos repetición matlab
Ciclos repetición matlabCiclos repetición matlab
Ciclos repetición matlab
Alex Toapanta
 
Practica5 matlab funciontes
Practica5 matlab funciontesPractica5 matlab funciontes
Practica5 matlab funciontes
Alex Toapanta
 
Graficas sencillas matlab
Graficas sencillas matlabGraficas sencillas matlab
Graficas sencillas matlab
Alex Toapanta
 
Practica3 matlab
Practica3 matlabPractica3 matlab
Practica3 matlab
Alex Toapanta
 
Practica 2 Matlab
Practica 2 MatlabPractica 2 Matlab
Practica 2 Matlab
Alex Toapanta
 
Firma electronica
Firma electronicaFirma electronica
Firma electronica
Alex Toapanta
 
Instalacion matlab
Instalacion matlabInstalacion matlab
Instalacion matlab
Alex Toapanta
 
La luz y el espectro electromagnetico
La luz y el espectro electromagneticoLa luz y el espectro electromagnetico
La luz y el espectro electromagnetico
Alex Toapanta
 
Fundamentos de la teoria del color
Fundamentos de la teoria del colorFundamentos de la teoria del color
Fundamentos de la teoria del color
Alex Toapanta
 

Más de Alex Toapanta (20)

Practica pishing 2
Practica pishing 2Practica pishing 2
Practica pishing 2
 
Practica instalación maquinas virtuales en VMware
Practica instalación maquinas virtuales en VMwarePractica instalación maquinas virtuales en VMware
Practica instalación maquinas virtuales en VMware
 
Practica 3 Informática Legal
Practica 3 Informática LegalPractica 3 Informática Legal
Practica 3 Informática Legal
 
Practica nro 2 Informática Forense
Practica nro 2 Informática ForensePractica nro 2 Informática Forense
Practica nro 2 Informática Forense
 
Practica recuperar archivo eliminado
Practica recuperar archivo eliminadoPractica recuperar archivo eliminado
Practica recuperar archivo eliminado
 
Taller segmentacion
Taller segmentacionTaller segmentacion
Taller segmentacion
 
Taller principios analisis forense
Taller principios analisis forenseTaller principios analisis forense
Taller principios analisis forense
 
Metodología de Análisis Forense
Metodología de Análisis ForenseMetodología de Análisis Forense
Metodología de Análisis Forense
 
Practica 2 Procesamiento de imágenes con matlab
Practica 2 Procesamiento de imágenes con matlabPractica 2 Procesamiento de imágenes con matlab
Practica 2 Procesamiento de imágenes con matlab
 
Taller n18: Perito Informático
Taller n18: Perito InformáticoTaller n18: Perito Informático
Taller n18: Perito Informático
 
Imagenes con matlab
Imagenes con matlabImagenes con matlab
Imagenes con matlab
 
Ciclos repetición matlab
Ciclos repetición matlabCiclos repetición matlab
Ciclos repetición matlab
 
Practica5 matlab funciontes
Practica5 matlab funciontesPractica5 matlab funciontes
Practica5 matlab funciontes
 
Graficas sencillas matlab
Graficas sencillas matlabGraficas sencillas matlab
Graficas sencillas matlab
 
Practica3 matlab
Practica3 matlabPractica3 matlab
Practica3 matlab
 
Practica 2 Matlab
Practica 2 MatlabPractica 2 Matlab
Practica 2 Matlab
 
Firma electronica
Firma electronicaFirma electronica
Firma electronica
 
Instalacion matlab
Instalacion matlabInstalacion matlab
Instalacion matlab
 
La luz y el espectro electromagnetico
La luz y el espectro electromagneticoLa luz y el espectro electromagnetico
La luz y el espectro electromagnetico
 
Fundamentos de la teoria del color
Fundamentos de la teoria del colorFundamentos de la teoria del color
Fundamentos de la teoria del color
 

Último

EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
taniarivera1015tvr
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
azulsarase
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
Augusto César Dávila Callupe
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
LuisCiriacoMolina
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
KarinToledo2
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
BrusCiriloPintoApaza
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
KeylaArlethTorresOrt
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
karenperalta62
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 

Último (20)

EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
SLIDEHARE.docx..........................
SLIDEHARE.docx..........................SLIDEHARE.docx..........................
SLIDEHARE.docx..........................
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
diagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingenieríadiagrama de flujo. en el área de ingeniería
diagrama de flujo. en el área de ingeniería
 
Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 

Taller compiladores Análisis Semántico

  • 1. TALLER DE ACTIVIDADES DE COMPILADORES Fecha: 31 de mayo del 2018 Nombre: Alex Jhonatan Toapanta Molina Tema: Análisis sintáctico.  ¿Cuál es el objetivo principal del analizar semántico de un procesador de lenguajes? El objetivo principal del analizador semántico de un procesador de lenguaje es asegurarse de que el programa analizado satisfaga las reglas requeridas por la especificación del lenguaje, para garantizar su correcta ejecución. El tipo y dimensión de análisis semántico requerido varía enormemente de un lenguaje a otro. En lenguajes interpretados como Lisp o Smalltalk casi no se lleva a cabo análisis semántico previo a su ejecución, mientras que en lenguajes como Ada, el analizador semántico deberá comprobar numerosas reglas que un programa fuente está obligado a satisfacer.  A qué refiere la descripción formal de la semántica de lenguajes de programación, cite 6 especificaciones más usadas. 1. Revelar posibles ambigüedades existentes implementaciones de procesadores de lenguajes o en documentos descriptivos de lenguajes de programación. 2. Ser utilizados como base para la implementación de procesadores de lenguaje. 3. Verificar propiedades de programas en relación con pruebas de corrección o información relacionada con su ejecución. 4. Diseñar nuevos lenguajes de programación, permitiendo registrar decisiones sobre construcciones particulares del lenguaje, así como permitir descubrir posibles irregularidades u omisiones. 5. Facilitar la comprensión de los lenguajes por parte del programador y como mecanismo de comunicación entre diseñador del lenguaje, implementador y programador. La especificación semántica de un lenguaje, como documento de referencia, aclara el comportamiento del lenguaje y sus diversas construcciones. 6. Estandarizar lenguajes mediante la publicación de su semántica de un modo no ambiguo. Los programas deben poder procesarse en otra implementación de procesador del mismo lenguaje exhibiendo el mismo comportamiento.  Cuáles son los puntos de vista de descripción semántica más utilizados, realice un resumen corto y un ejemplo de la especificación de los mismos.
  • 2. Semántica Operacional.-Lo que realmente especifica es como se lleva a cabo dicha ejecución. Los significados del programa son descritos en términos de operaciones, utilizando un lenguaje basado en reglas de inferencia lógicas en las que se describen formalmente las secuencias de ejecución de las diferentes instrucciones sobre una máquina abstracta. Ejemplo: Este ejemplo es una especificación formal de la semántica de una asignación en un lenguaje de programación. Semántica denotacional.- La representación del comportamiento de cada sentencia o frase del lenguaje se lleva a cabo mediante entidades matemáticas (denotación) que representan el efecto de haber ejecutado las sentencia o frase asociada. Ejemplo: La especificación de una asignación en semántica denatacional es: Semántica Axiomática.- Especifica las propiedades del efecto de ejecutar las sentencias sintácticamente correctas, expresadas mediante asertos, desoyendo así los aspectos de su ejecución. El sistema permite estudiar formalmente las propiedades del lenguaje y se requiere la utilización de sistemas consistentes y completos [Hoare73]. Se utiliza mayoritariamente en verificación formal de corrección de programas. Ejemplo: Semántica algebraica.- Se basa en la especificación de tipos de datos abstractos mediante una colección de operaciones (incluyendo alguna constante). Puesto que un conjunto de valores
  • 3. al que se le añaden una colección de operaciones constituye un álgebra, este método de descripción formal de semántica se denomina semántica algebraica. Ejemplo: La especificación del tipo lógico (booleano) en un lenguaje de programación puede llevarse a cabo del siguiente modo, siguiendo la semántica algebraica: Semántica de acciones.- esta semántica está basada en el concepto de acciones que reflejan las operaciones comunes en los lenguajes de programación, ofreciendo primitivas para la asignación y declaración de identificadores, así como la combinación de instrucciones mediante control de flujo secuencial, condicional e iterativo
  • 4.  Cuál es la conexión directa entre el análisis semántico con el resto de fases que emplea un compilador, explique a través del organizador gráfico de Aho. La conexión directa que tiene el análisis semántico con el resto de fases del compilador es la Tabla de símbolos (Inserción y búsqueda de símbolos) y otra con el Manejador de errores (Errores Semánticos).  Cite de forma rápida ejemplos de comprobaciones que hace el analizador semántico con respecto a: ✓ Declaración de identificadores y reglas de ámbitos
  • 5. ✓ Comprobaciones de unicidad -Constantes de cada case en Pascal, C o Java. Cada uno de los elementos existentes en los condicionales múltiples de los lenguajes de programación mencionados, ha de ser único. En otro caso, el analizador semántico deberá generar un error de compilación. −Los valores de un tipo enumerado de Pascal o C han de ser únicos. −Las etiquetas de un lenguaje de programación, como un ensamblador, no pueden estar repetidas, puesto que los saltos a las mismas serían ambiguos. −La declaración de un identificador en un ámbito ha de ser única en multitud de lenguajes de programación. ✓ Comprobaciones de enlace -En un ensamblador, un salto a una etiqueta requiere que ésta haya sido referida como una posición de memoria. −En el lenguaje de programación ANSI C [Kernighan91] y en ISO/ANSI C++ [ANSIC++] la invocación a una función o método requiere que éstos hayan sido declarados previamente. ✓ Comprobaciones pospuestas por el analizador sintáctico Las sentencias break y continue de Java y C sólo pueden utilizarse en determinadas estructuras de control del lenguaje. Éste es otro escenario para que el analizador sintáctico posponga la comprobación hasta la fase análisis semántico. ✓ Comprobaciones dinámicas -El acceso a un vector fuera de rango. -Utilización de un puntero nulo. -División por cero. ✓ Comprobaciones de tipo -Comprobar las operaciones que se pueden aplicar a cada construcción del lenguaje. Dado un elemento del lenguaje, su tipo identifica las operaciones que sobre él se pueden aplicar. Por ejemplo, en el lenguaje Java el operador de producto no es aplicable a una referencia a un objeto. De un modo contrario, el operador punto sí es válido. -Inferir el tipo de cada construcción del lenguaje. Para poder implementar la comprobación anterior, es necesario conocer el tipo de toda construcción sintácticamente válida del lenguaje. Así, el analizador semántico deberá aplicar las distintas reglas de inferencia de tipos descritas en la especificación del lenguaje de programación, para conocer el tipo de cada construcción del lenguaje.
  • 6.  Qué comprende el análisis semántico como decoración del Árbol de Sintaxis abstracta. Comprenden la asignación de información adicional a los nodos del AST representando propiedades de las construcciones sintácticas del lenguaje, tales como el tipo de una expresión. Un AST decorado o anotado es una ampliación del AST, en el que a cada nodo del mismo se le añaden atributos indicando las propiedades necesarias de la construcción sintáctica que representan.  Defina las características más importantes del Árbol de sintaxis abstracta. -Las expresiones tendrán asociadas un atributo tipo que indique si son reales o enteras. Esto es necesario porque se podrá asignar un valor entero a una expresión real, pero no al revés. −Las expresiones deberán tener un atributo lógico que indique si son o no lvalues. De este modo, se podrá comprobar si lo que está a la izquierda de la asignación es o no semánticamente correcto. −En una declaración se deberá insertar el identificador en una tabla de símbolos con su tipo declarado, para poder conocer posteriormente el tipo de cualquier identificador en una expresión. Es, por tanto, necesario asignar un atributo nombre (cadena de caracteres) a un identificador. −Finalmente, aunque más enfocado a la fase de generación de código o interpretación que al análisis semántico– se le asigna un valor entero o real a las constantes del lenguaje.  Defina una gramática concreta para la siguiente operación 7+ (4*2) * 5 /(10*2) y finalmente genere su árbol sintáctico Gramática Abstracta: Expresión: expresionBinaria | expresionUnitaria | constanteEntera ; expresionBinaria: expresión ('*'|'/'|'+') expresión ; constanteEntera: CTE_ENTERA ;