SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
TALLER DE ACTIVIDADES DE COMPILADORES
Fecha: 31 de mayo del 2018
Tema: Análisis sintáctico
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 analizar semántico de un
procesador de lenguajes?
El objetivo principal del analizador semántico de un procesador de lenguajes es
asegurarse de que el programa analizado satisfaga las reglas requeridas por la
especificación del lenguaje, para garantizar su correcta ejecución.
▪ A qué refiere la descripción formal de la semántica de lenguajes de
programación, cite 6 especificaciones más usadas.
La descripción formal de la semántica de lenguajes de programación es la descrip-ción
rigurosa del significado o comportamiento de programas, lenguajes de programación,
máquinas abstractas o incluso cualquier dispositivo hardware.
ESPECIFICACIONES MÁS USADAS:
• Revelar posibles ambigüedades existentes implementaciones de procesadores de
lenguajes o en documentos descriptivos de lenguajes de programación.
• Ser utilizados como base para la implementación de procesadores de lenguaje.
• Verificar propiedades de programas en relación con pruebas de corrección o in-
formación relacionada con su ejecución.
• Diseñar nuevos lenguajes de programación, permitiendo registrar decisiones sobre
construcciones particulares del lenguaje, así como permitir descubrir posibles
irregularidades u omisiones.
• 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.
• 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: Define el significado de cada construcción
sintáctica que es especificado mediante la computación que se lleva a cabo
en su ejecución sobre una máquina abstracta. Lo que realmente se
especifica es cómo 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.
• Semántica denotacional: Define la representación del comportamiento de
cada sentencia o frase del lenguaje, este se lleva a cabo mediante entidades
matemáticas (de-notación) que representan el efecto de haber ejecutado
las sentencia o frase asociada.
• 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.
• Semántica algebraica: Se basa en la especificación de tipos de datos abstrac-
tos 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 opera-
ciones constituye un álgebra, este método de descripción formal de semántica
se denomina semántica algebraica.
▪ 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.
El analizador semántico aporta en el proceso de compilación buscando, definiendo e
identificando el significado del programa, es decir examina y clasifica los bloques de
código que el analizador sintáctico no lo pudo hacer completamente.
▪ 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:
superficie = base * altura / 2;
Para este ejemplo cada una de las variables usadas debieron estar declaradas
anteriormente. En este caso el analizador sintáctico tendría que aplicar reglas de
ámbito como la ocultación de identificadores.
✓ Comprobaciones de unicidad
Un claro ejemplo es que, en pascal, un identificador debe declararse de forma única, las
etiquetas en una proposición de tipo case deben ser diferentes y no se pueden repetir los
elementos en un tipo escalar.
✓ Comprobaciones de enlace
Por ejemplo en el lenguaje Ada, un enlace puede tener un nombre que aparezca al
principio y al final de la construcción. El compilador debe comprobar que se utilice el
mismo nombre en ambos sitios.
✓ Comprobaciones pospuestas por el analizador sintáctico
En este punto el analizador semántico deberá comprobar varias restricciones, por
ejemplo en el lenguaje java o C# se usa la sentencia return para retornar datos, pero
antes de hacerlo hay una serie de instrucciones previas a ejecutarse.
✓ Comprobaciones dinámicas
Diversos ejemplos pueden ser: acceso a un vector fuera de rango, utilización de un
puntero nulo o división por cero.
✓ Comprobaciones de tipo
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.
▪ Qué comprende el análisis semántico como decoración del Árbol de
Sintaxis abstracta.
El análisis semántico interviene en las pasadas que se generan durante el proceso de
compilación, aquí se producen análisis de tipo sintáctico y optimizaciones de código en cada
pasada, para el análisis semántico es más sencillo de implementar si se emplean para las fases
de análisis sintáctico y semántico dos o más pasadas. En este caso, la fase de análisis sintáctico
creará un árbol sintáctico abstracto para que sea procesado por el analizador semántico.
▪ Defina las características más importantes del Árbol de sintaxis abstracta.
- Es una representación de la estructura de una consecución de componentes léxicos
(tokens), en la que éstos aparecen como nodos hoja y los nodos internos
representan los pasos en las derivaciones de la gramática asociada.
- Es una simplificación de árbol sintáctico que representa toda la información
necesaria para el resto del procesamiento del programa de un modo más eficiente
que el árbol sintáctico original.
▪ Defina una gramática concreta para la siguiente operación 7+(4*2) * 5 /(10*2) y
finalmente genere su árbol sintáctico.
expresion: expresion '*' termino
| expresion '*' termino
| termino
;
termino: termino '*' factor
| termino '/' factor
| factor
;
Gramática abstracta:
expresion: expresionBinaria
| expresionUnaria
| constanteEntera
;
expresioBinaria: expresion ('*'|'/'|'+') expresion
; ;
constanteEntera: CTE_ENTERA
;
7|4|2|5|10 CTE_ENTERA
('*'|'/'|'+') Expresiones
AST generado para la sentencia 7+(4*2) * 5 /(10*2)

