1. A method for creating a static dictionary, the method comprising: providing a plurality of data trees, each of the plurality of data trees comprising a root node, at least one of the plurality of data trees comprising at least one child node, wherein each root node and each child node stores an associated binary pattern, wherein each child node is adapted to store a symbol associated with the child node and an occurrence count value associated with the child node; defining a binary pattern string, the binary pattern string comprising a concatenation of the binary patterns in a direct path from the root node to a particular child node, and wherein an occurrence count value for the binary pattern string is the occurrence count value of the particular child node; and incrementing the occurrence count value of the binary pattern string when the particular child node is visited.