Glossario |
A | B | C | D | E | F |
G | H | I | J | K | L |
M | N | O | P | Q | R |
S | T | U | V | W | X |
Y | Z |
le variabili di ambiente vengono utilizzate per controllare il comportamento di alcuni programmi, inclusi programmi batch e shell di comando; essi consistono in una lista di associazioni (nome, stringa) e sono impostate e lette in modo diverso a seconda della shell in uso (si veda il relativo manuale per ulteriori informazioni)
istituto americano che stabilisce gli standards che a livello industriale permettono l'intercambiabilità tra dispositivi e sistemi prodotti da varie ditte
acronimo per American Standard Code for Information Interchange, cioé codice americano standard per l'interscambio di informazioni; è la codifica utilizzata dalla maggior parte dei computer moderni; originalmente, mappava l'alfabeto (a-z, A-Z), le cifre 0-9, i segni di interpunzione e alcuni caratteri di controllo ai numeri 0-127; oggi è utilizzato in prevalenza il codice ASCII esteso, che estende la mappatura a 255; i caratteri sopra il 127 sono costituiti da alcuni simboli specifici delle varie lingue europee e da caratteri semigrafici, tuttavia la loro rappresentazione varia da sistema a sistema
sistema di numerazione; in Proteus, i numeri possono essere specificati in base 10, in base 8 (iniziano per 0) oppure in base 16 (iniziano per 0x)
è il sistema di codifica delle informazioni per l'invio attraverso posta elettronica attualmente più utilizzato, in quanto impiegato nel diffuso standard MIME; esso prevede la codifica di tre caratteri del set ASCII esteso con quattro caratteri del codice ASCII semplice presi dal seguente alfabeto:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/Il carattere addizionale '=' è impiegato per parificare l'ultima riga della codifica, nel caso la dimensione dei dati da codificare non sia un multiplo di 3. Il sistema Base 64 (o Radix 64) è più efficiente dell'UU-encoding in quanto non prevede la memorizzazione della lunghezza di ogni riga e permette di avere righe di lunghezza arbitraria; il principio di funzionamento è analogo a quello dell'UU-encoding, con l'aggiunta di un accumulatore e di un registro di shift necessari per memorizzare i bit residui della riga precedente. Tipicamente, viene utilizzata una lunghezza di riga dati di 45 bytes, che corrisponde ad una riga codificata di 60 caratteri; il blocco codificato è preceduto da due righe:
Content-Type: text/plain; charset=US-ASCII; name="filename" Content-transfer-encoding: base64dove "filename" è il nome del file da ricreare; il set di caratteri (charset) può anche essere diverso, ma generalmente è impiegato quello descritto. La terminazione del blocco codificato è determinata automaticamente e non richiede, quindi, una label addizionale. La codifica Base 64 può essere estesa ad includere controlli d'integrità e segmenti multipli (per superare eventuali limitazioni sulla massima lunghezza ammessa per i messaggi scambiati). Altri sistemi di codifica sono l'UU-encoding e BinHex
sistema di codifica delle informazioni per l'invio attraverso posta elettronica, impiegato prevalentemente su piattaforma Macintosh; esso prevede la codifica di tre caratteri del set ASCII esteso con quattro caratteri del codice ASCII semplice presi dal seguente alfabeto:
!"#$%&'()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqrIl carattere addizionale ':' è impiegato per delimitare l'inizio e la fine della codifica. L'alfabeto che, come si vede, non è consecutivo è stato scelto per minimizzare la possibilità di errori di trasmissione. Questo sistema di codifica prevede anche una rudimentale compressione dello stream di dati (Run Length Encoding, simile alla compressione TIFF) e l'inclusione di informazioni Mac-oriented e di un CRC per il controllo dell'integrità dei dati. Questo sistema di codifica è poco diffuso al di fuori del mondo Macintosh ed è considerato sorpassato dalla definizione dello standard MIME. Altri sistemi di codifica sono il formato Base 64 e l'UU-encoding
CGI è l'acronimo per "Common Gateway Interface"; si tratta di una specifica che permette ad un server HTTP come httpd di NCSA o Communications Server di Netscape di eseguire programmi che generano documenti dinamici, invece che restituire esclusivamente documenti statici.
La programmazione CGI è impiegata ogni qualvolta si desidera ottenere un ingresso dall'utente o quando i documenti da inviare cambiano dinamicamente. Alcuni esempi possono essere degli indici di ricerca, dei contatori oppure un carico di magazzino.
I programmi CGI possono essere scritti in qualsiasi linguaggio supportato dalla macchina che gestisce il server HTTP; l'unica restrizione è la possibilità, da parte di questi linguaggi, di poter leggere dall'ingresso standard, scrivere sull'uscita standard ed avere accesso alle variabili di ambiente impostate dal server HTTP. Alcuni tipici linguaggi impiegati per la realizzazione di programmi CGI sono perl, TCL, la shell Unix e C. Naturalmente, anche Proteus è un linguaggio particolarmente adatto per scrivere script CGI.
La scelta del linguaggio dipende inoltre da alcuni parametri come la complessità del programma (ovvero quanto tempo macchina è sottratto al server per la sua esecuzione) e soprattutto la frequenza con cui esso è eseguito. In condizioni normali, qualsiasi dei linguaggi citati è adatto allo scopo; per ottenere la massima efficienza, tuttavia, non resta che affidarsi a linguaggi compilati come il C, che garantiscono il minor tempo di esecuzione.
sequenze di escape e caratteri letterali specificati mediante una sequenza di 2-4 caratteri, in cui il primo è sempre '\'
struttura dati in cui gli elementi sono inseriti sempre all'inizio ed estratti sempre dalla fine; in una coda, gli elementi sono estratti in ordine FIFO (first in-first out: il primo che entra è anche il primo ad uscire, cioé gli elementi sono estratti nel medesimo ordine in cui sono stati inseriti)
commento
descrizione liberamente introdotta dall'utente ed ignorata dall'interprete; in Proteus, sono considerate commenti tutte le righe che iniziano per ';' o '#' (opzionalmente preceduto da un numero qualunque di spazi e/o tabulazioni)
valore letterale; può apparire ovunque può comparire un'espressione; una costante numerica inizia con una cifra o un segno (+/-); una costante stringa è sempre racchiusa tra "virgolette"; le costanti mantengono il loro valore per tutta l'esecuzione del programma e non possono venire modificate
lett. controllo a ridondanza ciclica, spesso abbreviato come CRC; si tratta di una funzione che garantisce una buona dispersione alla minima variazione dei dati in ingresso, che trova largo impiego nel riconoscimento degli errori di trasmissione, in crittografia e nell'implementazione di tabelle hash; esistono numerose funzioni e tabelle per il calcolo del CRC, alcune delle quali standardizzate da ANSI
in Proteus, una stringa con tre numeri separati da uno dei seguenti caratteri: "/-."; l'interpretazione viene effettuata in base all'identificatore predefinito DATE_TYPE
talvolta nella diz. inglese "divide & conquer"; si tratta di una strategia di programmazione top-down che prevede la risoluzione di un problema mediante due fasi, ripetute più volte ricorsivamente qualora necessario; la prima fase consiste nella suddivisione del problema iniziale in più sottoproblemi e nella costruzione di un algoritmo per la loro soluzione; la seconda fase consiste nel realizzare un algoritmo che, raccogliendo i risultati determinati dai sottosolutori, dia la soluzione del problema iniziale; un algoritmo ricorsivo segue questo approccio
abbreviazione di electronic mail, cioè posta elettronica; consiste nell'invio da parte di un mittente e nella ricezione da parte di un destinatario di un documento via Internet variamente formattato; poiché la posta elettronica si è sviluppata prima che fosse sentita la necessità di scambiare messaggi in formato binario, molti sistemi per il trattamento della posta elettronica richiedono che i messaggi in transito siano in formato ASCII semplice (non esteso) e che non siano utilizzati i caratteri al di sotto del 32 (spazio); per permettere lo scambio di ogni tipo di file è stato creato lo standard MIME e sono stati inventati diversi modelli di codifica, come l'UU-encoding (Unix), BinHex (Macintosh) e Base 64 (vari sistemi)
valore numerico associato all'identificatore predefinito EPOCH; permette di interpretare correttamente gli anni nelle date contratte (con sole due cifre per l'anno)
escape, sequenze di
sequenze di due caratteri, in cui il primo è sempre '\', interpretate come un singolo carattere; sono impiegate nella specifica di costanti stringa
espressione
costante (stringa o numerica), funzione o identificatore
espressione regolare
sequenza di caratteri in cui alcuni sono interpretati letteralmente, mentre altri sono caratteri di controllo con significato speciale; è utilizzata normalmente per determinare se una stringa ha un determinato formato
in Proteus consiste in una sequenza di caratteri alfanumerici, sensibile alle maiuscole, che può essere definita oppure indefinita rispettivamente mediante le direttive !define e !undef oppure attraverso i parametri -n e -u sulla linea di comando; le etichette permettono di pseudo-compilare condizionalmente in memoria solo alcune parti del proprio codice, ad esempio per realizzare programmi Proteus multilingua oppure platform-independent; un esempio di etichette predefinite sono MS_DOS, UNIX, WINDOWS
valore di verità restituito e gestito dalle funzioni logiche; in Proteus, equivale ad un valore numerico nullo (0)
interpretazione del terminatore di riga; Proteus può leggere e scrivere file in formato Dos, Macintosh e Unix; sotto Dos/Windows il terminatore di riga è la coppia di caratteri corrispondente alla costante stringa "\r\n"; sotto Unix, il terminatore è il carattere "\n", sotto Macintosh il carattere "\r"
moduli per l'introduzione di dati; sono prodotti mediante un insieme di direttive HTML che ne governano la formattazione ed il tipo di input richiesto all'utente (ingresso letterale, scelta da una lista, scelta mutuamente esclusiva da un insieme, selezione sì/no); sono impiegati per raccogliere dati dagli utenti o per produrre dei documenti dinamici sulla base delle informazioni introdotte
routine che prende dei dati in ingresso e restituisce un singolo risultato; le funzioni in Proteus possono essere di libreria (cioé predefinite) oppure definite dall'utente (UDF)
valore numerico positivo o nullo; rappresenta un indice impiegato da Proteus per accedere a determinate strutture create in memoria, come pile, code, vettori ed altro
metodo di ricerca dati in un archivio che consiste nel trasformare la chiave in ingresso in modo tale da ottenere un punto di partenza che limiti il tempo di ricerca del dato
lett. HyperText Markup Language; è il linguaggio impiegato per la pubblicazione di documenti su Internet; consiste in una serie di direttive per la formattazione del testo e dei caratteri, per l'inserimento e l'allineamento di immagini, tabelle e forms, per la creazione di documenti composti da varie parti navigabili contemporaneamente (frames). Ogni documento HTML contiene informazioni addizionali sul set di caratteri impiegato e collegamenti ipertestuali, cioé dei puntatori che permettono di raggiungere un'altra risorsa Internet
sequenza di caratteri (insensibile alle maiuscole) di qualsiasi lunghezza, in cui non possono comparire spazi, tabulazioni, virgolette e che non può iniziare con una cifra (0-9), un segno (+/-) o il carattere '@'; un identificatore è detto predefinito se esiste prima che l'utente lo utilizzi; un esempio di identificatore predefinito è L
struttura dati in cui ciascun elemento, oltre al valore vero e proprio, possiede un etichetta che è possibile impiegare per ricercare l'elemento stesso all'interno dell'insieme e stabilirne l'appartenenza; gli elementi di un insieme non hanno ordine, né relativo né assoluto
isapi
estensioni specifiche di Microsoft® Internet Information Server che permettono l'elaborazione e la restituzione di informazioni attraverso protocollo HTTP, con un meccanismo simile agli script CGI dei web server Unix
insieme di funzioni; si definiscono funzioni di libreria le funzioni predefinite; anche l'utente può creare delle proprie librerie di funzioni (UDF), riutilizzabili mediante l'impiego della direttiva !include
struttura dati che mantiene esclusivamente i valori di verità (vero o falso) di molti elementi in poco spazio; simile ad un vettore, ma che può mantenere per ogni elemento solo 0 o 1; in Proteus, è una delle strutture accedute attraverso handle
mappatura (su alfabeto ASCII)
insieme di trasformazioni di caratteri ASCII in altri caratteri ASCII; è ammessa la trasformazione di più caratteri nello stesso carattere, quindi la mappatura non è invertibile
metodo
routine che non ritorna alcun valore o struttura di controllo, che determina il corso lungo il quale il programma procede sulla base di determinate condizioni
MIME è l'acronimo di Multi-purpose Internet Mail Extensions, cioè estensioni di vario impiego per posta via Internet. MIME è uno standard Internet per la trasmissione di dati di ogni tipo via posta elettronica; esso definisce il modo in cui i messaggi devono essere formattati e costruiti e prevede l'indicazione del tipo e della natura del contenuto del messaggio e la possibilità di preservare le informazioni relative ai set di caratteri internazionali. Nella maggior parte dei casi, un messaggio MIME può essere letto correttamente da ogni tipo di sistema che possiede un programma di posta elettronica MIME-compatibile.
Lo standard MIME è descritto nel documento Internet Standards RFC1521.
numero
Proteus permette di lavorare con numeri interi ed in virgola mobile; un numero intero è privo di cifre decimali, mentre un numero in virgola mobile può averne; un numero in virgola mobile è l'approssimazione utilizzata dal computer per rappresentare un numero reale; Proteus permette di specificare numeri interi in diverse basi
un operatore è un simbolo che sottende una funzione; può prendere uno (unario) o due (binario) parametri; Proteus è completamente funzionale, e pertanto privo di operatori; ciò permette di evitare l'uso delle parentesi
in Proteus, una stringa di tre numeri separati dal carattere ':' e seguiti da uno spazio o dai caratteri 'a'/'p'; l'interpretazione è determinata dal valore dell'identificatore predefinito TIME_TYPE
struttura dati in cui gli elementi sono inseriti ed estratti sempre dalla stessa parte; in una pila, gli elementi sono estratti in ordine LIFO (last in-first out: l'ultimo che entra è il primo ad uscire, cioé gli elementi sono estratti esattamente nell'ordine inverso a quello di introduzione)
programma per la manipolazione di file in formato testo; permette di trasformare file e di estrarre informazioni da essi
divinità della mitologia greca le cui trasformazioni hanno ispirato il nome del linguaggio
ricerca su di un insieme ordinato di informazioni; permette di ottenere la posizione di un elemento cercato o la non appartenenza esattamente con log2 (n) confronti, se n è il numero di elementi dell'insieme ordinato; consiste nel ridurre a metà la dimensione del campione in cui cercare l'elemento ad ogni operazione
tecnica di programmazione attraverso la quale una funzione richiama sè stessa; è spesso impiegata per implementare funzioni matematiche o problemi che possono essere risolti mediante poche operazioni elementari e l'invocazione della medesima funzione su dati di dimensioni inferiori
lett. effetto collaterale; si ha un side-effect quando una variabile cambia implicitamente valore per effetto di una operazione su altre variabili; sono considerati effetti collaterali, ad esempio, tutte le assegnazioni con PSET all'interno di funzioni definite dall'utente
sequenza di caratteri; una costante stringa è sempre racchiusa tra "virgolette" e può contenere costanti C-like; la lunghezza di una stringa è pari sempre alla lunghezza della stringa interpretata, non al numero di caratteri fra virgolette; in Proteus, le stringhe possono contenere NULL (ASCII 0)
collezione di valori disposti in un certo ordine
file contenente dati in formato leggibile, ad eccezione dei terminatori di riga e delle eventuali tabulazioni
formato di compressione lossless particolarmente efficiente nella codifica di stringhe con molti bytes consecutivi ripetuti
sequenza di caratteri in una stringa separata da uno o più caratteri presi da una lista
acronimo per User Defined Function, cioé funzione definita dall'utente; due particolari UDF sono ONSTART e ONEND
il sistema di codifica URL è impiegato per inviare dati raccolti da forms a dei programmi CGI; con questo sistema, i dati sono inviati sotto forma di coppie di valori separate dal carattere '&' in cui l'etichetta (primo elemento) ed il valore (secondo elemento) sono ulteriormente separati dal carattere '='; per eliminare eventuali ambiguità e per poter trasmettere caratteri sull'intero set ASCII esteso, ogni carattere sopra il 126 e sotto il 32 (oltre ai caratteri $, &, =, +, ", \, ', ;, /, #, : e ?) è codificato come tre caratteri: un simbolo '%' seguito da due cifre esadecimali corrispondenti al carattere da codificare. Fa eccezione a questa regola di codifica generale il carattere spazio, che essendo un carattere ambiguo ma particolarmente frequente viene trasformato in '+'.
sistema di codifica delle informazioni per l'invio attraverso posta elettronica, originariamente concepito per l'impiego su macchine Unix (UU sta per Unix to Unix) e successivamente portato su altre piattaforme; esso prevede la codifica di tre caratteri del set ASCII esteso con quattro caratteri del codice ASCII semplice; l'alfabeto utilizzato va dal codice 33 al codice 96; il principio di funzionamento è molto semplice: detti a, b e c i tre byte da codificare, questo sistema memorizza in a1, b1 e c1 sei degli otto bit di ciascun carattere e nel nuovo quarto carattere d i sei bit 'scartati'; se n è la dimensione del file originale, teoricamente un file codificato avrebbe lunghezza (n / 3 * 4); in realtà, un file UU-codificato presenta informazioni addizionali per permettere la ricostruzione del file originale; in particolare, il primo carattere di ogni riga della codifica stabilisce la lunghezza della riga stessa (decodificata), in quanto se la dimensione del file originale non è divisibile per tre devono essere aggiunti dei byte fittizi che vanno ignorati nella decodifica; tipicamente, ogni riga della codifica contiene 61 caratteri (lunghezza + 60 caratteri), che rappresentano 45 bytes, ed il blocco codificato è preceduto dalla riga di testo:
begin [diritti] nomefiledove [diritti] rappresenta i diritti di accesso del file ricreato (644, generalmente) e "nomefile" il suo nome originale. L'ultima riga della codifica consiste nel solo carattere 96 (che indica lunghezza 0) ed è seguita dalla label:
endAlcuni codificatori aggiungono altre informazioni, come il controllo di integrità con CRC, e permettono di suddividere in segmenti (chunk) di 950 linee il messaggio codificato, per aggirare la limitazione imposta da sistemi obsoleti per la gestione della posta elettronica che limitavano la massima lunghezza ammessa per i messaggi. Altri sistemi di codifica sono il Base 64 (utilizzato dallo standard MIME) e il BinHex
struttura in memoria che permette di mantenere un valore numerico (intero o in virgola mobile) oppure una stringa; le variabili pubbliche mantengono il loro valore durante l'esecuzione del programma, le variabili locali compaiono nelle UDF e sono azzerate ad ogni esecuzione della funzione; entrambe sono impostate con SET e accedute direttamente mediante il nome dell'identificatore associato; per impostare variabili pubbliche in funzioni utente si utilizza il metodo PSET, per accedervi (nello stesso caso) si utilizza la funzione PUB
valore di verità restituito e gestito dalle funzioni logiche; in Proteus, equivale ad un valore numerico non nullo (diverso da 0)
edizione di un programma; Proteus permette di essere compilato in diverse lingue e su diverse piattaforme
struttura dati in cui gli elementi possono essere inseriti ed estratti in qualunque ordine; sui vettori è possibile eseguire ordinamenti e ricerche
Inizio pagina | Prossimo argomento | Argomento precedente | Indice per argomenti | Indice analitico |