10. A computer-implemented system for compressing input data arranged in a data stream of one or more records 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 a 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 system comprising primer means for initializing a parse-tree with a plurality of said paths representing a set of said source symbol strings, each said path having at least one node with a unity use count value; pointer means for setting a current input pointer at the beginning of said data stream; comparator means for determining the longest said source symbol sequence S, represented by a path P in said parse-tree, that matches a current said source symbol sequence in said data stream beginning at said current input pointer; adder means for incrementing said use count value for all nodes in said path P; extender means for adding a new node N having a unity use count value to the end of said path P to form a new path P' representing a new source symbol sequence S' consisting of said string S extended by at least one immediately subsequent source symbol in said data stream; register means for advancing said current input pointer to immediately after said sequence S' in said data stream; counter means for determining when the number of said nodes in said parse-tree exceeds a first predetermined plurality of nodes; first linker means for sequentially linking each childless node in said parse tree to form a leaf node chain; node combiner means for combining with its parent node a child node in said leaf node chain having a single-child parent node for which said use count value differs by no more than one from said use count value for said child node, thereby forming a new leaf node; transformer means for assembling said nodes with the associated said paths to form said static dictionary; and storage means for storing said static dictionary in said memory.
11. The computer implemented system of claim 10 further comprising: node pruner means for deleting each said node in said leaf node chain having a use count value less than or equal to a predetermined use count value threshold.