leon84
15-06-2007, 16:30
Sul libro c'č scritto :
Non tutti i linguaggi realizzano il meccanismo della ricorsione. Quelli che lo fanno possono utilizzare due tecniche :
Gestione LIFO di pių copie della stessa funzione, ciascuna con il proprio insieme di variabili locali
Gestione mediante record di attivazione, un'unica copia del sottoprogramma ma ad ogni chiamata č associato un record di attivazione con variabili locali e paramtetri di scambio.
Mi chiedo : cosa si intende di pių copie dello stesso sottoprogramma? A me sembra quasi che il record di attivazione sia identico alla gestione stack classica.
E poi : all'atto dell'esecuzione del programma le istruzioni di una funzione vengono comunque caricate all'avvio o solo all'atto della chiamata ?
Non tutti i linguaggi realizzano il meccanismo della ricorsione. Quelli che lo fanno possono utilizzare due tecniche :
Gestione LIFO di pių copie della stessa funzione, ciascuna con il proprio insieme di variabili locali
Gestione mediante record di attivazione, un'unica copia del sottoprogramma ma ad ogni chiamata č associato un record di attivazione con variabili locali e paramtetri di scambio.
Mi chiedo : cosa si intende di pių copie dello stesso sottoprogramma? A me sembra quasi che il record di attivazione sia identico alla gestione stack classica.
E poi : all'atto dell'esecuzione del programma le istruzioni di una funzione vengono comunque caricate all'avvio o solo all'atto della chiamata ?