  We present simple and efficient algorithms for calculating $q$-gram
frequencies on strings represented in compressed form, namely, as a straight
line program (SLP). Given an SLP of size $n$ that represents string $T$, we
present an $O(qn)$ time and space algorithm that computes the occurrence
frequencies of $q$-grams in $T$. Computational experiments show that our
algorithm and its variation are practical for small $q$, actually running
faster on various real string data, compared to algorithms that work on the
uncompressed text. We also discuss applications in data mining and
classification of string data, for which our algorithms can be useful.