Más contenido relacionado

La actualidad más candente

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
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semánticoAndres Pozo
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Bryan Chasiguano
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladoresAlvaro Cedeñ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
 
Lenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionLenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionIsrael Castillo Cruz
 
Compiladores
CompiladoresCompiladores
Compiladoresdrakul09
 
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_
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxicokatherine133
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladoresbachispasaca
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxicoFARIDROJAS
 

La actualidad más candente (20)

Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
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)
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladores
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021Taller n13 compiladores_10_junio_2021
Taller n13 compiladores_10_junio_2021
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladores
 
Clase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cppClase6 ejemplo analisis lexico dev cpp
Clase6 ejemplo analisis lexico dev cpp
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo MinilenguajeCompiladores, Analisis Lexico, Ejemplo Minilenguaje
Compiladores, Analisis Lexico, Ejemplo Minilenguaje
 
Lenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcionLenguajes lógicos definicion y funcion
Lenguajes lógicos definicion y funcion
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
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
 
Compiladores y analizador léxico
Compiladores y analizador léxicoCompiladores y analizador léxico
Compiladores y analizador léxico
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 

Similar a Taller análisis sintáctico

Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintacticoAndresDvila
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semanticoAlvaro Cedeño
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintacticoAndres Pozo
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemasJESSIKADG86
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iRossana Sosa
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnosticoJavierCR2017
 
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
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1X3025990
 
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
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexicoJhampier_Piedra
 
TALLER ANÁLISIS SINTÁCTICO
TALLER ANÁLISIS SINTÁCTICOTALLER ANÁLISIS SINTÁCTICO
TALLER ANÁLISIS SINTÁCTICOJOSSELINEMARIBEL
 
Análisis sintáctico
Análisis sintácticoAnálisis sintáctico
Análisis sintácticoRubnPilca
 
Proyecto De Tecnica De Programacioin I I
Proyecto De Tecnica De Programacioin  I IProyecto De Tecnica De Programacioin  I I
Proyecto De Tecnica De Programacioin I IAmistadLealtad
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomezalejitaacg
 

Similar a Taller análisis sintáctico (20)

Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Lenguaje de programacion mike alvarado
Lenguaje de programacion mike alvaradoLenguaje de programacion mike alvarado
Lenguaje de programacion mike alvarado
 
Taller de compiladores
Taller de compiladoresTaller de compiladores
Taller de compiladores
 
Actividad 2 programacion de sistemas
Actividad 2 programacion de sistemasActividad 2 programacion de sistemas
Actividad 2 programacion de sistemas
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
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)
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
 
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
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexico
 
TALLER ANÁLISIS SINTÁCTICO
TALLER ANÁLISIS SINTÁCTICOTALLER ANÁLISIS SINTÁCTICO
TALLER ANÁLISIS SINTÁCTICO
 
Análisis sintáctico
Análisis sintácticoAnálisis sintáctico
Análisis sintáctico
 
Herramientas de software
Herramientas de softwareHerramientas de software
Herramientas de software
 
Proyecto De Tecnica De Programacioin I I
Proyecto De Tecnica De Programacioin  I IProyecto De Tecnica De Programacioin  I I
Proyecto De Tecnica De Programacioin I I
 
Compiladores (1) pedro vasques
Compiladores (1) pedro vasquesCompiladores (1) pedro vasques
Compiladores (1) pedro vasques
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 

Más de Anthony Benalcazar

Analisis zorros y conejos vensim
Analisis zorros y conejos vensimAnalisis zorros y conejos vensim
Analisis zorros y conejos vensimAnthony Benalcazar
 
MODELOS DE SIMULACIÓN EN VENSIM
MODELOS DE SIMULACIÓN EN VENSIMMODELOS DE SIMULACIÓN EN VENSIM
MODELOS DE SIMULACIÓN EN VENSIMAnthony Benalcazar
 
Elementos para garantizar el éxito de la simulación
Elementos para garantizar el éxito de la simulaciónElementos para garantizar el éxito de la simulación
Elementos para garantizar el éxito de la simulaciónAnthony Benalcazar
 
Taller ventajas y desventajas simulacion
Taller ventajas y desventajas simulacionTaller ventajas y desventajas simulacion
Taller ventajas y desventajas simulacionAnthony Benalcazar
 
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚL
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚLSISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚL
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚLAnthony Benalcazar
 
Compilando un programa manualmente
Compilando un programa manualmenteCompilando un programa manualmente
Compilando un programa manualmenteAnthony Benalcazar
 
