def parse_iter(self, pos, tag, lineindex, it, src=None):
	dotchar = self.dotchar
	quotechar = self.quotechar
	children = []
	firstline = lineindex
    
	while 1:
	    try:
		lineindex, next = it.next()
	    except __HOLE__:
		next = None
		break
	    if not next.startswith(dotchar):
		tag.append(next)
	    else:
		break
	for (i, t) in enumerate(tag):
	    if (t.startswith(quotechar+dotchar) or
		t.startswith(quotechar+quotechar+dotchar)):
		tag[i] = t[len(quotechar):]
	if tag == ['']:
	    tag = '\n'
	else:
	    tag = '\n'.join(tag)
	while 1:
	    if (next is None or len(next) <= pos
		or next[pos] != dotchar or
		not next.startswith(dotchar*(pos+1))):
		return lineindex, next, self.node(tag, children, firstline)
	    if len(next) > pos+1 and next[pos+1] == dotchar:
                if src is None:
                    raise SyntaxError, 'Level must increase with 1 max'
                else:
                    src.error('Level must increase with 1 max', lineindex)
	    lineindex, next, child = self.parse_iter(pos+1, [next[pos+1:]],
                                                     lineindex, it, src)
	    children.append(child)
dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/guppy-0.1.10/guppy/gsl/DottedTree.py/_GLUECLAMP_.parse_iter