Input:  O CFG ˆın FNC, G = (N, Σ, S, P ) ¸si un cuvˆant w = a1a2 . . . an  a.i.

|w| = n.

Output:  o matrice triunghiular˘a T pentru w ale c˘arei celule cont¸in numai neterminale a.i.  Atij   iff  A =>+   ai ai+1 · · · ai+j−1.

Metoda:

 

Pas1  Construim ti1  = {A | A ai   P }, pentru i = 1, 2, · · · n.

 

Pas2  Presupunem c˘a tij,   a fost construit pentru tot¸i 1 i n ¸si tot¸i 1 j’  <

j.  Construim

 

 

tij  = {A | pentru un k, 1 k < j, A BC € tik ,  B tik  si C ti+k,j−k }

 

 

Deoarece 1 k < j, avem k < j ¸si j k < j, deci atˆat tik  cˆat ¸si ti+k,jk sunt calculat¸i ˆınainte ca tij  s˘a fie calculat.  Dup˘a acest pas, dac˘a tij  э A, atunci

 

 

A => BC=>+  ai . . . ai+k−1C =>+  ai . . . ai+k1 ai+k . . . ai+j1

 

 

Pas3  repet˘a  Pasul  2  pˆan˘a  cˆand  tij   este   cunoscut  pentru  orice  1   <i  < n  ¸si

1 j n i + 1.

 

Hosted by www.Geocities.ws

1