Google Play badge

sintassi


SINTASSI

In informatica, il termine sintassi di un linguaggio informatico si riferisce all'insieme di regole che definiscono la combinazione di simboli considerata un frammento o un documento correttamente strutturato in quel linguaggio. Questo vale sia per i linguaggi di markup, dove il documento rappresenta i dati, sia per i linguaggi di programmazione, dove il documento rappresenta il codice sorgente. La sintassi di una lingua definisce la sua forma superficiale. I linguaggi informatici basati su testo si basano sulle sequenze di caratteri. I linguaggi di programmazione visiva invece si basano sulla connessione tra simboli (che possono essere grafici o testuali) e sulla disposizione spaziale. Si dice che i documenti che sono sintatticamente non validi hanno un errore di sintassi.

La sintassi – la forma – è in contrasto con la semantica – il significato. Nell'elaborazione dei linguaggi informatici, l'elaborazione semantica viene normalmente dopo l'elaborazione sintattica. Tuttavia, in alcuni casi l'elaborazione semantica è importante per un'analisi sintattica completa, e pertanto vengono eseguite contemporaneamente o insieme. In un compilatore, l'analisi sintattica comprende il frontend, mentre l'analisi semantica comprende il backend (e il middle end nei casi in cui si distingue la fase).

LIVELLI DI SINTASSI

La sintassi del linguaggio informatico è normalmente distinta in tre diversi livelli:

Distinguere in questo modo produce modularità che consente a ogni livello di essere descritto ed elaborato separatamente, e spesso indipendentemente. Inizia con un lexer che trasforma la sequenza lineare di caratteri in una sequenza lineare di token: questa operazione viene definita analisi lessicale o lexing .

In secondo luogo, il parser trasforma la sequenza lineare di token in quello che viene chiamato un albero di sintassi gerarchico. Questo è indicato come parsing .

In terzo luogo, l'analisi contestuale risolve controlli e tipi di nomi. La stessa fase di analisi può essere suddivisa in due parti: l' albero di sintassi concreto o l' albero di analisi che è determinato dalla grammatica, ma è troppo dettagliato per l'uso pratico, e l' albero di sintassi astratto (AST), che lo semplifica in una forma che è utilizzabile.

SINTASSI CONTRO SEMANTICA

La sintassi di un linguaggio descrive la forma di un programma valido, ma non fornisce alcuna informazione sul significato del programma o sui risultati che derivano dall'esecuzione di quel programma. Il significato che viene dato a una combinazione di simboli è gestito dalla semantica (o codificata o formale in un'implementazione di riferimento). Non tutti i programmi sintatticamente corretti sono semanticamente corretti. Un gran numero di programmi sintatticamente corretti sono comunque mal formati, secondo le regole del linguaggio; e può (per quanto riguarda la specifica della lingua e la solidità dell'implementazione) comportare un errore nell'esecuzione o nella traduzione. In alcuni casi, tali programmi possono mostrare un comportamento indefinito. Anche nei momenti in cui un programma è ben definito in una lingua, può ancora avere un significato non inteso dal suo autore.

Nell'esempio di un linguaggio naturale, potrebbe essere impossibile dare un significato a una frase grammaticalmente corretta. Per esempio,

Download Primer to continue