| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Technical glossary
LilyPond の内部で用いられる技術的な用語やコンセプトの一覧です。これらはマニュアル、メーリング リスト、ソースコードなどに現れます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof alist
連想配列 (association list, 縮めて alist) は、キーと値を結びつける Scheme ペアです: ‘(key . value)’。例えば ‘scm/lily.scm’ には、連想配列 “type-p-name-alist”
があり、型述語 (例えば ly:music?) と型の名前 (例えば “music”)
を結びつけています。そのため、型チェックに失敗した場合には、型述語に結びついた名前がエラー メッセージに表示されます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof callback
コールバック (callback) はルーチン、関数、メソッドの一種で、他のルーチンの引数にその参照が渡されることで呼び出されるものです。このテクニックを用いて、低レベルのソフトウェア レイヤから高レベルで定義した関数を呼び出すことができます。LilyPond では、コールバックは、低レベルのアクションがどれぐらい実行されるかをユーザ レベルの Scheme コードが定義できるようにするために広く使われています。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof closure
Scheme では、クロージャ (closure) は関数 (通常はラムダ式) が変数として渡された際に作られます。クロージャは、関数のコードと共に、関数における自由変数 (つまり、関数の中で使われているが、関数の外で定義されている変数) の静的束縛 (lexical binding) への参照が含まれます。この関数が異なる引数で再度呼ばれた際、クロージャで捕捉された自由変数の束縛が、 計算で使用される自由変数の値を得るために使われます。クロージャの便利な性質の一つは、内部変数の値を複数の呼び出しの間で保持できることです。これにより、状態を保存することができます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof glyph
グリフ (glyph) は印刷される文字一つ一つの形、あるいは複数の文字が組み合わされて合字となった際の形を表します。あるスタイルや形のグリフが集まってフォントを形成し、いくつかのスタイルやサイズのフォントが集まると書体となります。
記譜法リファレンス: @ref{Fonts}, @ref{Special characters}
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof grob
LilyPon のオブジェクトの内、
符頭、符幹、スラー、タイ、運指、音部記号などの、印刷される出力におけるアイテムを表すものは、‘レイアウト オブジェクト’
(‘layout object’) またはよく グラフィカル オブジェクト
(‘GRaphical OBject’, 略して grob) と呼ばれます。これらは Grob クラスのインスタンスとして表されます。
学習マニュアル: (learning)Objects and interfaces section ‘Objects and interfaces’ in Learning Manual, (learning)Naming conventions of objects and properties section ‘Naming conventions of objects and properties’ in Learning Manual, (learning)Properties of layout objects section ‘Properties of layout objects’ in Learning Manual
内部リファレンス: (internals)grob-interface section ‘grob-interface’ in Internals Reference, (internals)All layout objects section ‘All layout objects’ in Internals Reference
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof immutable
イミュータブルな (immutable) オブジェクトは、生成された後にも状態を変更できるミュータブル オブジェクトとは異なり、生成された後は状態を変更できないオブジェクトを指します。
LilyPond では、イミュータブル プロパティまたは共有プロパティはデフォルトのスタイルや Grob の挙動を定義します。これらは多くのオブジェクトの間で共有されます。名前に反して実際には
\override や \revert で変更することができます。
記譜法リファレンス: @ref{mutable}
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof interface
複数の Grob で共通のアクションやプロパティは、grob-interface
あるいは短く‘インターフェイス’ (‘interface’) と呼ばれるオブジェクトにまとめられます。
学習マニュアル: (learning)Objects and interfaces section ‘Objects and interfaces’ in Learning Manual, (learning)Naming conventions of objects and properties section ‘Naming conventions of objects and properties’ in Learning Manual, (learning)Properties found in interfaces section ‘Properties found in interfaces’ in Learning Manual
記譜法リファレンス: @ref{Layout interfaces}
内部リファレンス: (internals)Graphical Object Interfaces section ‘Graphical Object Interfaces’ in Internals Reference
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof lexer
字句解析器 (lexer) は、文字列をトークンの列に変換する、字句解析を行うプログラムです。LilyPond の字句解析器は、‘.ly’ ファイルから取得されるストリームをトークン化したストリームに変換し、構文解析という次の処理により適した形にします。構文解析については @ref{parser} を参照してください。LilyPond の字句解析器は Flex を用いて、字句に関する規則を定義したファイル ‘lily/lexer.ll’ から作られます。このファイルはソース コードの一部であり、LilyPond のバイナリには含まれていません。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof mutable
ミュータブルな (mutable) オブジェクトは、生成された際に状態が固定されるイミュータブル オブジェクトとは異なり、生成された後にも状態を変更できるオブジェクトを指します。
LilyPond では、ミュータブル プロパティは Grob ごとに固有の値を保持するために用いられます。通常、他のオブジェクトのリストや、計算結果がミュータブル プロパティに格納されます。
記譜法リファレンス: @ref{immutable}
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof output-def
Output-def クラスのインスタンスは、出力ブロックに関連したデータ構造やメソッドを保持します。インスタンスは midi, layout, paper
ブロックに対して作られます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof parser
構文解析器 (parser, パーサ) は、字句解析器によって出力されたトークンの列を文法規則に従ってより大きなグループにまとめていくことによって、その文法的構造を決定します。トークンの列が正しいものであれば、結果はトークンの木構造となり、その根は文法の始端記号になります。結果が得られない場合には入力が誤っており、正しいエラー メッセージが出力されます。文法的なグループと、そのグループを作り上げる LilyPond の文法は、‘lily/parser.yy’ に定義されており、 (contributor)LilyPond grammar section ‘LilyPond grammar’ in Contributor’s Guide にあるようにバッカス標準形 (Backus Normal Form, BNF) で記述されています。このファイルはプログラムのビルド時に Bison にによって構文解析器を生成する際に用いられます。このファイルはソース コードの一部であり、LilyPond のバイナリには含まれていません。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof parser variable
これらは Scheme で直接定義される変数です。これらをユーザが直接操作することは、変数のスコープが難解であるため推奨されません。
このような変数が ‘.ly’ ファイル内で変更された場合、変更はグローバルに適用され、明示的に戻さない限り、新たな値がファイルの最後まで保持されます。そのため、後に続く \score
ブロックや、\include コマンドで読み込まれた外部ファイルの出力に影響します。これは予期しない結果を生み出す可能性があり、複雑なプロジェクトではエラーを追跡するのが難しくなります。
LilyPond は以下のパーサ変数を使用します:
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof prob
プロパティ オブジェクト (PRoperty OBject, 略して prob) は、Prob クラスのインスタンスであり、ミュータブルまたはイミュータブルなプロパティの連想配列や、それらを操作するメソッドを保持するシンプルな基底クラスです。Music や Stream_event クラスは Prob から派生しています。Prob クラスは、ページ レイアウトの際にシステム Grob やタイトル ブロックのフォーマットされた内容を保持するためにも生成されます。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof smob
Scheme オブジェクト (ScheMe OBjects, 略して smob) は、C や C++ オブジェクトを Scheme コードにエクスポートする際に Guile によって用いられます。LilyPond では、Scheme オブジェクトはマクロを用いて C++ オブジェクトから生成されます。Scheme オブジェクトには 2 種類あります: 数値のような単純なイミュータブル オブジェクトを格納するシンプル smob と、自身を持つオブジェクトに用いられる複合 smob です。LilyPond のソース コードがアクセスできる場合、より詳しい情報は ‘lily/includes/smobs.hh’ にあります。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof stencil
ステンシル (stencil) クラスのインスタンスは、印刷に出力されるオブジェクトの情報を保持します。ステンシルは、オブジェクトの縦方向と横方向の大きさを決定するボックスと、評価された際にオブジェクトを出力する Scheme 式からなる シンプルな Scheme オブジェクトです。いくつかのステンシルの Scheme 式を組み合わせて複雑なステンシルを定義することもできます。
stencil プロパティは、grob-inteface で定義されており、grob とステンシルを繋ぐ役目を果たします。
内部リファレンス: (internals)grob-interface section ‘grob-interface’ in Internals Reference
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] |
This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.
他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.