[ << Aggiornare i file con convert-ly ] | [Top][Contents][Index] | [ Eseguire lilypond-book >> ] |
[ < Aggiornare i file con convert-ly ] | [ Up : Aggiornare i file con convert-ly ] | [ Utilizzo di convert-ly > ] |
2.1 Perché la sintassi cambia?
Le modifiche della sintassi di solito servono a rendere l’input più facile sia da leggere che da scrivere e talvolta ad aggiungere a LilyPond nuove funzionalità o miglioramenti di funzioni esistenti.
Ecco un esempio reale:
Tutti i nomi delle proprietà di \paper
e \layout
dovrebbero essere
scritte nella forma primo-secondo-terzo
. Tuttavia, nella versione 2.11.60
è emerso che la proprietà printallheaders
non seguiva questa convenzione.
Questa proprietà doveva essere lasciata così come era (confondendo i nuovi
utenti con un formato di input incoerente), o doveva essere cambiata
(disturbando i vecchi utenti con file di input già scritti)?
Fu deciso di cambiare il nome della proprietà in print-all-headers
, e
tramite il comando convert-ly
i vecchi utenti avevano a disposizione
uno strumento per aggiornare automaticamente i propri file di input.
Tuttavia il comando convert-ly
non è sempre in grado di gestire tutti
i cambiamenti di sintassi. Nelle versioni di LilyPond precedenti la versione
2.4.2, gli accenti e i caratteri non inglesi venivano inseriti con la notazione
standard di LaTeX. Per esempio, per inserire la parola francese che significa
‘Natale’ si usava No\"el
. Ma nelle versioni successive di LilyPond, il
carattere speciale ë
deve essere inserito direttamente come carattere
UTF-8. Il comando convert-ly
non può sostituire i caratteri speciali
di LaTeX con i rispettivi caratteri UTF-8, dunque è necessario aggiornare a mano
i vecchi file di input di LilyPond.
Le regole di conversione del comando convert-ly
si basano sulla ricerca
e sostituzione di parole chiave (piuttosto che su una completa ‘comprensione’
del contesto di ciò che sta cambiando in un certo file di input). Ciò comporta
varie conseguenze:
- L’affidabilità della conversione dipende dalla qualità di ciascun insieme di regole applicate e dalla complessità del rispettivo cambiamento. Talvolta le conversioni richiedono correzioni manuali ulteriori, quindi il file originale deve essere conservato per poterlo confrontare in caso di necessità.
- Sono possibili solo conversioni ai cambi di sintassi più recenti: non ci sono regole per tornare a una versione precedente di LilyPond. Dunque il file di input deve essere aggiornato soltanto quando le versioni precedenti di LilyPond non sono più mantenute. Di nuovo, il file di input originale deve essere conservato per ogni evenienza, magari usando sistemi di controllo di versione (es.: Git) per semplificare la gestione di versioni multiple dei file di input.
- LilyPond ha delle robuste difese quando elabora spazi omessi o posizionati
in modo ‘originale’, ma le regole usate da
convert-ly
tendono spesso a dare per scontato certe forme stilistiche. Seguire lo stile di input usato nei manuali di LilyPond è dunque la via più sicura per aggiornamenti indolori, soprattutto perché gli esempi dei manuali stessi sono tutti aggiornati col comandoconvert-ly
.
[ << Aggiornare i file con convert-ly ] | [Top][Contents][Index] | [ Eseguire lilypond-book >> ] |
[ < Aggiornare i file con convert-ly ] | [ Up : Aggiornare i file con convert-ly ] | [ Utilizzo di convert-ly > ] |