code: def test_soft_keywords(self) -> None:
      grammar_source = """
          start: expr+ NEWLINE? ENDMARKER
          expr: "foo"
          """
      grammar = parse_string(grammar_source, GrammarParser)
      parser_source = generate_c_parser_source(grammar)
      assert "expect_soft_keyword" in parser_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 26 for calling the TestCParser obj's underlying member method code with example usage: obj.test_soft_keywords() without return types