You are on page 1of 2

1.

ANALISIS SEMNTICO
La fase de anlisis semntico revisa el programa fuente para tratar
de encontrar errores semnticos y rene la informacin sobre los
tipos para la fase posterior de generacin de cdigo. En ella se
utiliza la estructura jerrquica determinada por la fase de anlisis
sintctico para identificar los operadores y operandos de
expresiones y proposiciones.

Un componente importante del anlisis semntico es la


verificacin de tipos. Aqu, el compilador verifica si cada operador
tiene operandos permitidos por la especificacin del lenguaje
fuente. Por ejemplo, las definiciones de muchos lenguajes de
programacin requieren que el compilador indique un error cada
vez que se use un nmero real como ndice de una matriz. Sin
embargo, la especificacin del lenguaje puede permitir ciertas
coerciones a los operandos, por ejemplo, cuando un operador
aritmtico binario se a plica a un nmero entero y a un nmero
real. En este caso, el compilador puede necesitar convertir el
nmero entero real.

1.1 ARBOLES DE EXPRESIONES


Expresin: secuencia de tokens.

Token: puede ser un operando o un operador.

Operador: +, -, *, /.

Propiedades:

Cada hoja es un operando.


El nodo raz o los nodos internos son operadores.
Los subrboles son subexpresiones en los nodos que el
nodo raz es un operador.

Reglas de precedencia: + (positivo), - (negativo).

*, /, %

+, -

Ejemplo: a*(b+c)+d

los parntesis estn implcitos en el rbol.


La prioridad se determina solo por parntesis.
La expresin completa se sita con parntesis.
Figura 1. Diagrama de expresiones usando notacin polonesa.

1.1.1 ARBOLES EN INFORMATICA


El rbol es una estructura de datos fundamental en informtica,
muy bien adaptados a la inteligencia artificial y al anlisis
sintctico.
En la inteligencia artificial, las declaraciones de las reglas se
efectan segn el esquema premisas-conclusin, que
corresponde al establecimiento de relaciones de dependencia
que se puedan poner en forma arborescente.
La resolucin de un problema se reduce entonces al recorrido
de un rbol, con el objeto de establecer un camino entre las
hiptesis y las conclusiones generales.
En el anlisis sintctico, se definen gramticas formales que
permiten descomponer las expresiones. As se puede definir
una fase como las combinaciones de un grupo nominal y de un
grupo verbal (verbo y complemento), este grupo verbal se
descompone en un verbo y en un grupo nominal, formado por
un nombre y una frase. La estructura jerrquica de una
expresin puede ser descrita por un esquema arborescente.
Un compilador podr, en el curso del tratamiento del texto de
un programa, utilizar rboles para decodificar tales
expresiones.