Dope vector: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
←Nuova pagina: Nella teoria della programmazione (informatica), il '''dope vector''' (in lingua inglese "vettore di informazione") è una struttura dati che contiene le i... |
template citazione; formattazione isbn |
||
Riga 1:
Nella teoria della [[programmazione (informatica)|programmazione]], il '''dope vector''' (in [[lingua inglese]] "vettore di informazione") è una [[struttura dati]] che contiene le informazioni su un [[oggetto (informatica)|oggetto]]<ref>Pratt T. and M. Zelkowitz, Programming Languages: Design and Implementation (Third Edition), Prentice Hall, Upper Saddle River, NJ, (1996) pp 114</ref> (ad esempio un [[array]]) e in particolare il suo layout in memoria. È tipicamente usato nei compilatori dei [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] per passare array alle [[subroutine]].<ref>{{cita libro|titolo=Engineering a Compiler|autore=Keith Cooper|autore2=Linda Torczon|edizione=2|editore=Elsevier|anno=2011|ISBN=978-0-
Il dope vector di un array contiene usualmente almeno rango (numero di dimensioni), extent (intervalli degli indici) e stride (la distanza in memoria tra due elementi consecutivi, che può differire dall'effettiva dimensione dell'elemento per via dell'allineamento della memoria), oltre al puntatore ad un elemento fisso rispetto al quale si calcola l'offset degli altri elementi (tipicamente l'elemento iniziale). La posizione in memoria di un generico elemento dell'array si ottiene sommando l'indirizzo di tale elemento fisso con il prodotto scalare dello stride per la differenza tra l'ennupla di indici che individuano l'elemento e l'ennupla dei valori iniziali per ogni indice (se i valori iniziali sono tutti nulli, come ad esempio in [[Linguaggio C|C]], la differenza corrisponde all'ennupla stessa degli indici).<ref>John Daintith. "dope vector." A Dictionary of Computing. 2004. Encyclopedia.com. 13 Dec. 2015 <http://www.encyclopedia.com>.</ref>
|