1. A computer-implemented method for generating side information for grammar-based data compression systems, the method comprising: obtaining an admissible grammar (G) for an input sequence (A(s 0 )) having a finite set of terminal symbols, the admissible grammar having a finite set of variables (S(j)), including a starting variable (s 0 ) representing the input sequence (A(s 0 )), and a production rule for each variable in the finite set of variables (S(j)); constructing a graph representation of the admissible grammar (G), the graph representation including nodes for each variable in the finite set of variables and each terminal symbol in the finite set of terminal symbols, including a root node representing the starting variable (s 0 ) and directed edges linking the nodes, each directed edge representing an instance of a variable or a terminal symbol in the admissible grammar (G) as defined by the production rules, and each directed edge having an expansion frequency, wherein the expansion frequency of directed edges originating from the root node has a value of ‘1’, and expansion frequencies of directed edges emanating from each non-root node are determined in accordance with the sum of expansion frequencies of directed edges input to the non-root node; pruning, from the graph representation, a directed edge having a lowest expansion frequency to generate a pruned graph representation; deriving a pruned grammar (G i ); and expanding a starting variable (s 0,i ) of the pruned grammar (G i ) to generate the side information.