+@node Context
+@section Context
+
+When music is printed, a lot of things notation elements must be added
+to the input, which is often bare bones. For example, compare the
+input and output of the following example
+
+@lilypond[verbatim,relative=2]
+ cis4 cis2. g4
+@end lilypond
+
+The input is rather sparse, but in the output, bar lines, accidentals,
+clef and time signature are added. LilyPond @emph{interprets} the
+input. During this step, the musical information is inspected in time
+order, similar to reading a score from left to right. While reading,
+the program remembers where measure boundaries are, and what pitches
+need explicit accidentals.
+
+This information can be present on several levels. For example, the
+effect of an accidental is limited to a single stave, while a bar line
+must be synchronized across the entire score. To match this
+hierarchy, LilyPond's interpretation step is hierarchical. Properties
+are maintained `interpretation contexts', like Voice, Staff and Score,
+and each context can have different @emph{properties}, variables that
+are contained in a context.
+