code: def parse_assignment(self, stream):
          
          lineno = stream.lineno
          name = self.next_token(stream)
          self.ensure_assignment(stream)
          at_an_end = any((
              self.has_end_group(stream),
              self.has_end_object(stream),
              self.has_end(stream),
              self.has_next(self.statement_delimiter, stream, 0)))
          if at_an_end:
              value = self.broken_assignment(lineno)
              self.skip_whitespace_or_comment(stream)
          else:
              value = self.parse_value(stream)
          self.skip_statement_delimiter(stream)
          return name.decode('utf-8'), value
docs: AssignmentStmt ::= Name WSC AssignmentSymbol WSC Value StatementDelim