Professional Documents
Culture Documents
Contenidos
12/02/2009
Pgina 1
Procesadores de Lenguajes
secuencia de smbolos
Pgina 2
Procesadores de Lenguajes
Pgina 3
Procesadores de Lenguajes
Descripcin funcional: Sea D la descripcin instantnea de la mquina de pila representada por la terna que forman el estado de la pila, la secuencia de entrada y las producciones aplicadas.
Pgina 4
Procesadores de Lenguajes
Pgina 5
Procesadores de Lenguajes
Ejemplo 5.1: Sea G una gramtica definida por las producciones siguientes:
Y sea la cadena de entrada id+id*id, el anlisis sintctico ascendente segn el mtodo general de reduccin y desplazamiento es el siguiente: Entrada
PROBLEMA: CUANDO PODEMOS APLICAR MS DE UNA ACCIN ANTE UN SMBOLO DE ENTRADA Y NO SE ALCANZA EL SMBOLO INICIAL DE LA GRAMTICA, ENTONCES PUEDE SER NECESARIO APLICAR VUELTA ATRS (RETROCESO).
Pgina 6
Procesadores de Lenguajes
Pgina 7
Procesadores de Lenguajes
Pgina 8
Procesadores de Lenguajes
Pgina 9
Procesadores de Lenguajes
Pgina 10
Procesadores de Lenguajes
Ejemplo 5.2: Sea G una gramtica definida por las producciones siguientes:
Basndonos en relaciones de precedencia obtenidas bajo premisas establecidas (mtodo intuitivo), la tabla de precedencia de operador y el anlisis de la secuencia de entrada id+id*id son respectivamente:
TABLA DE PRECEDENCIA
Pgina 11
Procesadores de Lenguajes
2. Mtodo Deductivo: Basado en el anlisis de las gramticas mediante el desarrollo de los rboles de anlisis. Como requisito, las gramticas deben ser no ambiguas. til cuando la gramtica no permite determinar las precedencias.
3. Mtodo Asociativo: Basado en la asociatividad de los operadores y en las reglas de precedencia de operadores para el clculo [Aho90]. Mtodo general de resolucin de conflictos en base a precedencia y asociatividad.
Pgina 12
Procesadores de Lenguajes
Pgina 13
Procesadores de Lenguajes
Pgina 14
Procesadores de Lenguajes
Pgina 15
Procesadores de Lenguajes
Pgina 16
Procesadores de Lenguajes
Pgina 17
Procesadores de Lenguajes
las relaciones de precedencia simple estudiadas son las siguientes: La tabla de precedencia simple es la siguiente: Supongamos la secuencia de entrada abccda, el proceso de anlisis sera el siguiente:
Pgina 18
Procesadores de Lenguajes
PRIMERO+ (A) = { / A + VN entonces PRIMERO+() PRIMERO+(A) } ULTIMO+ (A) = { / A + VN entonces ULTIMO+() ULTIMO+(A) }
Pgina 19
Procesadores de Lenguajes
Pgina 20
Procesadores de Lenguajes
Manejo de Errores cuando no hay Relacin de Precedencia (Error de Precedencia). Se estudian los smbolos cercanos al tope de la pila, pudindose dar los casos siguientes: a) Saltar el smbolo de la entrada. b) Saltar el smbolo en el tope de la pila o ambos (entrada y pila). c) Insertar un smbolo en la pila. d) Insertar un smbolo en la entrada. Problema: Se puede alcanzar un LAZO INFINITO en el algoritmo de anlisis ya que podemos estar realizando alguna de estas acciones de forma indefinida sin detectar alguna precedencia correcta.
Pgina 21