  Grammar-based compression is a popular and powerful approach to compressing
repetitive texts but until recently its relatively poor time-space trade-offs
during real-life construction made it impractical for truly massive datasets
such as genomic databases. In a recent paper (SPIRE 2019) we showed how simple
pre-processing can dramatically improve those trade-offs, and in this paper we
turn our attention to one of the features that make grammar-based compression
so attractive: the possibility of supporting fast random access. This is an
essential primitive in many algorithms that process grammar-compressed texts
without decompressing them and so many theoretical bounds have been published
about it, but experimentation has lagged behind. We give a new encoding of
grammars that is about as small as the practical state of the art (Maruyama et
al., SPIRE 2013) but with significantly faster queries.
