You are on page 1of 5

Instituto

Tecnológico de Pachuca

Lenguajes y Autómatas II

“Mapa unidad 1”
Mati. Arturo Gonzales Ceron
Millán Valdés Gabriel
12200642
13-septiembre- 2015
Analisis Semantico

ACCIONES Sistemas de tipos


SEMANTICAS
ARBOLES BINARIOSDE UN
Análisis semántico
ANALIZADOR SINTACTICO

Un sistema de tipos es una serie de


Árbol en el que ningún nodo
reglas para
Se trata de determinar asignar
el tipo de expresiones de
los resultados
Es la fase encargada de detectar la puede intermedios,
tener máscomprobar
de tipos
dosque
a los
las argumentos
distintas partes de un
que tiene
validez semántica de las subárboles programa
operador pertenecen y verificar
al conjunto de su
loscorrección.
operadores
sentencias aceptadas por el posibles,
Cada nodo puedey sitener
son compatibles
0, 1,2 entre sí
analizador sintáctico hijos
Un sistema de tipos incluye tanto
comprobaciones estáticas como
Es decir, comprobara que el
dinámicas, significado
según de lo que
si se realiza en
va leyendo es válido.
tiempo de compilación o en
tiempo de ejecución.
Tipos de arboles
Por lo tanto:

 Árbol degenerado: Que es una expresión?


lista
Acciones
Es la fase posterior a la de análisis enlazada La comprobación realizada por un
Es unaSemánticas
secuencia de
sintáctico  Árbol completocompilador es estática, mientras
tokens que sigue unas
 Árbol lleno que la comprobación hecha al
reglas especificas
Sintaxis de un lenguaje ejecutar el programa objeto se
Dependiendo del tipo de sentencias,
denomina dinámica
de programación
las acciones
La semánticas
prioridad se pueden
determina
agruparse en:
solo por paréntesis
La expresión completa
Es el conjunto de reglas formales que se sitúa con paréntesis
especifican la estructura de los
programas pertenecientes a dicho -sentencias de declaración:
lenguaje EXPRESIONES DE TIPOS de un árbol
Recorrido completar la sección de tipos de la
Una expresión de tipo, es un tipo básico o se forma aplicando un
e
operador llamado Se usa tabla
constructor parade de símboloso consultar los datos
visualizar
tipos a otras expresiones de
Sentencias ejecutables: realizar
tipos. almacenados en un árbol, también conocido
comprobaciones de tipos entre los
Expresiones de como tipos más visitarcomunes:
los nodos del mismo. Al contrario
operandos implicados
que las listas
 tipos simples: son expresiones enlazadas,
de tiposlos arboles
los tiposbinarios
simplesno
del lenguaje, tienen realmente
y algunos un primer valor, un segundo
tipos especiales
Semántica de
COMPROBACIONES un lenguaje
DE TIPOS  deInteger valor, un tercer valor, etc.
Recorrido en profundidad:
anchura: el proceso se realiza
programación: es el conjunto
Comprobación de reglas
estática.-  que
Real El
un compilador debe comprobar
proceso
horizontalmente unsicamino
exigedesde ellaprograma
raízdesde
a todosfuente
la raíz
sus asigue
través
hijos; tanto
a de
especificanlas el significado de cualquier Tipos de recorrido
convenciones sintácticas como  Char lasunsemánticas
continuación, del
a loslenguaje
hijo, al descendiente defuente.
hijos más lejano
sus hijosdel primer hijo
y así
sentencia sintácticamente
Los ejemplos de valida
comprobación  estática
Boolean incluyen.-
El recorrido
antes de de un hasta
proseguir
sucesivamente árbola unbinario
quesegundo
todos requiere
hijo.
los En otras
nodos han sido
Nivel: distancia  de ubicación hasta
-comprobaciones la
de raíz
tipos del
PADRE:
Un árbol es un
cuenta nodo
con un que tienefinito
conjunto 
nodos que
Void cadaEtiquetas:
palabras nodo
Funciones
procesados. en del
el
Eny comprobar
árbol
recorrido sea
en
procedimientos:
el recorrido
Recorrido en profundidad si
en hay
procesado etiquetas
profundidad,
comprobar
anchura, todos
cada repetidas
ellos se
nivel
árbol Camino: secuencia de nodos en que  Recorrido preorden
 comprobaciones del flujo de control
(visitado) y validación
una
descendientes
número, vez, de yun
orden definirsolo
hijo
tipo una,
se
detres en
procesan
losque una
parámetros antes del
actuales
sucesores
de elementos
cada nodos y un
llamadosal siguiente
nodo es adyacente
procesa totalmente
Se pueden antes de tiposcomience
de
Recorrido enelordenen
TIPOS 
DE ARBOLES Tiposrelacionadas
-comprobaciones básicossecuencia
y construidos
con
cadaConstantes:
predeterminada.
nombres
siguiente hijo.
llamada
nivel. a comprobar
una Existen
función
secuencia de un recorrido que
o no
dos se utilicen
procedimiento.
en en la
conjunto de líneas dirigidas  Recorrido en
Hermanos:
Altura Dos o mas es
o profundidad: nodos con
 de
