SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
NOMBRE: Andrés Dávila M.
FECHA: 24/06/20
MATERIA: Compiladores
ANALISIS SEMÁNTICO
Contestar las siguientes preguntas
Resuelva cada una de las interrogantes planteadas y subir el enlace al espacio virtual con la
publicación del enlace de la dirección de su blog.
✓ ¿Cuál es el objetivo principal del analizador 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
especificacionesmá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 [Meinke92]. Este método está pues
enfocado a especificar la semántica de los tipos y sus operaciones. La semántica algebraica
constituye también la base de la semántica de acciones, empleada para especificar la semántica de
lenguajes de programación al completo.
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.- Fue elaborado por Peter Mosses [Mosses91] para describir la semántica
de lenguajes de un modo más inteligible. Las especificaciones semánticas de lenguajes siempre han
sido consideradas como oscuras, complicadas y únicamente legibles por expertos, adquiriendo así
una mala reputación por su uso intensivo de símbolos matemáticos [Watt96]. De este modo, 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 las fases que emplea u n
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 les 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.
El analizador sintáctico comprueba que las sentencias que componen el texto fuente son correctas
en el lenguaje, creando una representación interna que corresponde a la sentencia analizada. De
esta manera se garantiza que sólo serán procesadas las sentencias que pertenezcan al lenguaje
fuente. Durante el análisis sintáctico, así como en las demás etapas, se van mostrando los errores
que se encuentran.

Más contenido relacionado

La actualidad más candente

Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semanticoAreli Gómez
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxicokatherine133
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemasJESSIKADG86
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a CompiladoresLeopoldo Capa
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomezalejitaacg
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c Liz O
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppInfomania pro
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosInfomania pro
 
Compiladores
CompiladoresCompiladores
CompiladoresIsabel
 
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
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónOscar Delgado
 
Descripción del lenguaje red
Descripción del lenguaje redDescripción del lenguaje red
Descripción del lenguaje redRichard Padilla
 

La actualidad más candente (19)

ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
Clase15
Clase15Clase15
Clase15
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxico
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemas
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Compiladores
CompiladoresCompiladores
Compiladores
 
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
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Descripción del lenguaje red
Descripción del lenguaje redDescripción del lenguaje red
Descripción del lenguaje red
 

Similar a Analisis sintactico actividad 15

Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semanticoAlvaro Cedeño
 
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
 
Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Bryan Chasiguano
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexicoJhampier_Piedra
 
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
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Universidad
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintacticoAndres Pozo
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semanticoInfomania pro
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintacticoAndresDvila
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnosticoJavierCR2017
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoRaul Gomez
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador SintacticoBayo Chicaiza
 

Similar a Analisis sintactico actividad 15 (20)

Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Lenguaje de programacion mike alvarado
Lenguaje de programacion mike alvaradoLenguaje de programacion mike alvarado
Lenguaje de programacion mike alvarado
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Compilador2
Compilador2Compilador2
Compilador2
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Alejandra gomez (1)
Alejandra gomez (1)Alejandra gomez (1)
Alejandra gomez (1)
 
Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexico
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladores
 
Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.Actividad 2 Programación de Sistemas.
Actividad 2 Programación de Sistemas.
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador Sintactico
 

Más de AndresDvila

Manual de instalacion vegas
Manual de instalacion vegasManual de instalacion vegas
Manual de instalacion vegasAndresDvila
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenesAndresDvila
 
Practica 20 mat lab
Practica 20 mat labPractica 20 mat lab
Practica 20 mat labAndresDvila
 
Practica 7 mat lab
Practica 7 mat labPractica 7 mat lab
Practica 7 mat labAndresDvila
 
Matlab practica 6
Matlab practica 6Matlab practica 6
Matlab practica 6AndresDvila
 
Mat lab practica 5
Mat lab practica 5Mat lab practica 5
Mat lab practica 5AndresDvila
 
Mat lab practica 14
Mat lab practica 14Mat lab practica 14
Mat lab practica 14AndresDvila
 
Mat lab practica 3
Mat lab practica 3Mat lab practica 3
Mat lab practica 3AndresDvila
 
