]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/design
58cd69a0c5e568fe4246abf89796299387d15923
[lilypond.git] / Documentation / design
1 LilyPond is a "5-pass" system:
2
3 1. Parsing:
4
5 No difficult algorithms. Associated datastructures have prefix Input
6 (eg Input_score, Input_command)
7
8 2. Processing:
9
10 Requests are processed and granted. In this step data-structures for
11 3. are created and filled with data: PScore, PCol, PStaff
12
13 3. Calculation:
14
15 This step uses structures which have names starting with 'P'.
16 linebreaks and horizontal positions of PCols are determined. Line_of_*
17 generated.
18
19 4. Postprocesing:
20
21 Some items and all spanners need computation after the PCol positions
22 are determined.
23
24 5. Output
25