COMEFROM: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Storia |
m Comefrom grammatica |
||
Riga 3:
<code>COMEFROM</code> è a grandi linee l'opposto di <code>[[GOTO]]</code> in quanto può acquisire lo stato di esecuzione da un punto arbitrario del codice verso una istruzione <code>COMEFROM</code>. Il punto del codice dal quale lo stato attivo viene trasferito è usualmente passato come [[parametro (informatica)|parametro ]] di <code>COMEFROM</code>. Il fatto che il trasferimento avvenga prima o dopo l'istruzione indicata al punto di origine dipende dal linguaggio utilizzato. Sempre dipendente dal linguaggio, la possibilità di riferire più istruzioni <code>COMEFROM</code> alla stessa origine nel codice può risultare non valida, essere non deterministica, richiamare i vari punti del codice in sequenza o avviare processi in [[Calcolo parallelo|parallelo]] o [[Programmazione concorrente|concorrente]].
Un semplice esempio di istruzione "<code>COMEFROM x</code>" prevede l'utilizzo di un'[[Etichetta (informatica)|etichetta]], posizionata in un punto del codice altro rispetto al relativo <code>COMEFROM</code>, che agisce come una sorta di "trappola". Quando l'esecuzione del codice raggiunge l'etichetta, l'esecuzione si trasferisce all'istruzione successiva al <code>COMEFROM</code>. L'effetto principale è di rendere il debugging (e la compressione del flusso del software) estremamente difficile, dato che non c'è alcuna indicazione in prossimità dell'etichetta che
== Storia ==
|