parser
Ein parser (Syntaxanalysierer) analysiert die Tokensequenzen, die von einem
Lexer erstellt wurden, um deren grammatikalische Struktur zu entschlüsseln,
wie sie von den Regeln des Eingabeformates vorgegeben werden. Dabei werden
die Sequenzen in immer größere Gruppen entsprechend den grammatischen
Regeln zusammengefasst. Wenn die Kette der Tokens gültig ist, ist das
Endprodukt ein Token-Baum, dessen Wurzel das Startsymbol der Grammatik ist.
Wenn dies nicht erreicht werden kann, ist die Datei nicht korrekt und
ensprechende Fehlermeldungen werden ausgegeben. Die syntaktischen Gruppierungen
und die Regeln, nach welchen die Gruppen aus ihren Einzelteilen nach der
LilyPond-Syntax erstellt werden, finden sich in der Datei lily/parser.yy.
Diese Datei wird benutzt, um den Parser während der Programmkompilation
zu erstellen. Hierzu wird der Parser-Ersteller Bison verwendet. Er ist
Teil des Quellcodes und nicht in die binäre Installation von LilyPond
integriert.