1. A method of processing data in a digital processing system, said method comprising: receiving an input stream containing a sequence of symbols; identifying a longest string from a present symbol matching a first token in a dictionary, said dictionary containing a plurality of entries, each entry associating a token to a corresponding code, a first entry of said plurality of entries associating said first token to a first code; emitting the code corresponding to said first token in a corresponding entry, as an output code to an output stream; adding a second entry and a third entry to said dictionary, wherein said second entry associates (said longest string+symbol succeeding said longest string in said input stream) to a first available code according to said dictionary, wherein said third entry associates (a previous token+symbol succeeding said previous token in said input stream) to a second available code according to said dictionary, wherein said previous token represents the token of said second entry in a previous iteration, wherein ‘+’ represents a text appending operation, wherein said emitting and said adding are performed in response to said identifying of said longest string from said present symbol; and performing a next iteration of said identifying, said emitting and said adding with said present symbol set to the symbol succeeding said longest string in said input stream.