'Parse a list of arguments starting at ``pos``, returning a
list of Expression objects. Does not modify ``parts``. Should
leave ``pos`` pointing to a } character or the end of the
string.'

def parse_argument_list(self):

    expressions = []
    while (self.pos < len(self.string)):
        subparser = Parser(self.string[self.pos:], in_argument=True)
        subparser.parse_expression()
        expressions.append(Expression(subparser.parts))
        self.pos += subparser.pos
        if ((self.pos >= len(self.string)) or (self.string[self.pos] == GROUP_CLOSE)):
            break
        assert (self.string[self.pos] == ARG_SEP)
        self.pos += 1
    return expressions
