03.06.2013 Views

Un modello integrato control-flow e data-flow per il rilevamento ...

Un modello integrato control-flow e data-flow per il rilevamento ...

Un modello integrato control-flow e data-flow per il rilevamento ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40 3. <strong>Un</strong> <strong>modello</strong> che integra <strong>control</strong> <strong>flow</strong> e <strong>data</strong> <strong>flow</strong><br />

Traccia: (fd@4 = 1), (fd@10 = 1), (fd@11 = 1), (fd@6 = 2), (fd@10 = 2), (fd@11 = 2)<br />

X =fd@4, V = 1<br />

Y = lookup(1) = ∅<br />

CR[fd@4][1] = CR[fd@4][1] ∩ Y = ∅ ∩ ∅ = ∅<br />

Yn = Y ∩ NewArgs(fd@4, 1) = ∅ ∩ ∅ = ∅<br />

CR[fd@4][1] = CR[fd@4][1] ∪ Yn = ∅ ∪ ∅ = ∅<br />

update(fd@4, 1)<br />

X =fd@10, V = 1<br />

Y = lookup(1) = {fd@4}<br />

CR[fd@10][1] = CR[fd@10][1] ∩ Y = ∅ ∩ {fd@4} = ∅<br />

Yn = Y ∩ NewArgs(fd@10, 1) = {fd@4} ∩ {fd@4} = {fd@4}<br />

CR[fd@10][1] = CR[fd@10][1] ∪ Yn = ∅ ∪ {fd@4} = {fd@4}<br />

update(fd@10, 1)<br />

X =fd@11, V = 1<br />

Y = lookup(1) = {fd@10, fd@4}<br />

CR[fd@11][1] = CR[fd@11][1] ∩ Y = ∅ ∩ {fd@10, fd@4} = ∅<br />

Yn = Y ∩ NewArgs(fd@11, 1) = {fd@10, fd@4} ∩ {fd@10, fd@4} = {fd@10, fd@4}<br />

CR[fd@11][1] = CR[fd@11][1] ∪ Yn = ∅ ∪ {fd@10, fd@4} = {fd@10, fd@4}<br />

update(fd@11, 1)<br />

X =fd@6, V = 2<br />

Y = lookup(2) = ∅<br />

CR[fd@6][2] = CR[fd@6][2] ∩ Y = ∅ ∩ ∅ = ∅<br />

Yn = Y ∩ NewArgs(fd@6, 2) = ∅ ∩ {fd@10, fd@11, fd@4} = ∅<br />

CR[fd@6][2] = CR[fd@6][2] ∪ Yn = ∅ ∪ ∅ = ∅<br />

update(fd@6, 2)<br />

X =fd@10, V = 2<br />

Y = lookup(2) = {fd@6}<br />

CR[fd@10][2] = CR[fd@10][2] ∩ Y = ∅ ∩ {fd@6} = ∅<br />

Yn = Y ∩ NewArgs(fd@10, 2) = {fd@6} ∩ {fd@10, fd@11, fd@4, fd@6} = {fd@6}<br />

CR[fd@10][2] = CR[fd@10][2] ∪ Yn = ∅ ∪ {fd@6} = {fd@6}<br />

update(fd@10, 2)<br />

X =fd@11, V = 2<br />

Y = lookup(2) = {fd@10, fd@6}<br />

CR[fd@11][2] = CR[fd@11][2] ∩ Y = ∅ ∩ {fd@10, fd@6} = ∅<br />

Yn = Y ∩ NewArgs(fd@11, 2) = {fd@10, fd@6} ∩ {fd@10, fd@11, fd@4, fd@6} = {fd@10, fd@6}<br />

CR[fd@11][2] = CR[fd@11][2] ∪ Yn = ∅ ∪ {fd@10, fd@6} = {fd@10, fd@6}<br />

update(fd@11, 2)<br />

Figura 3.11: Esecuzione dell’algoritmo su una traccia.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!