1. A computer program product for use with a computer-implemented system for compressing input data consisting of sequences of source symbols selected from a source alphabet to form output data consisting of sequences of code symbols selected from a code alphabet according to a static dictionary stored in memory, said dictionary representing a static parse-tree having nodes representing said code symbols, said nodes being linked into paths representing said source symbol sequences, said computer program product comprising: a recording medium; means, recorded on said recording medium, for directing said computer-implemented system to repeatedly perform the steps of determining a source symbol sequence from said input data, adding at least one node to said parse-tree responsive to said source symbol sequence, and assigning a use count value to said at least one node responsive to the number of said source symbol sequence occurrences; and means, recorded on said recording medium, for directing said computer-implemented system to reduce said parse-tree to a first predetermined plurality of nodes by repeatedly deleting from said parse-tree one or more childless nodes having a use count value less than a predetermined use count value threshold.