- Definizione di grammatica
- Definizione di linguaggio
- Le fasi di un compilatore
- BNF e sintassi di un linguaggio di programmazione
Grammatica
E’ una quadrupla G = ⟨N, Σ, P, S⟩ che contiene le regole necessarie a descrivere la sintassi:
- Simboli non terminali: $N \not = ∅$
- utilizzati nelle regole per generare altre stringhe
- le categorie sintattiche (nome che identifica un’entità)
- Simboli terminali: $Σ$
- utilizzati come “risultato finale”, compaiono nelle stringhe del linguaggio
- Produzioni: $P ⊆ (N ∪ Σ)^+ × (N ∪ Σ)*$
- tutte le possibili coppie di stringhe, ammesse, con un non terminale, a sinistra
- Simbolo iniziale: $S ∈ N$
- è il simbolo che rappresenta l’inizio della grammatica, da dove si parte per creare una frase.

Sintassi
Controlla la legalità di una stringa (programma) secondo le regole della grammatica
<aside>
💡 Stringa legale è un sottoinsieme di tutte le stringhe componibili, che ha un significato.
</aside>
Stringhe