def spg(self):
        if self._spg is None:
            self._spg = rply.ParserGenerator(
                [rule.name for rule in lexers.slg.rules],
                precedence=[]
            )
        return self._spg