'Consumes a ; or , character.
Returns the number of charactes consumed. (Does not update
self.offset)'

def parse_separator(self):

    curr_char = self.formula[self.offset]
    assert (curr_char in (';', ','))
    if (curr_char == ';'):
        token = Token.make_separator(';')
    else:
        try:
            top_type = self.token_stack[(-1)].type
        except IndexError:
            token = Token(',', Token.OP_IN)
        else:
            if (top_type == Token.PAREN):
                token = Token(',', Token.OP_IN)
            else:
                token = Token.make_separator(',')
    self.items.append(token)
    return 1
