def parse_definitions(self, class_, all=False):
while self.current is not None:<EOL><INDENT>self.log.debug(<EOL>"<STR_LIT>",<EOL>self.current.kind,<EOL>self.current.value,<EOL>)<EOL>self.log.debug("<STR_LIT>", self.stream.got_logical_newline)<EOL>if all and self.current.value == "<STR_LIT>":<EOL><INDENT>self.parse_all()<EOL><DEDENT>elif (<EOL>self.current.kind == tk.OP<EOL>and self.current.value == "<STR_LIT:@>"<EOL>and self.stream.got_logical_newline<EOL>):<EOL><INDENT>self.consume(tk.OP)<EOL>self.parse_decorators()<EOL><DEDENT>elif self.current.value in ["<STR_LIT>", "<STR_LIT:class>"]:<EOL><INDENT>yield self.parse_definition(class_._nest(self.current.value))<EOL><DEDENT>elif self.current.kind == tk.INDENT:<EOL><INDENT>self.consume(tk.INDENT)<EOL>for definition in self.parse_definitions(class_):<EOL><INDENT>yield definition<EOL><DEDENT><DEDENT>elif self.current.kind == tk.DEDENT:<EOL><INDENT>self.consume(tk.DEDENT)<EOL>return<EOL><DEDENT>elif self.current.value == "<STR_LIT>":<EOL><INDENT>self.parse_from_import_statement()<EOL><DEDENT>else:<EOL><INDENT>self.stream.move()<EOL><DEDENT><DEDENT>
Parse multiple definitions and yield them.