Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7:00-8:00
17 DE SEPTIEMBRE DE 2014
JAVIER DE JESS FLORES MONDRAGN
11320549
Contenido
1.4 PILA SEMNTICA EN UN ANALIZADOR SINTCTICO ................................................ 2
DEFINICIONES Y DESCRIPCIN. .......................................................................................... 2
CARACTERSTICAS .................................................................................................................. 4
VENTAJAS .................................................................................................................................... 4
DESVENTAJAS ............................................................................................................................ 5
EJEMPLO DE CMO TRABAJA UNA PILA ......................................................................... 5
11320549
Lenguajes y Autmatas II
7:00-8:00
Al utilizar arreglos para implementar pilas se tiene la limitacin de que se debe reservar el
espacio en memoria con anticipacin. Una vez dado un mximo de capacidad a la pila no es
posible insertar un nmero de elementos mayor que el mximo establecido.
11320549
Lenguajes y Autmatas II
7:00-8:00
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
compatibilidad de tipos:
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.
Bottom up. Es un principio de muchos aos del estilo de programacin que los elementos
funcionales de un programa no deben ser demasiado grandes. Si un cierto componente de
un programa crece ms all de la etapa donde est fcilmente comprensible, se convierte en
una masa de la complejidad que encubre errores tan fcilmente como una ciudad grande
encubre a fugitivos.
Tcnica top-down. Este mtodo consiste en dividir los problemas en subproblemas ms
sencillos para conseguir una solucin ms rpida. El diseo descendente es un mtodo para
resolver el problema que posteriormente se traducir a un lenguaje comprensible por la
computadora.
Analizador sintctico
Es un autmata de pila que reconoce la estructura de una cadena de componentes lxicos.
En general, el analizador sintctico: inicializa el compilador y para cada smbolo de entrada
llama al analizador morfolgico y proporciona el siguiente smbolo de entrada.
Analizadores descendentes
parten del axioma inicial de la gramtica, se va descendiendo utilizando las derivaciones
izquierdas, hasta llegar a construir la cadena analizada.
Analizadores ascendentes
se va construyendo el rbol desde sus nodos terminales. Es decir, se construye desde los
smbolos de la cadena hasta llegar al axioma de la gramtica.
11320549
Lenguajes y Autmatas II
7:00-8:00
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:
CARACTERSTICAS
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). Una posible implementacin mediante listas enlazadas sera
insertando y extrayendo siempre por el principio de la lista.
Gracias a las pilas es posible el uso de la recursividad. La variable que llama al mismo
procedimiento en el que est, habr que guardarla as como el resto de variables de la nueva
llamada, para a la vuelta de la recursividad ir sacndolas, esto es posible a la
implementacin de pilas.
VENTAJAS
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).
11320549
Lenguajes y Autmatas II
7:00-8:00
DESVENTAJAS
Las 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.
Si esto ocurre, en otras palabras si la pila est llena y se intenta insertar un nuevo elemento,
se producir un error conocido como desbordamiento overflow.
Una posible solucin a este tipo de inconvenientes consiste en definir pilas de gran tamao,
pero esto resultar ineficiente y costoso. No siempre es viable saber con exactitud el
nmero de elementos a tratar, y siempre existe la posibilidad de que ocurra un error de
desbordamiento.
Insertar un elemento - push
eliminar - pop
pila vaca
pila llena
operaciones con pilas