You are on page 1of 5

Instituto

Tecnolgico de Pachuca

Lenguajes y Autmatas II

Mapa unidad 1
Mati. Arturo Gonzales Ceron

Milln Valds Gabriel


12200642

13-septiembre- 2015

Analisis Semantico

Sistemas
de tipos
ACCIONES
SEMANTICAS
DE UN
ARBOLES
BINARIOS
ANALIZADOR SINTACTICO

Anlisis semntico

Es la fase encargada de detectar la


validez
semntica
de
las
sentencias
aceptadas
por
el
analizador sintctico

Un sistema de tipos es una serie de


rbol en
el
que
ningn
nodo
reglas para
asignar
de
Se trata de determinar
el tipo
de expresiones
los resultados
puede intermedios,
tener mscomprobar
de tipos
dosque
a los
las argumentos
distintas partes
de un
que tiene
subrboles
programa
y verificar
operador pertenecen
al conjunto
de su
loscorreccin.
operadores
posibles,
y sitener
son compatibles
entre s
Cada nodo
puede
0, 1,2
hijos
Un sistema de tipos incluye tanto
comprobaciones estticas como
Es decir, comprobara
que el
significado
de lo que
dinmicas,
segn
si se realiza
en
va leyendo es vlido.
tiempo de compilacin o en
tiempo de ejecucin.

Tipos de arboles

Por lo tanto:

Es la fase posterior a la de anlisis


sintctico

Sintaxis de un lenguaje
de programacin

es una expresin?
rbol degenerado: Que
lista
Acciones
enlazada
La comprobacin
realizada
por un
Es unaSemnticas
secuencia
de
rbol completo
compilador
es
esttica,
mientras
tokens que sigue
unas
rbol lleno que la comprobacin hecha al
reglas especificas
ejecutar el programa objeto se
Dependiendo
del tipo de sentencias,
denomina dinmica
las acciones
semnticas
La
prioridad
se pueden
determina
agruparse
en:
solo por parntesis

La expresin completa
Es el conjunto de reglas formales que
se sita con parntesis
especifican
la
estructura
de
los
programas
pertenecientes a dicho
-sentencias de declaracin:
EXPRESIONES DE
TIPOS de un rbol
lenguaje
Recorrido
completar la seccin de tipos de la
Una expresin de tipo, es un tipo bsico o se forma aplicando un
de
smboloso consultar los datos
e
usa tabla
parade
visualizar
operador llamado Se
constructor
tipos a otras
expresiones de
Sentencias ejecutables: realizar
almacenados en un rbol, tambin conocido
tipos.
comprobaciones de tipos entre los
visitarcomunes:
los nodos del mismo. Al contrario
Expresiones de como
tipos ms
operandos implicados
que
las
listas
enlazadas,
los arboles
tipos simples: son expresiones
de tipos
los tiposbinarios
simplesno
tienen
realmente
un primer valor, un segundo
del lenguaje,
y algunos
tipos especiales
valor,
un
tercer
valor,
etc.
Semntica
de
un
lenguaje
de
Integer
COMPROBACIONES
DE TIPOS
Recorrido en profundidad:
anchura: el proceso se realiza
programacin:
es el conjunto
de reglas
que
Real El
Comprobacin
esttica.un compilador
debe comprobar
ellaprograma
fuente
sigue
tanto
proceso
exigedesde
unsicamino
desde
la raz
travs
horizontalmente
raz
a todos
sus a
hijos;
a de
Tipos
de recorrido
especificanlas el
significado
de
cualquier
Char
convenciones sintcticas como
lasun
semnticas
del
lenguaje
hijo, al descendiente
lejano
primer hijo
continuacin,
a los
hijos ms
defuente.
sus
hijosdel
y as
sentencia sintcticamente
Los ejemplos de valida
comprobacin
incluyen. esttica
Boolean
El recorrido
un hasta
rbol
binario
requiere
antes
de de
proseguir
a un
segundo
hijo.
En otras
sucesivamente
que
todos
los
nodos
han sido
Nivel: distancia
de
ubicacin
hasta
la
raz
del

-comprobaciones
de
tipos
Etiquetas:
comprobar
si
hay
etiquetas
repetidas
que
cada
nodo
del
rbol
sea
procesado

Void
palabras
en
el
recorrido
en
profundidad,
todos
Funciones
y
procedimientos:
comprobar
ellos se
procesados.
En
el
recorrido
en
anchura,
cada
nivel
PADRE:
es un
nodo
tienefinito
nodos
Un
rbol
cuenta
con
un que
conjunto
Recorrido en profundidad
Recorrido preorden
rbol
Camino:
secuencia
de
nodos
en
que

comprobaciones
del
flujo
de
control
y
validacin
(visitado)
una
vez,
y
solo
una,
en
una
descendientes
de
un
hijo
se
procesan
antes
del
nmero,
orden definir
tipo
detres
losque
parmetros
actuales
procesa
totalmente
antes
de
comience
sucesores
Se
pueden
tipos
de
de elementos
llamadosal siguiente
nodos y un
Recorrido
enelordenen
cada
nodo es adyacente
Tiposrelacionadas
bsicossecuencia
y construidos
Constantes:
comprobar
que
no
se
utilicen
en la
predeterminada.
Existen
dos

-comprobaciones
con
nombres
siguiente
hijo.
cada
llamada
a
una
funcin
o
procedimiento.
nivel.
TIPOS
DE
ARBOLES
secuencia de un recorrido
en
conjunto
de
lneas
dirigidas

Recorrido
en
Hermanos:
Dos o mas es
nodos
con
el la
mismo
parte
izquierda
de
asignacin
de
Los
tipos
bsicos
son
los
tipospara
atmicos
sin estructura
interna
generales
launa
secuencia
de
Identificacin
de
variables:
comprobar
si
Altura
o profundidad:
el nivel
hojaenfoques
profundidad.
denominadas
ramas
postorden