Emulador de ensamblador emu8086
Emulador de ensamblador emu8086Emulador de ensamblador emu8086
Emulador de ensamblador emu8086Anthony Benalcazar
 
Organizadores graficos sobre clasificacion de lenguajes
Organizadores graficos sobre clasificacion de lenguajesOrganizadores graficos sobre clasificacion de lenguajes
Organizadores graficos sobre clasificacion de lenguajesAnthony Benalcazar
 
La evolucion de los lenguajes de programacion
La evolucion de los lenguajes de programacionLa evolucion de los lenguajes de programacion
La evolucion de los lenguajes de programacionAnthony Benalcazar
 
Teoría de la comunicación y la información de Shannon-Hartley-NYQUIST
Teoría de la comunicación y la información de Shannon-Hartley-NYQUISTTeoría de la comunicación y la información de Shannon-Hartley-NYQUIST
Teoría de la comunicación y la información de Shannon-Hartley-NYQUISTAnthony Benalcazar
 
Actividades Entropía de la información
Actividades Entropía de la información Actividades Entropía de la información
Actividades Entropía de la información Anthony Benalcazar
 
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓN
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓNACTIVIDADES ENTROPÍA DE LA INFORMACIÓN
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓNAnthony Benalcazar
 

Más de Anthony Benalcazar (20)

Vensim conejos y zorros
Vensim conejos y zorrosVensim conejos y zorros
Vensim conejos y zorros
 
Analisis zorros y conejos vensim
Analisis zorros y conejos vensimAnalisis zorros y conejos vensim
Analisis zorros y conejos vensim
 
MODELOS DE SIMULACIÓN EN VENSIM
MODELOS DE SIMULACIÓN EN VENSIMMODELOS DE SIMULACIÓN EN VENSIM
MODELOS DE SIMULACIÓN EN VENSIM
 
Elementos para garantizar el éxito de la simulación
Elementos para garantizar el éxito de la simulaciónElementos para garantizar el éxito de la simulación
Elementos para garantizar el éxito de la simulación
 
Taller ventajas y desventajas simulacion
Taller ventajas y desventajas simulacionTaller ventajas y desventajas simulacion
Taller ventajas y desventajas simulacion
 
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚL
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚLSISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚL
SISTEMA DE GESTIÓN DE SEGUROS HOSPITAL SAN VICENTE DE PAÚL
 
Servidor de streaming
Servidor de streamingServidor de streaming
Servidor de streaming
 
TALLER FLEX Y BISON
TALLER FLEX Y BISONTALLER FLEX Y BISON
TALLER FLEX Y BISON
 
FLEX Y BISON
FLEX Y BISONFLEX Y BISON
FLEX Y BISON
 
Instalacion fortran
Instalacion fortranInstalacion fortran
Instalacion fortran
 
Compilando un programa manualmente
Compilando un programa manualmenteCompilando un programa manualmente
Compilando un programa manualmente
 
Emulador de ensamblador emu8086
Emulador de ensamblador emu8086Emulador de ensamblador emu8086
Emulador de ensamblador emu8086
 
Instalacion decompiladores
Instalacion decompiladoresInstalacion decompiladores
Instalacion decompiladores
 
Organizadores graficos sobre clasificacion de lenguajes
Organizadores graficos sobre clasificacion de lenguajesOrganizadores graficos sobre clasificacion de lenguajes
Organizadores graficos sobre clasificacion de lenguajes
 
La evolucion de los lenguajes de programacion
La evolucion de los lenguajes de programacionLa evolucion de los lenguajes de programacion
La evolucion de los lenguajes de programacion
 
TALLER MEDIOS DE TRANSMISIÓN
TALLER MEDIOS DE TRANSMISIÓNTALLER MEDIOS DE TRANSMISIÓN
TALLER MEDIOS DE TRANSMISIÓN
 
Teoría de la comunicación y la información de Shannon-Hartley-NYQUIST
Teoría de la comunicación y la información de Shannon-Hartley-NYQUISTTeoría de la comunicación y la información de Shannon-Hartley-NYQUIST
Teoría de la comunicación y la información de Shannon-Hartley-NYQUIST
 
Codigos lineales y de bloque
Codigos lineales y de bloqueCodigos lineales y de bloque
Codigos lineales y de bloque
 
Actividades Entropía de la información
Actividades Entropía de la información Actividades Entropía de la información
Actividades Entropía de la información
 
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓN
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓNACTIVIDADES ENTROPÍA DE LA INFORMACIÓN
ACTIVIDADES ENTROPÍA DE LA INFORMACIÓN
 

Último

Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 

Último (9)

Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 

