class_docstr: The parser for Python grammar files.
class_docstr_tok: ["The","parser","for","Python","grammar","files","."]
code: def parse(self) -> Iterator[Tuple[NFAState, NFAState]]:
      # grammar: (NEWLINE | rule)* ENDMARKER
      while self.type != PythonTokenTypes.ENDMARKER:
          while self.type == PythonTokenTypes.NEWLINE:
              self._gettoken()
  
          # rule: NAME ':' rhs NEWLINE
          self._current_rule_name = self._expect(PythonTokenTypes.NAME)
          self._expect(PythonTokenTypes.OP, ":")
  
          a, z = self._parse_rhs()
          self._expect(PythonTokenTypes.NEWLINE)
  
          yield a, z
  
imports: from typing import Optional, Iterator, Tuple, List
  from parso.python.tokenize import tokenize
  from parso.utils import parse_version_string
  from parso.python.token import PythonTokenTypes
label_desc: Use image node_id 2 for calling the GrammarParser obj's underlying member method code with example usage: obj.parse() without return types