ARBOL
EQUILIBRADO
padre
Es
una
estructura
de
datos
en
la
cual

Entre
los
tipos
construidos
se
pueden
considerar
a
apuntadores
recorrido:
identificador ha sido declarado antes de utilizarlo.y
del camino mas largo desde la raz mas uno

ARBOL
PERFECTAMENTE
cada uno de los elementos estn
Hoja: es=un
nodo que no tiene hijoslas funciones
ALTURA
NIVELES+1
Arboles
binarios
relacionados
entre s a travs de ramas
EQUILIBRADO

Pila Semntica En Un Analizador Sintctico

Esquema
traduccin:
Tabla dede
Smbolos:
estructura de datos
que almacenan toda la informacin de
una gramtica
contexto
Las Es
rutinas
semnticasindependiente
suelen
hacer del
uso
de
los
identificadores
del lenguaje
fuente
en (la
el
cualsemntica)
se han insertado fragmentos de
eepila
una pila
cdigo en las partes derechas de sus reglas de
produccin.

La pila es la estructura de datos que va


guardando informacin que le permite ir
haciendo las operaciones de reduccin que
necesita

La informacin almacenada en la TS depende


directamente del tipo de elementos del lenguaje
especfico a procesar y de las caractersticas de
Los fragmentos de cdigo as insertados se
dicho lenguaje
denominan acciones semnticas.
Construccin de analizadores sintcticos
Ascendente: Se va construyendo el rbol desde sus
nodos terminales
Descendente:
gramtica

Parten

del

axioma

inicial

de

Se caracteriza por que el desarrollador


especifica el momento en el que se ha de
ejecutar el cdigo.

la
RUTINAS SEMANTICAS
Las rutinas semnticas son fragmentos de
En los que
traductores
y compiladores
las TS
codigo
el desarrollador
del compilador
existen
en entre
tiempo
de compilacin
escribenicamente
normalmente
llaves
{}.

Pilas

Las
reservadas
no estn en
la TS
Lospalabras
esquemas
de traduccin
ejecutan
las
rutinas semnticas de modo imperativo.

Estructura de datos lineal donde los


elementos pueden ser aadidos o removidos
solo
por un extremo
Operaciones
bsicas con pilas:
Push (insertar).- agrega un elemento a la pila en
el extremo llamado tope

En un compilador de varias pasadas la TS se crea


ESQUEMAS DE TRADUCCION AVANZADOS
durante el anlisis lxico y sintctico
Pop (remover).- remueve el elemento de la pila
Se caracterizan por la posibilidad de procesar
El analizador lxico separa el programa fuente en
que se encuentra en el extremo llamado tope
tanto gramticas correctas como gramticas
tokens que compara con las palabras reservadas
abstractas.
Vaca.- Indica si la pila contiene o no contiene Operaciones
Contenido
conde
la TS
la TS
elementos
Aplicacin
La implementacin
en compiladores
de pilas se puede dar usandoAplicacin en compiladores
Los dos
smbolos
operaciones
se guardan
que en
se lallevan
tabla acon
cabo
su
arreglos, en donde se define el arreglo de una Las
Llena.Indica si es
posible
no para
agregar
nuevos Muchos
Muchos
compiladores
utilizan
unao pila
analizar
compiladores
utilizan
unalapila
para analizar
generalmente
nombre
y
una
en
serie
las
de
TS
atributos
son
opcionales
insercin
y
que
la
dimensin (vector) donde se almacenan los
a la pila
la elementos
sintaxis de
las expresiones, bloques de
ladependern
sintaxis
de
las
expresiones,
bloques
de
bsqueda
del lenguaje y de los objetivos del
elementos.
programa, etc. Antes de traducir el cdigo de bajo
programa,
etc. Antes de traducir el cdigo de bajo
procesador.
nivel.
nivel.

Manejo de Errores Semnticos


CONCLUSIONES
Importante de
Parte
un compilador, que debe tener presente el diseador del compilador.

Los aprendizajes obtenidos en esta unidad tan extensa sobre Anlisis


semnticos fueron los siguientes. Se comprendi que un rbol binario es
una estructura de datos en la cual todos los elementos estn
Un compilador no
puede detectar
todos los tipos
relacionados, que estn Indispensable
compuesto de un conjunto
finito
de nodos
y de errores
ramas. De igual forma existen varios tipos de rboles binarios, que son
Detectar errores
de errores Producir un mensaje de error
rbol degenerado
rbolRecuperarse
completo
y rbol lleno, de igual forma existe
diversas maneras de poder recorrer los caminos de cada uno de estos
tipos de rboles. Tambin se estudi lo que era la pila semntica, otra
estructura de datos que trabaja bajo la filosofa LIFO. Las pilas son
usadas generalmente cuando se utiliza una rutina semntica, junto a
esto viene lo que es la tabla de smbolos que al igual que la pila y los
arboles binarios es otra estructura de datos que almacena toda la
informacin de los identificadores del lenguaje fuente. Por ltimo se
estudi el manejo de errores semnticos que es una parte de mucha
Provocados
importancia
dentro de un compilador ya que esta parte se encarga de
manejar los errores que se generen al crear un programa y poder
interpretarlos al usuario de manera que pueda comprender que est
pasando y como resolverl.
Detiene

Ambiente amigable y bien diseado


Manejo de Errores por el compilador
Errores al disear un lenguaje de programacin.
Ejemplo
Considerar
Caractersticas
Mostrar donde ocurri el error

Efectos de los errores


Facetas

Continua

NoNo
reconoce
debe presentarse en un buen sistema de compilacin

You might also like