1. A method of parsing data, the method comprising: receiving the data at a parsing unit, wherein the data comprises a plurality of expressions; comparing at least one of the expressions in the data to at least one of a plurality of known expressions stored in an ordered list, wherein the at least one expression is compared to a first known expression in the ordered list and, if the at least one expression does not match the first known expression, the at least one expression is compared to subsequent known expressions in an order in which they are stored in the ordered list until the at least one expression is matched to a known expression, or until it is determined that the at least one expression does not match any of the known expressions; and automatically reordering the known expressions of the ordered list based at least in part on matches between the expressions and the known expressions.