[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < Notes de percussió ] | [ Amunt : Taules del manual sobre notació ] | [ alist (llista-A) > ] |
A.16 Glossari tècnic
Glossari dels termes tècnics i conceptes que s’utilitzen internament al LilyPond. Aquests termes poden aparèixer als manuals, a les llistes de distribució de correu o al codi font.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < Glossari tècnic ] | [ Amunt : Glossari tècnic ] | [ callback > ] |
alist (llista-A)
Una llista associativa o abreujadament una llista-A (alist
en anglès) és una parella de l’Scheme que associa un valor amb una
clau: (clau . valor)
. Per exemple, a
‘scm/lily.scm’, la llista-A “type-p-name-alist”
associa certs predicats de tipus (per exemple ly:music?
)
amb noms (per exemple “music”) de forma que es pugui informar
de les fallades de comprovació de tipus amb un missatge de consola
que inclou el nom del predicat de tipus esperat.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < alist (llista-A) ] | [ Amunt : Glossari tècnic ] | [ closure (tancadura) > ] |
callback
Una callback és una rutina, funció o mètode la referència del qual es passa com argument en una crida a una altra rutina, permetent així que la rutina anomenada la invoqui. La tècnica permet que una capa de programari de nivell més baix cridi a una funció definida en una capa de nivell més alt. Les funcions de callback s’usen àmpliament al LilyPond per permetre al codi de l’Scheme del nivell d’usuari definir quantes accions de baix nivell es fan.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < callback ] | [ Amunt : Glossari tècnic ] | [ glif > ] |
closure (tancadura)
A l’Scheme, es crea una tancadura quan una funció, en general una expressió lambda, es passa com a variable. La tancadura conté el codi de la funció i referències a les lligadures lèxiques de les variables lliures de la funció (és a dir, les variables que s’usen a la expressió però es defineixen fora d’ella). Quan més tard s’aplica aquesta funció a diferents arguments, les lligadures de variables lliures que es van capturar dins de la tancadura s’utilitzen per obtenir els valors de les variables lliures que s’usaran en el càlcul. Una propietat útil de les tancadures és la retenció dels valors interns de les variables d’una invocació a una altra, permetent així que es pugui mantenir un estat.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < closure (tancadura) ] | [ Amunt : Glossari tècnic ] | [ grob (objecte gràfic) > ] |
glif
Un glif és una representació gràfica particular d’un caràcter tipogràfic, o una combinació de dos caràcters que formen una lligadura. Un conjunt de glifs amb un estil i forma uniformes formen un tipus de lletra, i un conjunt de tipus de lletra que abasten diversos estils formen un tipus.
Vegeu també
Referencia de la notació: Tipus de lletra, Caràcters especials.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < glif ] | [ Amunt : Glossari tècnic ] | [ immutable > ] |
grob (objecte gràfic)
Els objects del LilyPond que representen elements de la notació en
la sortida impresa tals com el cap i la plica de les notes,
lligadures d’unió i d’expressió, digitacions, claus, etc., es
denominen ‘objectes de presentació’, sovint coneguts com
‘OBjectes GRàfics’, o abreujadament, grobs. Es
representen mitjançant instàncies de la classe Grob
.
Vegeu també
Manual d’aprenentatge: Objectes i interfícies, Convencions de noms d'objectes i propietats, Propietats dels objectes de presentació.
Referència de funcionament intern: grob-interface, All layout objects.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < grob (objecte gràfic) ] | [ Amunt : Glossari tècnic ] | [ interfície > ] |
immutable
Un objecte immutable és un objectes l’estat del qual no es pot modificar després de la seva creació, en contrast amb els objectes mutables, que es poden modificar després de la seva creació.
Al LilyPond les propietats immutables o compartides defineixen
l’estil i el comportament predeterminats dels grobs. Es
comparteixen per part de molts objectes. En aparent contradicció
amb el seu nom, es poden canviar utilitzant \override
i
\revert
.
Vegeu també
Referècia de la notació: mutable.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < immutable ] | [ Amunt : Glossari tècnic ] | [ lexer (analitzador lèxic) > ] |
interfície
Les accions i propietats comunes a un conjunt de grobs s’agrupen
en un objecte denominat interfície de grob
(grob-interface)
, o abreujadament ‘interfície’.
Vegeu també
Manual d’aprenentatge: Objectes i interfícies, Convencions de noms d'objectes i propietats, Propietats de les interfícies.
Referència de la notació: Interfícies de la presentació.
Referècia de funcionament intern: Graphical Object Interfaces.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < interfície ] | [ Amunt : Glossari tècnic ] | [ mutable > ] |
lexer (analitzador lèxic)
Un lexer o analitzador lèxic és un programa que converteix una seqüència de caràcters en una seqüència d’elements o tokens, usant un procés que s’anomena anàlisi lèxica. L’analitzador lèxic del LilyPond converteix el flux obtingut a partir d’un fitxer d’entrada ‘.ly’ en un flux descompost en tokens més apte per a la fase següent del processat: l’anàlisi sintàctica, vegeu parser (analitzador sintàctic). L’analitzador lèxic del LilyPond lexer està construït amb l’eina Flex a partir del fitxer de lexer ‘lily/lexer.ll’ que conté les regles lèxiques. Aquest fiter és part del codi font i no s’inclou dins de la instal·lació binària del LilyPond.
mutable
Un objecte mutable es un objecte l’estat del qual es pot modificar després de la seva creació, en contrast amb un objecte immutable, l’estat del qual es fixa al moment de la creació.
Al LilyPond les propietats mutables contenen valors específics d’un grob. En general, les llistes d’altres objectes o els resultats dels càlculs s’emmagatzemen a propietats mutables.
Vegeu també
Referència de la notació: immutable.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < mutable ] | [ Amunt : Glossari tècnic ] | [ parser (analitzador sintàctic) > ] |
output-def (definició de sortida)
Una instància de la classe Output-def
conté els mètodes i
les estructures de dades associades amb un bloc de sortida. Es
creen instàncies per al blocs midi, layout i paper.
parser (analitzador sintàctic)
Un parser o analitzador sintàctic analitza la seqüència de tokens o elements lèxics produïda per un analitzador lèxic per determinar la seva estructura gramatical, agrupant els elements lèxics en conjunts més grans segons les regles de la gramàtica. Si la seqüència d’elements lèxics és vàlida, el producte final és un arbre de tokens l’arrel del qual és el símbol inicial de la gramàtica. Si es pot aconseguir això, el fitxer és invàlid i es produeix un missatge d’error adequat. Les agrupacions sintàctiques i les regles per construir aquestes agrupacions a partir dels seus elements constituents per a la sintaxi del LilyPond estan definides a ‘lily/parser.yy’ i es mostre a la forma normal del Backus (bnf) dins de grammar LilyPond grammar. Aquest fitxer s’usa per construir l’analitzador sintàctic durant la compilació del programa per part del generador d’analitzadors sintàctics, Bison. És part del codi font i no s’inclou dins de la instal·lació binària del LilyPond.
variable de l’analitzador sintàctic
Són variables definides directament dins de l’Scheme. Es desaconsella fortament el seu ús directe per part dels usuaris, perquè la seva semàntica d’àmbit pot ser confusa.
Quan el valor d’una d’aquestes variables es modifica dins d’un fitxer
archivo ‘.ly’, el canvi és global, i a no ser que es
reverteixi explícitament, el nou valor persistirà fins el final
del fitxer, afectant a tots els blocs de \score
així com
als fitxers externs afegits amb l’ordre \include
. Això pot
conduir a conseqüències imprevistes i als projectes de gravació
complexos pot ser difícil de rastrejar.
El LilyPond utilitza les variables següents de l’analitzador sintàctic:
- afterGraceFraction
- musicQuotes
- mode
- output-count
- output-suffix
- partCombineListener
- pitchnames
- toplevel-bookparts
- toplevel-scores
- showLastLength
- showFirstLength
prob (objecte de propietats)
Els OBjectes de PRopietats, o abreujadament probs, són
instàncies de la classe Prob
, que és una classe bàsica
senzilla que té llistes-A de propietats mutables i immutables i
els mètodes per manipular-les. Les classes Music
i
Stream_event
deriven de Prob
. També es creen
instàncies de la classe Prob
per emmagatzemar el contingut
formatat dels grobs del sistema i els blocs de títols durant el
procés de disposició de la pàgina.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < prob (objecte de propietats) ] | [ Amunt : Glossari tècnic ] | [ stencil (segell) > ] |
smob (objecte de l’Scheme)
Els Smobs, o OBjectes de l’ScheMe, formen part del mecanisme utilitzat pel Guile per exportar objectes de C i de C++ al codi de l’Scheme. Al LilyPond es creen smobs a partir d’objectes de C++ mitjançant macros. Hi ha dos tipus d’objectes smob: els smobs simples, orientats a objectes immutables simples com nombres, i els smobs complexos, usats per a objectes amb identitats. Si teniu accés a les fonts del LilyPond, trobareu més informació a ‘lily/includes/smob.hh’.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < smob (objecte de l'Scheme) ] | [ Amunt : Glossari tècnic ] | [ Funcions musicals disponibles > ] |
stencil (segell)
Les instàncies de la classe stencil contenen la informació necessària per imprimir un objecte tipogràfic. És un smob simple que conté una caixa de confinament, que al seu cop defineix les dimensions vertical i horitzontal de l’objecte, i una expressió de l’Scheme que imprimeix l’objecte quan s’avalua. Els stencils o segells es poden combinar per formar segells més complexos definits per un arbre d’expressions de l’Scheme format a partir de les expressions de l’Scheme dels segells que el composen.
La propietat stencil
, que connecta a un grob amb el seu
segell es defineix dins de la interfície grob-interface
.
Vegeu també
Referència de funcionament intern: grob-interface.
[ << Taules del manual sobre notació ] | [Part superior][Continguts][Índex] | [ Full de referència ràpida >> ] |
[ < smob (objecte de l'Scheme) ] | [ Amunt : Glossari tècnic ] | [ Funcions musicals disponibles > ] |