Se pueden considerar dos casos diferentes:
Para que la recuperación total sea posible a partir de una posición i en la cadena de entrada es necesario asegurarse de que todas las futuras transiciones que eliminen elementos de la pila no dependan de la parte de la entrada modificada. Esto quiere decir que las modificaciones sólo deben causar perturbaciones locales, es decir, que sólo afectan a ramas interiores del bosque de análisis.
Para que se pueda realizar una recuperación completa a partir del itemset
correspondiente a la posición i de la entrada es condición
suficiente que para cada item
que cumpla las siguientes
condiciones,
I sea estable y t<l, siendo l el punto de modificación relativa
de w y x. Las condiciones son:
A los items que satisfacen las condiciones 1 y 2 se les denomina
o más simplemente
cuando no hay confusión
posible.
Una condición suficiente para la recuperación total es la siguiente: Dada
una cadena con
, que tiene alguna
modificación con respecto a
, y un punto
de
modificación relativa de w y x, tal que se verifica que
y
Esto quiere decir que si las transiciones que eliminan elementos de la pila son las mismas y la porción de texto que falta por analizar es la misma, entonces el proceso de análisis será idéntico a partir de ahí.
Este resultado se puede extender al caso de varias modificaciones simultáneas en la cadena de entrada definiendo un punto recuperado totalmente de una modificacion relativa a w y x como el punto en el proceso de recuperación tal que dicha modificación ha sido totalmente recuperada [Vilares y Dion 94].
Hasta aquí en lo que se refiere al reconocedor. En lo concerniente al analizador sintáctico, se debe encontrar además el alcance de las modificaciones en el bosque compartido inicial, una tarea relativamente sencilla ya que los nodos que se ven afectados por cambios en su estructura son los comunes con el nuevo bosque que tienen al menos un descendiente cambiado con respecto al nuevo desarrollo. Para actualizar uno de estos nodos es suficiente con encontrar sus descendientes estables en el bosque que han sido realmente recalculados y reemplazarlos por la estructura original correspondiente en el bosque de análisis recuperado.
Como sólo se recuperan itemsets completos, este fenómeno está limitado a los
items que representan nodos triviales estables para los cuales sus ancestros
en el bosque no se calculan en el mismo itemset en el que ellos
están incluidos. A esos items se les denomina
o
simplemente
cuando no hay confusión posible.
Con el fin de extender la recuperación total al analizador, se debe asignar
para todos los
,
donde
y
representan el mismo nodo en el bosque de análisis, es decir
.
Si en la recuperación total se trataba de recuperar el bosque de análisis
a partir de un un cierto itemset, en la recuperación parcial tan sólo se podrán
recuperar intervalos sueltos de itemsets. Partiendo otra vez del caso de una modificación simple,
diremos que es posible realizar una recuperación parcial del itemset
al itemset
cuando cualquier operación que elimina elementos de la pila
no depende de las modificaciones realizadas entre
y
.
Por consiguiente, para que permita la
recuperación parcial a partir de él y hasta
es suficiente con que se
cumpla que para cada item
que cumple las siguientes condiciones,
no existe ninguna transición en
que elimine elementos de
la pila y que tome a I como argumento. Las condiciones son:
El cumplimiento de estas condiciones no implica, sin embargo, la estabilidad
del item I, ya que no se tiene en cuenta el pasado del proceso de análisis
que representa el back-pointer, como ocurría en el caso de la recuperación total.
Formalmente, diremos que un item es
débilmente estable si y sólo si existe un item
y se denotará como
.
Los items
y
no representan necesariamente
subárboles equivalentes en el bosque compartido. La relación de inclusión
provocada por
se denota
.
Si consideramos de nuevo la definición de , podemos concluir que
no hay transiciones que eliminen elementos de la pila en
que tomen un
como argumento. Desde un punto de
vista formal, se puede asegurar que dados:
entonces, desde el punto de vista del reconocedor,
.
Para extender este resultado al bosque de análisis compartido, es
suficiente con realizar la asignación
, donde
, para todos los
.