Backus-Naur Form: differenze tra le versioni

→‎Introduzione: Evidenza sintassi
(→‎Esempio: Evidenza sintassi)
(→‎Introduzione: Evidenza sintassi)
Una '''specifica BNF''' è un insieme di '''regole di derivazione''', ciascuna espressa nella forma:
 
<syntaxhighlight lang="bnf">
:<nowiki><simbolo> ::= __espressione__</nowiki>
</syntaxhighlight>
 
o nella forma equivalente:
 
<syntaxhighlight lang="bnf">
:<nowiki><simbolo> → __espressione__</nowiki>
</syntaxhighlight>
 
Le due forme sono assolutamente equivalenti ma la seconda è sbagliata perché non fa parte della BNF. È un'invenzione di chi l'ha scritto. La prima forma, che verrà utilizzata nel seguito, utilizza caratteri ASCII standard ed è quella più utilizzata per scrivere grammatiche che devono essere utilizzate dai calcolatori e lette in file di testo. La seconda forma è meno utilizzabile nella pratica, ma è comune nei testi e negli articoli di informatica teorica in quanto meglio esprime l'operazione di derivazione delle stringhe di un linguaggio a causa dell'applicazione delle regole di derivazione. Oltre a queste due forme se ne possono trovare altre decine, l'importante è capire che la BNF è un metalinguaggio formale e non prevede altri simboli se non ::=. Altri metalinguaggi che utilizzano altri simboli non sono la BNF.
366

contributi