COMEFROM: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 12:
== Usi pratici ==
 
Seppure <code>COMEFROM</code> è sintatticamente e semanticamente un comando valido, e potenzialmente in grado di rimpiazzare <code>GOTO</code> in alcuni programmi, è molto più difficile gestirlo in fase di progettazione e di sviluppo in un linguaggio di programmazione. L'utilizzo più diffuso di costrutti simili a <code>COMEFROM</code> è l'impostazione di [[breakpoint]] in fase di [[debug]]. Un'implementazione del [[FORTRAN]] ha previsto l'istruzione <code>COMEFROM</code>, con il nome di "<code>AT</code>", come aiuto al debug, con evidenti avvisi che ne sconsigliavano l'utilizzo in codice di produzione. In più, molte moderne [[Processori|CPU]] hanno un supporto hardware per i breakpoint.
 
Alcuni elementi di [[Programmazione orientata agli aspetti]] sono stati paragonati alle istruzioni <code>COMEFROM</code>.<ref>[[C2:ComeFrom]]</ref>
 
Nei compilatori che usano [[static single assignment|SSA]], un nodo phi è sostanzialmente simile ad un comando <code>COMEFROM</code>. ItElenca listsda whichquali [[basic block]]s the currentl'attuale [[basic block]] could have beenavrebbe reachedpotuto fromessere andraggiunto thee associatedil valuevalore toassociato useda ifusare itper didfarlo.
 
=== Esempi ===
Riga 27:
40 REM
</source>
Il programma ipoteticamente richiede all'utente il suo nome per poi salutarlo, e ripetere l'operazione all'infinito. L'istruzione "<code>REM</code>" alla linea 40 isè simplysemplicemente aun comando di tipo [[NOP (informatica)|NOP]] — l'istruzione "<code>COMEFROM</code>" alla linea 10 richiama l'esecuzione di quella riga quando viene raggiunta la linea 40, indipendentemente dal suo contenuto.