Che cos’è un delimitatore?

In relazione ai computer, un delimitatore è un separatore che definisce singole parti di dati in un file, protocollo di comunicazione o altro flusso di dati. Il separatore può essere semplice come un singolo carattere, come una virgola, o complesso come una sequenza definita di caratteri di controllo non stampabili. Lo scopo di un delimitatore è fornire un meccanismo prevedibile e affidabile per dividere un flusso di dati in parti componenti quando altri metodi potrebbero non essere affidabili o quando il contenuto dei dati potrebbe essere molto arbitrario. Molte applicazioni per computer, dagli elaboratori di testi ai fogli di calcolo ai browser Web, utilizzano delimitatori per diverse funzioni. Una complicazione che può sorgere con l’uso di un delimitatore è nota come collisione del delimitatore, che si verifica quando i dati previsti contengono il separatore come un carattere che non deve essere interpretato come separatore, compensando i dati seguenti e di solito invalidandolo.

Un delimitatore può essere un singolo carattere, ad esempio uno spazio che separa le parole, come nel caso di molti interpreti di riga di comando ed elaboratori di testi di base. L’obiettivo è consentire a un programma di isolare un singolo elemento da una stringa più lunga. L’indirizzo di un sito Web, ad esempio, utilizza punti per separare le diverse parti del nome del sito.

Sebbene le virgole, i punti e virgola e altre forme di punteggiatura siano comunemente usate come separatori, ci sono casi in cui non sono pratici, come quando si accettano più righe di testo che formano un paragrafo grammaticalmente corretto. In questi casi, un delimitatore può assumere la forma di un carattere di controllo non stampabile in modo che tutti i caratteri stampabili possano essere utilizzati come dati. Un carattere di controllo non stampabile è un singolo carattere che non ha un glifo di visualizzazione corrispondente in un font del computer, a volte non è nemmeno replicabile su una tastiera e deve invece essere generato da un’applicazione o da un’altra funzione. Questi tipi di separatori funzionano bene in alcuni casi, ma possono anche essere gravosi se un utente non è in grado di produrre il carattere senza un programma speciale. Un esempio di ciò si è verificato nei primi programmi di modifica della riga di comando, in cui un utente doveva utilizzare la combinazione di tasti “controllo-Z” per generare il carattere di fine file (EOF) non stampabile per creare un delimitatore che segnava la fine di un file.

Un tipo più complesso di delimitatore è progettato per separare interi blocchi di dati racchiudendo i dati all’interno di separatori di apertura e chiusura. Questi separatori possono assumere la forma di parentesi — come si vede in molti linguaggi di programmazione — virgolette o asterischi. L’obiettivo è fornire un modo per dividere un blocco di dati o testo arbitrario che potrebbe estendersi su più righe o includere caratteri di controllo o altri caratteri speciali. In HyperText Markup Language (HTML), i tag utilizzati per contrassegnare il testo sono circondati da segni di maggiore e minore di, consentendo ai tag di essere di qualsiasi lunghezza e includere caratteri di controllo come un ritorno a capo generato quando viene premuto il tasto Invio senza rompere il blocco. L’utilizzo dei delimitatori in questo modo consente di formattare un documento HTML in modo che sia più leggibile dall’uomo senza creare problemi per l’interprete HTML.