1. A machine-implemented method for parsing a mathematical expression comprising a plurality of strokes, the machine-implemented method comprising: partitioning a plurality of strokes, included in a region, using a finite set of rules based, at least in part, on expected positioning of symbols and expected types of strokes; repeating the partitioning, using the finite set of rules, until no additional regions can be created according to the finite set of rules; and recognizing at least one symbol of the mathematical expression included in at least one region created by the partitioning.