def _doit(self):
while len(self._truisms):<EOL><INDENT>truism = self._truisms.pop()<EOL>if truism in self._processed_truisms:<EOL><INDENT>continue<EOL><DEDENT>unpacked_truisms = self._unpack_truisms(truism)<EOL>self._processed_truisms.add(truism)<EOL>if len(unpacked_truisms):<EOL><INDENT>self._queue_truisms(unpacked_truisms, check_true=True)<EOL>continue<EOL><DEDENT>if not self._handleable_truism(truism):<EOL><INDENT>continue<EOL><DEDENT>truism = self._adjust_truism(truism)<EOL>assumptions = self._get_assumptions(truism)<EOL>if truism not in self._identified_assumptions and len(assumptions):<EOL><INDENT>l.debug("<STR_LIT>", assumptions, truism)<EOL>self._truisms.extend(assumptions)<EOL>self._identified_assumptions.update(assumptions)<EOL><DEDENT>l.debug("<STR_LIT>", truism)<EOL>balanced_truism = self._balance(truism)<EOL>l.debug("<STR_LIT>")<EOL>self._handle(balanced_truism)<EOL><DEDENT>
This function processes the list of truisms and finds bounds for ASTs.