@staticmethod
def sourceloc(token):
    """ Return the source location for a given token
        """
    lineno = token[5]
    colno = offset = -token[0] + 1
    if lineno != 1:
        colno -= token[-1].source.rfind('\n', 0, offset) + 1
    return offset, lineno, colno
