parser
Un analizzatore sintattico – in inglese parser – analizza la
sequenza di token prodotti da un lexer per determinare la sua
struttura grammaticale, raggruppando i token progressivamente in gruppi più ampi
in base a certe regole grammaticali. Se la sequenza di token è valida, il
risultato finale è l’insieme dei token ordinati a albero, la cui radice è il
simbolo iniziale della grammatica. Se ciò non può essere ottenuto, il file non è
valido e viene generato un appropriato messaggio di errore. I gruppi sintattici
e le regole che li definiscono nella sintassi di LilyPond sono definiti in
lily/parser.yy e mostrati in Backus Normal Form (BNF) in
LilyPond grammar. Questo file viene usato dal generatore di parser
Bison per generare il parser durante la compilazione del programma. Fa parte
del codice sorgente e non è incluso nell’installazione binaria di LilyPond.