Semantico

Páginas: 31 (7668 palabras) Publicado: 5 de abril de 2015
4o Ingenier´ıa Inform´
atica
II26 Procesadores de lenguaje
An´alisis sem´antico
Esquema del tema
1. Introducci´
on
2. Esquemas de traducci´
on dirigidos por la sintaxis
3. El ´arbol de sintaxis abstracta
4. Comprobaciones sem´anticas
5. Interpretaci´
on
6. Introducci´
on a metacomp
7. Algunas aplicaciones
8. Resumen del tema

1.

Introducci´
on

Hay determinadas caracter´ısticas de los lenguajesde programaci´on que no pueden ser modeladas mediante gram´
aticas incontextuales y que es necesario comprobar en una fase posterior al
an´
alisis sint´
actico. Por otro lado, las fases posteriores de la compilaci´on o interpretaci´on necesitan
una representaci´
on de la entrada que les permita llevar a cabo sus funciones de manera adecuada.
Estas dos vertientes —detecci´
on de errores yrepresentaci´on de la informaci´on— est´an muy
relacionadas y se solapan en la pr´
actica. Supongamos, por ejemplo, que nuestro lenguaje permite
asignaciones seg´
un la regla
Asignaci´on → id:= Expresi´on ;
Es habitual que se impongan ciertas restricciones. En nuestro caso, estas podr´ıan ser:
El identificador de la parte izquierda debe estar declarado previamente.
El tipo de la expresi´
on debe sercompatible con el del identificador.
El analizador sem´
antico deber´
a comprobar que estas dos restricciones se cumplen antes de declarar que la sentencia de asignaci´
on est´a bien formada. Pero sucede que la informaci´on necesaria
para comprobarlas es u
´til tambi´en para generar c´odigo. Esto quiere decir que si tuvi´eramos una
separaci´
on estricta entre las fases del compilador, para generarc´odigo deber´ıamos volver a mirar
el identificador para saber a qu´e objeto (variable, funci´on, constante, etc.) corresponde y qu´e tipo
tiene y tambi´en deber´ıamos volver a comprobar los tipos de la expresi´on para generar el c´odigo
adecuado.
Por otro lado, aunque en teor´ıa el a´rbol de an´alisis ser´ıa suficiente para fases posteriores de la
compilaci´
on o interpretaci´
on, es unarepresentaci´on que contiene mucha informaci´on redundante.
As´ı, el ´
arbol correspondiente a a:= b+c; bien podr´ıa tener el aspecto del ´arbol de la izquierda,
cuando el de la derecha contiene esencialmente la misma informaci´on y resulta m´as c´omodo para

2

II26 Procesadores de lenguaje

trabajar:
Asignaci´
on

ida :=

Expresi´
on

;
asignaci´
on

Expresi´
on

+

T´ermino
variablea

T´ermino

suma

Factorvariableb constantec

Factor

idc

idb
El segundo ´
arbol se conoce como ´
arbol de sintaxis abstracta (o AST, de las iniciales en ingl´es).
Como hemos comentado, durante el an´alisis sem´antico se recoge una serie de informaciones que
resultan de utilidad para fases posteriores. Estas informaciones se pueden almacenar en el ´arbol,
“decor´
andolo”:
asignaci´
on

variable

suma

nombre: a
tipo:entero

tipo: entero

variable

constante

nombre: b
tipo: entero

nombre: c
tipo: entero
valor: 5

As´ı el objetivo de la fase de an´
alisis sem´antico ser´a doble: por un lado detectaremos errores que
no se han detectado en fases previas y por otro lado obtendremos el AST decorado de la entrada.
Para ello utilizaremos esquemas de traducci´
on dirigidos por la sintaxis, que permitir´an asociaracciones a las reglas de la gram´
atica. Estas acciones realizar´an comprobaciones y construir´an el
AST que despu´es se recorrer´
a para terminar las comprobaciones y ser´a la base para la interpretaci´
on o la generaci´
on de c´
odigo.

2.

Esquemas de traducci´
on dirigidos por la sintaxis

Nuestro objetivo es especificar una serie de acciones que se realizar´an durante el an´alisis de
la entrada ytener un mecanismo que nos permita obtener la informaci´on necesaria para realizar
estas acciones. Para esto a˜
nadimos a las gram´aticas dos elementos nuevos:
Acciones intercaladas en las reglas.
Atributos asociados a los no terminales de la gram´atica.

2.1.

Acciones intercaladas en las reglas

Supongamos que tenemos el no terminal A que deriva dos partes diferenciadas y queremos
que se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Semantica
  • Semantica
  • Semantica
  • la semàntica
  • LA SEMÁNTICA
  • semantica
  • Semántica
  • Semantica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS