P. 1
Análisis semántico

Análisis semántico

|Views: 1.033|Likes:
Publicado porbrisagj

More info:

Published by: brisagj on Nov 09, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/03/2013

pdf

text

original

ANÁLISIS

SEMÁNTICO

Construcción de compila dores principios y pra ctica - Kenneth C Louden -Interna tiona l Thomson Editores – 2004 pá g. 261

INTRODUCCIÓN
 Esta

fase se conoce como análisis semántico debido a que involucra el cálculo de información que rebasa las capacidades de las gramáticas libres de contexto y los algoritmos de análisis sintáctico estándar.  También se conoce como análisis semántico estático.

¿QUÉ REALIZA?

el análisis semántico involucra la construcción de una tabla de símbolos para mantenerse al tanto de los significados de nombres establecidos en declaraciones e inferir tipos y verificarlos en expresiones y sentencias con el fin de determinar su exactitud dentro de las reglas de tipos del lenguaje.

PRIMERA CATEGORÍA
Es el análisis de un programa que requiere las reglas del lenguaje de programación para establecer su exactitud y garantizar una ejecución adecuada.  La complejidad de un análisis de esta clase varía enormemente de lenguaje a lenguaje

SEGUNDA CATEGORÍA
Es el análisis realizado por un compilador para mejorar la eficiencia de ejecución del programa traducido.  Esta clase de análisis por lo regular se incluye en el análisis de "optimización", o técnicas de mejoramiento de código.

El análisis semántico estático involucra tanto la descripción de los análisis a realizar, como la implementación de los análisis utilizando algoritmos apropiados.  Aquí no existe un método que permita especificar la semántica estática de un lenguaje.

Lo que se utiliza común mente son las gramáticas con atributos.  Estas son más útiles para lenguajes que obedecen el principio de la semántica dirigida por sintaxis, la cual asegura que el contenido semántico de un programa se encuentre estrechamente relacionado con su sintaxis.  Por desgracia, el escritor de compiladores casi siempre debe construir una gramática con atributos a mano a partir del manual del lenguaje

ATRIBUTOS Y GRAMATICAS CON ATRIBUTOS
Un atributo es cualquier propiedad de una construcción del lenguaje de programación. Los atributos pueden variar ampliamente en cuanto a la información que contienen.  Ejemplos:  El tipo de datos de una variable  El valor de una expresión

TIPOS DE ATRIBUTOS
Los atributos que pueden fijarse antes de la ejecución se denominan está ticos.  otras que los atributos que sólo se pueden fijar durante la ejecución son diná micos

G RAMÁTICAS

CON ATRIBUTOS

En la semántica dirigida por sintaxis los atributos están directamente asociados con los símbolos gramaticales del lenguaje (los terminales y no terminales)  Una gramática con atributos para los atributos a1…ak es la colección de todas esas ecuaciones para todas las reglas gramaticales del lenguaje.

Las gramáticas con atributos se describen en forma tabular, con cada regla gramatical enumerada con el conjunto de ecuaciones de atributo, o reglas semánticas asociadas con esa regla.

NÚMERO DÍGITO
 

NÚMERO DIGITO

| DIGITO 0|1|2|3|4|5|6|7|8|9

Atributo más importante de un número su valor : val Cada número tiene un valor basado en el digito

Estas ecuaciones expresan la relación entre la sintaxis de las expresiones y la semántica de los cálculos aritméticos que se realizarán. Observe, por ejemplo, la diferencia entre el símbolo sintáctico + (un token) en la regla gramatical.  Exp1 exp2 + term  Y la operación de suma aritmética + que se realiza en la ecuación:  exp1 .val= exp2.val + term.val

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->