Parses a range
         Range ::= <num> | <num> ('..' | '^') <num>

def _parse_interval(self, tokens):
        """ Parses a range
         Range ::= <num> | <num> ('..' | '^') <num>
        """
        fr = int(tokens.pop(0)) - 1
        if len(tokens) > 1 and tokens[0] in ['..', '^']:
            tokens.pop(0)  # Pop '..' | '^'
            to = int(tokens.pop(0))
            return GenomicInterval(fr, to, chromosome=self.hdr['ACCESSION']['value'])
        return GenomicInterval(fr, fr + 1, chromosome=self.hdr['ACCESSION']['value'])