You are on page 1of 10

INSTUTUTO TECNOL OGICO SUPERIOR DE ALVARADO CAMPUS TLALIXCOYAN

Lenguaje y Automas 2 Unidad 1 Anlisis Semntico


1.4 Pila Semntica de un Analizador Sintctico

Joaqun E. Rosales Alarcn Ing. Rafael Zamudio Reyes


Page 1

DEFINICION DE PILAS Y COLAS


Son estructuras de datos que se utilizan generalmente para simplificar ciertas operaciones de programacin. Estas estructuras pueden implementarse mediante arrays o listas enlazadas.

Page 2

PILA
Una coleccin de datos a los cuales se les puede acceder mediante un extremo, que se conoce generalmente como tope.

Las Pilas tienen dos operaciones bsicas:


*Push (para insertar un elemento) *Pop (para extraer un elemento). Y se pueden realizar operaciones como: Insertar un elemento- push Eliminar - pop Pila_vaca Pila_llena
Page 3

Su caracterstica fundamental es que al extraer se obtiene siempre el ltimo elemento que acaba de insertarse. Por esta razn tambin se conocen como estructuras de datos LIFO (del ingls Last In First Out).
Las pilas se utilizan en muchas aplicaciones que utilizamos con frecuencia. Por ejemplo, la gestin de ventanas en Windows (cuando cerramos una ventana siempre recuperamos la que tenamos detrs).
Page 4

COLAS
Las Colas tambin son llamadas FIFO (First In First Out), que quiere decir el primero que entra es el primero que sale. Colas simples: Se inserta por un sitio y se saca por otro, en el caso de la cola simple se inserta por el final y se saca por el principio.
Page 5

Colas circulares: En las colas circulares se considera que despus del ltimo elemento se accede de nuevo al primero. Colas con prioridad: Se implementan mediante listas o arrays Ordenados. No nos interesa en este caso que salgan en el orden de entrada sino con una prioridad que le asignemos. Puede darse el caso que existan varios elementos con la misma prioridad, en este caso saldr primero aquel que primero llego (FIFO).
Page 6

ANALIZADOR SINTACTICO
Es un autmata de pilas que reconoce la estructura de una cadena de componentes lxicos. Analiza el smbolo, la pila y el estado del autmata el analizador sintctico produce las estructuras necesarias para la siguiente etapa y en el caso de compilacin dirigida por la sintaxis invoca llamadas directas al analizador semntico y al generador de cdigo. Al decir, pila semntica no se refiere a que hay varios tipos de pilas; hace referencia a que se debe programar nica y exclusivamente en un solo lenguaje, es decir, no podemos mezclar cdigo de C++ con Visual Basic; ya que se trabaja con los mismos comandos.

Page 7

VENTAJAS
Los problemas de integracin entre los subsistemas son sumamente costosos y muchos de ellos se solucionan hasta que la programacin alcanza la fecha limite para la integracin total del sistema. Se necesita una memoria auxiliar que nos permita guardar los datos intermedios para poder hacer la comprobacin.
Page 8

REGLAS SEMANTICAS
Son el conjunto de normas y especificaciones que definen al lenguaje de programacin y estn dadas por la sintaxis del lenguaje, las reglas semnticas asignan un significado lgico a ciertas expresiones definidas en la sintaxis del lenguaje. La evaluacin de las reglas semnticas define los valores de los atributos en los nodos del rbol de anlisis sintctico para la cadena de entrada. Una regla semntica tambin puede tener efectos colaterales, por ejemplo, imprimir un valor o actualizar una variable global.
Page 9

Durante la fase de anlisis semntico, el compilador debe verificar que los tipos y valores asociados a los objetos de un programa se utilizan de acuerdo con la especificacin del lenguaje. Adems debe detectar conversiones implcitas de tipos para efectuarlas o insertar el cdigo apropiado para efectuarlas as como almacenar informacin relativa a los tipos de los objetos y aplicar las reglas de verificacin de tipos.
Page 10

You might also like