# Tree-Shape Grammars for Random Access

Shape grammars are well known in the graphics and design communities but are not such a common tool for researchers working in bioinformatics, data compression, data structures or formal languages. We are now investigating how to use shape grammars for the parse trees of straight-line programs (SLPs) to reduce the space needed to support random access to the strings those SLPs encode. Currently the smallest data structure supporting random access to a string S using an SLP G takes 2 |G| + |G| |G| + o (|G|) bits for the SLP and |G| (|S| / |G|) + O (|G|) bits so we can compute the lengths of the expansions of non-terminals.

READ FULL TEXT