Actividad dos y tres
Actividad dos y tresActividad dos y tres
Actividad dos y tresAndresDvila
 
Instalacion mat lab
Instalacion mat labInstalacion mat lab
Instalacion mat labAndresDvila
 
Luz y espectro electromagnetico
Luz y espectro electromagneticoLuz y espectro electromagnetico
Luz y espectro electromagneticoAndresDvila
 
Fundamentos de la teoria del color
Fundamentos de la teoria del colorFundamentos de la teoria del color
Fundamentos de la teoria del colorAndresDvila
 
Teoria del color
Teoria del colorTeoria del color
Teoria del colorAndresDvila
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesAndresDvila
 
Taller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoTaller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoAndresDvila
 
Gramatica independiente de contexto
Gramatica independiente de contextoGramatica independiente de contexto
Gramatica independiente de contextoAndresDvila
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpAndresDvila
 
Interprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpInterprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpAndresDvila
 

Más de AndresDvila (20)

Manual de instalacion vegas
Manual de instalacion vegasManual de instalacion vegas
Manual de instalacion vegas
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenes
 
Practica 20 mat lab
Practica 20 mat labPractica 20 mat lab
Practica 20 mat lab
 
Practica 7 mat lab
Practica 7 mat labPractica 7 mat lab
Practica 7 mat lab
 
Matlab practica 6
Matlab practica 6Matlab practica 6
Matlab practica 6
 
Mat lab practica 5
Mat lab practica 5Mat lab practica 5
Mat lab practica 5
 
Mat lab practica 14
Mat lab practica 14Mat lab practica 14
Mat lab practica 14
 
Mat lab practica 3
Mat lab practica 3Mat lab practica 3
Mat lab practica 3
 
Actividad dos y tres
Actividad dos y tresActividad dos y tres
Actividad dos y tres
 
Instalacion mat lab
Instalacion mat labInstalacion mat lab
Instalacion mat lab
 
Luz y espectro electromagnetico
Luz y espectro electromagneticoLuz y espectro electromagnetico
Luz y 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
 
Teoria del color
Teoria del colorTeoria del color
Teoria del color
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Taller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoTaller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contexto
 
Gramatica independiente de contexto
Gramatica independiente de contextoGramatica independiente de contexto
Gramatica independiente de contexto
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharp
 
Interprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpInterprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharp
 
Gold parser
Gold parserGold parser
Gold parser
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 

Último

Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISIfimumsnhoficial
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 

Último (20)

Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Normas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISINormas para los aceros basados en ASTM y AISI
Normas para los aceros basados en ASTM y AISI
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 

Analisis sintactico actividad 15

  • 1. NOMBRE: Andrés Dávila M. FECHA: 24/06/20 MATERIA: Compiladores ANALISIS SEMÁNTICO Contestar las siguientes preguntas Resuelva cada una de las interrogantes planteadas y subir el enlace al espacio virtual con la publicación del enlace de la dirección de su blog. ✓ ¿Cuál es el objetivo principal del analizador 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 especificacionesmá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:
  • 3. 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 [Meinke92]. Este método está pues enfocado a especificar la semántica de los tipos y sus operaciones. La semántica algebraica constituye también la base de la semántica de acciones, empleada para especificar la semántica de lenguajes de programación al completo. 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.- Fue elaborado por Peter Mosses [Mosses91] para describir la semántica de lenguajes de un modo más inteligible. Las especificaciones semánticas de lenguajes siempre han sido consideradas como oscuras, complicadas y únicamente legibles por expertos, adquiriendo así una mala reputación por su uso intensivo de símbolos matemáticos [Watt96]. De este modo, esta semántica está basada en el concepto de acciones que reflejan las operaciones comunes en los
  • 4. 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 las fases que emplea u n 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:
  • 5. ✓ 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
  • 6. -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 les 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.
  • 7. El analizador sintáctico comprueba que las sentencias que componen el texto fuente son correctas en el lenguaje, creando una representación interna que corresponde a la sentencia analizada. De esta manera se garantiza que sólo serán procesadas las sentencias que pertenezcan al lenguaje fuente. Durante el análisis sintáctico, así como en las demás etapas, se van mostrando los errores que se encuentran.