Taller análisis sintáctico

  • 1. TALLER DE ACTIVIDADES DE COMPILADORES Fecha: 31 de mayo del 2018 Tema: Análisis sintáctico 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 analizar semántico de un procesador de lenguajes? El objetivo principal del analizador semántico de un procesador de lenguajes es asegurarse de que el programa analizado satisfaga las reglas requeridas por la especificación del lenguaje, para garantizar su correcta ejecución. ▪ A qué refiere la descripción formal de la semántica de lenguajes de programación, cite 6 especificaciones más usadas. La descripción formal de la semántica de lenguajes de programación es la descrip-ción rigurosa del significado o comportamiento de programas, lenguajes de programación, máquinas abstractas o incluso cualquier dispositivo hardware. ESPECIFICACIONES MÁS USADAS: • Revelar posibles ambigüedades existentes implementaciones de procesadores de lenguajes o en documentos descriptivos de lenguajes de programación. • Ser utilizados como base para la implementación de procesadores de lenguaje. • Verificar propiedades de programas en relación con pruebas de corrección o in- formación relacionada con su ejecución. • Diseñar nuevos lenguajes de programación, permitiendo registrar decisiones sobre construcciones particulares del lenguaje, así como permitir descubrir posibles irregularidades u omisiones. • 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. • 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.
  • 2. ▪ 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: Define el significado de cada construcción sintáctica que es especificado mediante la computación que se lleva a cabo en su ejecución sobre una máquina abstracta. Lo que realmente se especifica es cómo 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. • Semántica denotacional: Define la representación del comportamiento de cada sentencia o frase del lenguaje, este se lleva a cabo mediante entidades matemáticas (de-notación) que representan el efecto de haber ejecutado las sentencia o frase asociada. • 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.
  • 3. • Semántica algebraica: Se basa en la especificación de tipos de datos abstrac- tos 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 opera- ciones constituye un álgebra, este método de descripción formal de semántica se denomina semántica algebraica.
  • 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. El analizador semántico aporta en el proceso de compilación buscando, definiendo e identificando el significado del programa, es decir examina y clasifica los bloques de código que el analizador sintáctico no lo pudo hacer completamente. ▪ 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: superficie = base * altura / 2; Para este ejemplo cada una de las variables usadas debieron estar declaradas anteriormente. En este caso el analizador sintáctico tendría que aplicar reglas de ámbito como la ocultación de identificadores. ✓ Comprobaciones de unicidad Un claro ejemplo es que, en pascal, un identificador debe declararse de forma única, las etiquetas en una proposición de tipo case deben ser diferentes y no se pueden repetir los elementos en un tipo escalar. ✓ Comprobaciones de enlace Por ejemplo en el lenguaje Ada, un enlace puede tener un nombre que aparezca al principio y al final de la construcción. El compilador debe comprobar que se utilice el mismo nombre en ambos sitios. ✓ Comprobaciones pospuestas por el analizador sintáctico En este punto el analizador semántico deberá comprobar varias restricciones, por ejemplo en el lenguaje java o C# se usa la sentencia return para retornar datos, pero antes de hacerlo hay una serie de instrucciones previas a ejecutarse. ✓ Comprobaciones dinámicas Diversos ejemplos pueden ser: acceso a un vector fuera de rango, utilización de un puntero nulo o división por cero.
  • 5. ✓ Comprobaciones de tipo 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. ▪ Qué comprende el análisis semántico como decoración del Árbol de Sintaxis abstracta. El análisis semántico interviene en las pasadas que se generan durante el proceso de compilación, aquí se producen análisis de tipo sintáctico y optimizaciones de código en cada pasada, para el análisis semántico es más sencillo de implementar si se emplean para las fases de análisis sintáctico y semántico dos o más pasadas. En este caso, la fase de análisis sintáctico creará un árbol sintáctico abstracto para que sea procesado por el analizador semántico. ▪ Defina las características más importantes del Árbol de sintaxis abstracta. - Es una representación de la estructura de una consecución de componentes léxicos (tokens), en la que éstos aparecen como nodos hoja y los nodos internos representan los pasos en las derivaciones de la gramática asociada. - Es una simplificación de árbol sintáctico que representa toda la información necesaria para el resto del procesamiento del programa de un modo más eficiente que el árbol sintáctico original. ▪ Defina una gramática concreta para la siguiente operación 7+(4*2) * 5 /(10*2) y finalmente genere su árbol sintáctico. expresion: expresion '*' termino | expresion '*' termino | termino ; termino: termino '*' factor | termino '/' factor | factor ; Gramática abstracta: expresion: expresionBinaria | expresionUnaria | constanteEntera ; expresioBinaria: expresion ('*'|'/'|'+') expresion ; ; constanteEntera: CTE_ENTERA ; 7|4|2|5|10 CTE_ENTERA ('*'|'/'|'+') Expresiones
  • 6. AST generado para la sentencia 7+(4*2) * 5 /(10*2)