 
 
 
 
 
 
 
 
 
 










 
eyapp entran en la categoría de analizadores
LR. Estos analizadores construyen una derivación a derechas inversa 
(o antiderivación).
De ahí la R en LR (del inglés rightmost derivation). El árbol sintáctico 
es construido de las hojas hacia la raíz, siendo el último paso en la antiderivación
la construcción de la primera derivación desde el símbolo de arranque.
Empezaremos entonces considerando las frases que pueden aparecer en una derivación
a derechas. Tales frases consituyen el lenguaje  :
:
 no ambigua, se denota por
 no ambigua, se denota por  (lenguaje de las formas Sentenciales a Derechas) al lenguaje de 
las sentencias que aparecen en una derivación a derechas desde el símbolo de arranque.
 
(lenguaje de las formas Sentenciales a Derechas) al lenguaje de 
las sentencias que aparecen en una derivación a derechas desde el símbolo de arranque.
 
Donde la notacion RM indica una derivación a derechas (rightmost).
Los elementos de  se llaman ``formas sentenciales derechas''.
 se llaman ``formas sentenciales derechas''.
Dada una gramática no ambigua 
 y una frase
 y una frase 
 el proceso
de antiderivación consiste en encontrar la última derivación a derechas que dió lugar a
 el proceso
de antiderivación consiste en encontrar la última derivación a derechas que dió lugar a 
 . Esto es, si
. Esto es, si 
 es porque existe una derivación a derechas de la forma
 es porque existe una derivación a derechas de la forma
 .
. 
El problema es averiguar que regla 
 se aplicó y en que lugar 
de la cadena
 se aplicó y en que lugar 
de la cadena  se aplicó. En general, si queremos antiderivar
una forma sentencial derecha
 se aplicó. En general, si queremos antiderivar
una forma sentencial derecha 
 debemos averiguar por que regla
 
debemos averiguar por que regla 
 seguir y en que lugar de la forma (después de
seguir y en que lugar de la forma (después de  en el ejemplo)
aplicarla.
 en el ejemplo)
aplicarla. 
 .
. 
La pareja formada por la regla y la posición se denomina mango o manecilla de la forma. Esta denominación viene de la visualización gráfica de la regla de producción como una mano que nos permite escalar hacia arriba en el árbol. Los ``dedos'' serían los símbolos en la parte derecha de la regla de producción.
 no ambigua, y dada una forma sentencial derecha
 no ambigua, y dada una forma sentencial derecha 
 , con
, con 
 , el mango o handle  de
, el mango o handle  de 
 es la última producción/posición  que dió lugar a
 es la última producción/posición  que dió lugar a  :
:
 
 . La función
. La función  tiene dos componentes:
 tiene dos componentes:
 y
 y 
 
Si dispusieramos de un procedimiento que fuera capaz de identificar el mango,
esto es, de detectar la regla y el lugar en el que se posiciona, tendríamos un
mecanismo para construir un analizador. 
Lo curioso es que, a menudo es posible encontrar un autómata finito que
reconoce el lenguaje de los prefijos 
 que terminan 
en el mango. Con mas precisión, del lenguaje:
 que terminan 
en el mango. Con mas precisión, del lenguaje:
 
Esto es, es el lenguaje de los prefijos viables es el 
conjunto de frases que son prefijos de 
 , 
siendo
, 
siendo  una forma sentencial derecha (
 una forma sentencial derecha (
 ). Los
elementos de
). Los
elementos de  se denominan prefijos viables.
 se denominan prefijos viables.
Obsérvese que si se dispone de un autómata que reconoce 
 entonces se dispone de un mecanismo para investigar el lugar y 
el aspecto que pueda tener el mango. Si damos como 
entrada la sentencia
 entonces se dispone de un mecanismo para investigar el lugar y 
el aspecto que pueda tener el mango. Si damos como 
entrada la sentencia 
 a dicho autómata, el autómata aceptará la cadena
a dicho autómata, el autómata aceptará la cadena 
 pero rechazará
cualquier extensión del prefijo. Ahora sabemos que el mango 
será alguna regla de producción de
 pero rechazará
cualquier extensión del prefijo. Ahora sabemos que el mango 
será alguna regla de producción de  cuya parte derecha 
sea un sufijo de
 cuya parte derecha 
sea un sufijo de  
 .
.
 
 sería un
LR(0) item para la gramática de las expresiones.
 sería un
LR(0) item para la gramática de las expresiones.
Conjunto de Estados:
 
La notación 
 denota la longitud de la cadena
 denota la longitud de la cadena 
 .
 En vez de la notación
.
 En vez de la notación 
 escribiremos:
 escribiremos: 
 
 
  , 
 donde la flecha ocupa el lugar indicado por el número
, 
 donde la flecha ocupa el lugar indicado por el número 
 :
 :
 
 
 
 
 a la gramática
 a la gramática 
 . El LR(0) item
. El LR(0) item 
 es el estado de arranque.
 es el estado de arranque.
Denotaremos por  a este autómata. Sus estados se denominan
 a este autómata. Sus estados se denominan 
 . La idea es que este
autómata nos ayuda a reconocer los prefijos viables
. La idea es que este
autómata nos ayuda a reconocer los prefijos viables  .
.
Una vez que se tiene un autómata que reconoce los prefijos viables es posible construir un analizador sintáctico que construye una antiderivación a derechas. La estrategia consiste en ``alimentar'' el autómata con la forma sentencial derecha. El lugar en el que el autómata se detiene, rechazando indica el lugar exacto en el que termina el handle de dicha forma.
| S  a S b | 
| S     | 
El lenguaje generado por esta gramática es 
 Es bien sabido que el lenguaje
Es bien sabido que el lenguaje  no es regular.
La figura 8.23.1 muestra 
el autómata finito no determinista con
 no es regular.
La figura 8.23.1 muestra 
el autómata finito no determinista con  -transiciones 
(NFA)
que reconoce los prefijos viables de esta gramática, construido
de acuerdo con el algoritmo 8.23.4.
-transiciones 
(NFA)
que reconoce los prefijos viables de esta gramática, construido
de acuerdo con el algoritmo 8.23.4.
 . ¿Donde rechaza?
¿En que estados está el autómata en el momento del rechazo?. ¿Qué etiquetas tienen?
Haga también las
trazas del autómata para las entradas
. ¿Donde rechaza?
¿En que estados está el autómata en el momento del rechazo?. ¿Qué etiquetas tienen?
Haga también las
trazas del autómata para las entradas  y
 y  . ¿Que antiderivación 
ha construido el autómata con sus sucesivos rechazos? ¿Que terminales
se puede esperar que hayan en la entrada cuando se produce el rechazo
del autómata?
. ¿Que antiderivación 
ha construido el autómata con sus sucesivos rechazos? ¿Que terminales
se puede esperar que hayan en la entrada cuando se produce el rechazo
del autómata?
 
 
 
 
 
 
 
 
 
 










