tecno
Consiste en ir construyendo la inversa de la derivación por la derecha, a partir de una cadena de entrada de manera que se parte de las hojas del árbol deanálisis y se llega a la raíz.
Hay dos ventas que hacen que sea adecuado utilizar métodos ascendentes en vez de descendente:
Reconocen muchos más lenguajes que las gramáticas LL y engeneral, reconocen casi todos los lenguajes más comúnmente empleados en programación.
Permiten localizar errores sintácticos muy precisamente
Algoritmo de desplazamiento y reducción
Emplea cuatroacciones básicas:
Aceptar: Se acepta la cadena
Rechazar: Se rechaza la cadena
Reducir: Se sustituye la pila de símbolos la parte de la derecha de una producción por su parte izquierdaDesplazar: Se lleva el símbolo de entrada a la pila y se pide el siguiente símbolo al analizador léxico.
Acción Aceptar
Significa que el análisis ha finalizado con éxito
AcciónRechazar
Significa que se ha producido un error. Por ejemplo que no existe ninguna acción de desplazar o reducir para un símbolo terminal de la entrada.
Método GOTO
Su formato es GOTO (e, A)donde e es un estado y A un no terminal. El estado es el de la pila de estados, cuando se hace GOTO se debe apilar el estado indicado por esta acción.
Acción Reducir:
Consiste en deshacer unaregla. Su formato es REDUCIR(n), donde n es el numero de regla (primero se debería numerar todas las reglas de la gramática).
Acción Desplazar:
Consiste en desplazar el puntero de entrada yapilar un estado. Su formato es DESPLAZAR(n), donde n es el estado a apilar.
Elemento
Un elemento se obtiene situando un punto en cualquier posición de la parte derecha de una regla. Los símbolosa la izquierda del punto han sido ya reconocido y los de la derecha aun no.
Conflictos en las tablas SLR
Hay dos posibles conflictos a la hora de construir una tabla SLR...
Regístrate para leer el documento completo.