class_docstr: This class is used to parse a Python file, it then divides them into a
  class structure of different scopes.
  
  :param pgen_grammar: The grammar object of pgen2. Loaded by load_grammar.
class_docstr_tok: ["This","class","is","used","to","parse","a","Python","file",",","it","then","divides","them","into","a","class","structure","of","different","scopes",".",":","param","pgen_grammar",":","The","grammar","object","of","pgen2",".","Loaded","by","load_grammar","."]
docstr: Convert raw node information to a PythonBaseNode instance.
  
  This is passed to the parser driver which calls it whenever a reduction of a
  grammar rule produces a new complete node, so that the tree is build
  strictly bottom-up.
docstr_tok: ["Convert","raw","node","information","to","a","PythonBaseNode","instance",".","This","is","passed","to","the","parser","driver","which","calls","it","whenever","a","reduction","of","a","grammar","rule","produces","a","new","complete","node",",","so","that","the","tree","is","build","strictly","bottom-up","."]
code: def convert_node(self, nonterminal, children):
      """
      Convert raw node information to a PythonBaseNode instance.
  
      This is passed to the parser driver which calls it whenever a reduction of a
      grammar rule produces a new complete node, so that the tree is build
      strictly bottom-up.
      """
      try:
          node = self.node_map[nonterminal](children)
      except KeyError:
          if nonterminal == "suite":
              # We don't want the INDENT/DEDENT in our parser tree. Those
              # leaves are just cancer. They are virtual leaves and not real
              # ones and therefore have pseudo start/end positions and no
              # prefixes. Just ignore them.
              children = [children[0]] + children[2:-1]
          elif nonterminal == "list_if":
              # Make transitioning from 2 to 3 easier.
              nonterminal = "comp_if"
          elif nonterminal == "listmaker":
              # Same as list_if above.
              nonterminal = "testlist_comp"
          node = self.default_node(nonterminal, children)
      for c in children:
          c.parent = node
      return node
  
file_path: catboost/contrib/python/parso/py2/parso/python/parser.py
imports: from parso.python import tree
  from parso.python.token import PythonTokenTypes
  from parso.parser import BaseParser
label_desc: Use image node_id 3 for calling the Parser obj's underlying member method code with example usage: obj.convert_node(nonterminal, children) and returns: node