el nivel el la
Los mismo
tipos básicos
hojaenfoques parte
son izquierda
los
generales
Identificación tipospara delauna
atómicos
de asignación
sin estructura
secuencia
variables: de
comprobar interna
si
denominadas ramas profundidad. postorden
padre
Es 
una ARBOL
estructura EQUILIBRADO
de datos en

del camino mas largo desde la raíz mas uno la cual
Entre los tipos identificador ha sido declarado antes de utilizarlo.y
construidos
recorrido: se pueden considerar a apuntadores
 ARBOL PERFECTAMENTE
cada uno de los elementos están
Hoja: es=un
ALTURA nodo que no tiene hijoslas funciones
NIVELES+1
Arboles binarios
relacionados entre sí a través de ramas
EQUILIBRADO
Pila Semántica En Un Analizador Sintáctico

Esquema
Tabla dede traducción:
Símbolos: estructura de datos
que almacenan toda la información de
La pila es la estructura de datos que va Las Es una gramática
rutinas semánticasindependiente
suelen hacer del
uso contexto
de
los identificadores del lenguaje fuente
guardando información que le permite ir en (la
una pila el cualsemántica)
eepila se han insertado fragmentos de
haciendo las operaciones de reducción que código en las partes derechas de sus reglas de
necesita producción.

La información almacenada en la TS depende


directamente del tipo de elementos del lenguaje
específico a procesar y de las características de
Los fragmentos de código así insertados se
dicho lenguaje
denominan acciones semánticas.
Se caracteriza por que el desarrollador
Construcción de analizadores sintácticos especifica el momento en el que se ha de
ejecutar el código.
Ascendente: Se va construyendo el árbol desde sus
nodos terminales
Descendente: Parten del axioma inicial de la
gramática
RUTINAS SEMANTICAS
Las rutinas semánticas son fragmentos de
En los que
codigo traductores y compiladores
el desarrollador las TS
del compilador
existen
escribeúnicamente
normalmenteen entre
tiempo de compilación
llaves {}.
Las
Lospalabras reservadas
esquemas no están en
de traducción la TS
ejecutan las
Pilas
rutinas semánticas de modo imperativo.
Estructura de datos lineal donde los
elementos pueden ser añadidos o removidos
solo por un extremo
Operaciones básicas 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 análisis léxico y sintáctico
Pop (remover).- remueve el elemento de la pila Se caracterizan por la posibilidad de procesar
que se encuentra en el extremo llamado tope El analizador léxico separa el programa fuente en
tanto gramáticas correctas como gramáticas
tokens que compara con las palabras reservadas
Vacía.- Indica si la pila contiene o no contiene Operaciones abstractas.
Contenidoconde la TS
la TS
elementos
Aplicación
La implementación
en compiladores de pilas se puede dar usandoAplicación en compiladores
arreglos, en donde se define el arreglo de una Las Los dos
símbolos
operaciones
se guardan que ense lallevan
tabla acon
cabo
su
Llena.-
Muchos Indica si es
compiladores posible
utilizan unao pila
no para
agregar nuevos Muchos
analizar compiladores
generalmente
nombre y una en
serie utilizan
lasdeTS unalapila
atributos
son para analizar
opcionales
inserción y que
la
dimensión (vector) donde se almacenan los
la elementos
sintaxis dea la pila
las expresiones, bloques de ladependerán
sintaxis
búsqueda de las expresiones, bloques
del lenguaje y de los objetivos del de
elementos.
programa, etc. Antes de traducir el código de bajo programa,
procesador. etc. Antes de traducir el código de bajo
nivel. nivel.
Manejo de Errores Semánticos
CONCLUSIONES
Importante de
Parte
un compilador, que debe tener presente el diseñador del compilador.

Los aprendizajes obtenidos en esta unidad tan extensa sobre Análisis


Manejo de Errores por el compilador
Ambiente amigable y bien diseñado

semánticos fueron los siguientes. Se comprendió que un árbol binario es


Errores al diseñar un lenguaje de programación.
Considerar Características Ejemplo
Mostrar donde ocurrió el error
una estructura de datos en la cual todos los elementos están
relacionados, que están Indispensable
compuesto de un conjunto finito
Un compilador no de nodos
puede detectar y de errores
todos los tipos

ramas. De igual forma existen varios tipos de árboles binarios, que son
árbol degenerado árbolRecuperarse
Detectar errores
completo y árbol lleno, de igual forma existe
de errores Producir un mensaje de error

diversas maneras de poder recorrer los caminos de cada uno de estos


tipos de árboles. También se estudió lo que era la pila semántica, otra
estructura de datos que trabaja bajo la filosofía LIFO. Las pilas son
usadas generalmente cuando se utiliza una rutina semántica, junto a
esto viene lo que es la tabla de símbolos que al igual que la pila y los
arboles binarios es otra estructura de datos que almacena toda la
información de los identificadores del lenguaje fuente. Por último se
estudió el manejo de errores semánticos que es una parte de mucha
importancia dentro de un compilador ya que esta parte se encarga de
Provocados

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

Efectos de los errores


Facetas
Continua

NoNo
reconoce
debe presentarse en un buen sistema de compilación

You might also like