code: def test_c_parser(self) -> None:
      grammar_source = """
          start[mod_ty]: a[asdl_stmt_seq*]=stmt* $ { _PyAST_Module(a, NULL, p->arena) }
          stmt[stmt_ty]: a=expr_stmt { a }
          expr_stmt[stmt_ty]: a=expression NEWLINE { _PyAST_Expr(a, EXTRA) }
          expression[expr_ty]: ( l=expression '+' r=term { _PyAST_BinOp(l, Add, r, EXTRA) }
                              | l=expression '-' r=term { _PyAST_BinOp(l, Sub, r, EXTRA) }
                              | t=term { t }
                              )
          term[expr_ty]: ( l=term '*' r=factor { _PyAST_BinOp(l, Mult, r, EXTRA) }
                      | l=term '/' r=factor { _PyAST_BinOp(l, Div, r, EXTRA) }
                      | f=factor { f }
                      )
          factor[expr_ty]: ('(' e=expression ')' { e }
                          | a=atom { a }
                          )
          atom[expr_ty]: ( n=NAME { n }
                      | n=NUMBER { n }
                      | s=STRING { s }
                      )
          """
      test_source = """
          expressions = [
              "4+5",
              "4-5",
              "4*5",
              "1+4*5",
              "1+4/5",
              "(1+1) + (1+1)",
              "(1+1) - (1+1)",
              "(1+1) * (1+1)",
              "(1+1) / (1+1)",
          ]
  
          for expr in expressions:
              the_ast = parse.parse_string(expr, mode=1)
              expected_ast = ast.parse(expr)
              self.assertEqual(ast_dump(the_ast), ast_dump(expected_ast))
          """
      self.run_test(grammar_source, test_source)
  
imports: import contextlib
  import subprocess
  import sysconfig
  import textwrap
  import unittest
  import os
  import shutil
  import tempfile
  from pathlib import Path
  from test import test_tools
  from test import support
  from test.support import os_helper, import_helper
  from test.support.script_helper import assert_python_ok
label_desc: Use image node_id 6 for calling the TestCParser obj's underlying member method code with example usage: obj.test_c_parser() without return types