[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < Notas de percusión ] | [ Subir : Tablas del manual sobre notación ] | [ alist (lista-A) > ] |
A.16 Glosario técnico
Glosario de los términos técnicos y conceptos que se utilizan internamente en LilyPond. Estos términos pueden aparecer en los manuales, en las listas de distribución de correo o en el código fuente.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < Glosario técnico ] | [ Subir : Glosario técnico ] | [ callback > ] |
alist (lista-A)
Una lista asociativa o abreviadamente una lista-A (alist
en inglés) es una pareja de Scheme que asocia un valor con una
clave: (clave . valor)
. Por ejemplo, en
‘scm/lily.scm’, la lista-A “type-p-name-alist” asocia
ciertos predicadps de tipo (p.ej. ly:music?
) con
nombres (p.ej. “music”) de forma que se pueda informar de
los fallos de comprobación de tipo con un mensaje de consola que
incluye el nombre del predicado de tipo esperado.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < alist (lista-A) ] | [ Subir : Glosario técnico ] | [ closure (cerradura) > ] |
callback
Una callback es una rutina, función o método cuya referencia se pasa como argumento en una llamada a otra rutina, permitiendo así que la runtina llamada invoque a aquélla. La técnica permite que una capa de software de nivel más bajo llame a una función definida en una capa de nivel más alto. Las funciones de callback se usan ampliamente en LilyPond para permitir al código de Scheme del nivel de usuario definir cuántas acciones de bajo nivel se llevan a cabo.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < callback ] | [ Subir : Glosario técnico ] | [ glifo > ] |
closure (cerradura)
En Scheme, se crea una cerradura cuando una función, por lo general una expresión lambda, se pasa como variable. La cerradura contiene el codigo de la función y referencias a las ligaduras léxicas de las variables libres de la función (es decir, las variables que se usan en la expresión pero se definen fuera de ella). Cuando más tarde se aplica esta función a diferentes argumentos, las ligaduras de variables libres que se capturaron dentro de la cerradura se utilizan para obtener los valores de las variables libres que se usarán en el cálculo. Una propiedad útil de las cerraduras es la retención de los valores internos de las variables de una invocación a otra, permitiendo así que se pueda mantener un estado.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < closure (cerradura) ] | [ Subir : Glosario técnico ] | [ grob (objeto gráfico) > ] |
glifo
Un glifo es una representación gráfica particular de un carácter tipográfico, o una combinación de dos caracteres que forman una ligadura. Un conjunto de glifos con un estilo y forma uniformes forman una fuente tipográfica, y un conjunto de fuentes tipográficas que abarcan varios estilos forman un tipo.
Véase también
Referencia de la notación: Tipografías, Caracteres especiales.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < glifo ] | [ Subir : Glosario técnico ] | [ inmutable > ] |
grob (objeto gráfico)
Los objetos de LilyPond que representan elementos de la notación
en la salida impresa tales como la cabeza y la plica de las notas,
ligaduras de unión y de expresión, digitaciones, claves, et. se
denominan ‘objetos de presentación’, a menudo conocidos como
‘OBjetos GRáficos’, o abreviadamente grobs. Se
representan mediante instancias de la clase Grob
.
Véase también
Manual de aprendizaje: Objetos e interfaces, Convenciones de nombres de objetos y propiedades, Propiedades de los objetos de presentación.
Referencia de funcionamiento interno: grob-interface, All layout objects.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < grob (objeto gráfico) ] | [ Subir : Glosario técnico ] | [ interfaz > ] |
inmutable
Un objeto inmutable es aquel cuyo estado no se puede modificar después de su creación, en contraste con los objetos mutables, que se pueden modificar después de su creación.
En LilyPond, las propiedades inmutables o compartidas definen el
estilo y comportamiento predeterminados de los grobs. Se
comparten por parte de muchos objetos. En aparente contradicción
con su nombre, se pueden cambiar utilizando \override
y
\revert
.
Véase también
Referencia de la notación: mutable.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < inmutable ] | [ Subir : Glosario técnico ] | [ lexer (analizador léxico) > ] |
interfaz
Las acciones y propiedades comunes a un conjunto de grobs se
agrupan en un objeto denominado interfaz de grob
(grob-inerface)
, o abreviadamente ‘interfaz’.
Véase también
Manual de aprendizaje: Objetos e interfaces, Convenciones de nombres de objetos y propiedades, Propiedades de los interfaces.
Referencia de la notación: Interfaces de la presentación.
Referencia de funcionamiento interno: Graphical Object Interfaces.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < interfaz ] | [ Subir : Glosario técnico ] | [ mutable > ] |
lexer (analizador léxico)
Un lexer o analizador léxico es un programa que convierte una secuencia de caracteres en una secuencia de elementos o tokens, en un proceso que se llama análisis léxico. El analizador léxico de LilyPond convierte el flujo obtenido a partir de un archivo de entrada ‘.ly’ en un flujo descompuesto en tokens más apto para la siguiente fase del procesado: el análisis sintáctico, véase parser (analizador sintáctico). El analizador léxico de LilyPond lexer está construido con la herramienta Flex a partir del archivo de lexer ‘lily/lexer.ll’ que contiene las reglas léxicas. Este archivo es parte del código fuente y no se incluye dentro de la instalación binaria de LilyPond.
mutable
Un objeto mutable es aquél cuyo estado se puede modificar después de su creación, en contraste con un objeto inmutable, cuyo estado se fija en el momento de la creación.
En LilyPond, las propiedades mutables contienen valores específicos de un grob. Por lo general, las listas de otros objetos o los resultados de los cálculos se almacenan en propiedades mutables.
Véase también
Referencia de la notación: inmutable.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < mutable ] | [ Subir : Glosario técnico ] | [ parser (analizador sintáctico) > ] |
output-def (definición de salida)
Una instancia de la clase Output-def
contiene los métodos y
estructuras de datos asociados con un bloque de salida. Se crean
instancias parra los bloques midi, layout y paper.
parser (analizador sintáctico)
Un parser o analizador sintáctico analiza la secuencia de tokens o elementos léxicos producida por un analizador léxico para determinar su estructura gramatical, agrupando los elementos léxicos en conjuntos mayores según las reglas de la gramática. Si la secuencia de elementos léxicos es válida, el producto final es un árbol de tokens cuya raíz es el símbolo inicial de la gramática. Si no se puede conseguir esto, el archivo es inválido y se produce un mensaje de error adecuado. Las agrupaciones sintácticas y las reglas para construir estas agrupaciones a partir de sus elementos constituyentes para la sintaxis de LilyPond están definidas en ‘lily/parser.yy’ y se muestran en la forma normal de Backus (BNF) dentro de grammar LilyPond grammar. Este archivo se usa para construir el analizador sintáctico durante la compilación del programa por parte del generador de analizadores sintácticos, Bison. Es parte del código fuente y no se incluye dentro de la instalación binaria de LilyPond.
variable del analizador sintáctico
Son variables definidas directamente dentro de Scheme. Su uso directo por parte de los usuarios está fuertemente desaconsejado, porque su semántica de ámbito puede ser confusa.
Cuando el valor de una de estas variables se modifica dentro de un
archivo ‘.ly’, el cambio es global, y a no ser que se
revierta explícitamente, el nuevo valor persistirá hasta el final
del archivo, afectando a todos los bloques \score
así como
a los archivos externos añadidos con la instrucción
\include
. Esto puede conducir a consecuencias imprevistas
y en proyectos de composición tipográfica complejos puede ser
difícil de rastrear.
LilyPond utiliza las siguientes variables del analizador sintáctico:
- afterGraceFraction
- musicQuotes
- mode
- output-count
- output-suffix
- partCombineListener
- pitchnames
- toplevel-bookparts
- toplevel-scores
- showLastLength
- showFirstLength
prob (objeto de propiedades)
Los OBjetos de PRopiedades, o abreviadamente probs, son
instancias de la clase Prob
, que es una sencilla clase
básica que tiene listas-A de propiedades mutables e inmutables y
los métodos para manipularlas. Las clases Music
y
Stream_event
derivan de Prob
. También se crean
instancias de la clase Prob
para almacenar el contenido
formateado de los grobs del sistema y los bloques de títulos
durante el proceso de disposición de la página.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < prob (objeto de propiedades) ] | [ Subir : Glosario técnico ] | [ stencil (sello) > ] |
smob (objeto de Scheme)
Los Smobs, u OBjetos de ScheMe, forman parte del mecanismo utilizado por Guile para exportar objetos de C y de C++ al código de Scheme. En LilyPond, se crean smobs a partir de objetos de C++ por medio de macros. Hay dos tipos de objetos smob: los smobs simples, orientados a objetos inmutables simples como números, y los smobs complejos, usados para objetos con identidades. Si tiene acceso a las fuentes de LilyPond sources, encontrará más información en ‘lily/includes/smob.hh’.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < smob (objeto de Scheme) ] | [ Subir : Glosario técnico ] | [ Funciones musicales disponibles > ] |
stencil (sello)
Las instancias de la clase stencil contienen la información necesaria para imprimir un objeto tipográfico. Es un smob simple que contiene una caja de confinamiento, que a su vez define las dimensiones vertical y horizontal del objeto, y una expresión de Scheme que imprime el objeto cuendo se evalúa. Los stencils o sellos se pueden combinar para formar sellos más complejos definidos por un árbol de expresiones de Scheme formado a partir de las expresiones de Scheme de los sellos que lo componen.
La propiedad stencil
, que conecta a un grob con su sello,
se define dentro del interfaz grob-interface
.
Véase también
Referencia de funcionamiento interno: grob-interface.
[ << Tablas del manual sobre notación ] | [Arriba][Índice general][Índice] | [ Hoja de referencia rápida >> ] |
[ < smob (objeto de Scheme) ] | [ Subir : Glosario técnico ] | [ Funciones musicales disponibles > ] |