code: def test_invalid_rule_name(self) -> None:
      grammar = """
          start: _a b
          _a: 'a'
          b: 'b'
          """
      with self.assertRaisesRegex(
          GrammarError, "cannot start with underscore: '_a'"
      ):
          parser_class = make_parser(grammar)
  
imports: import ast
  import difflib
  import io
  import textwrap
  import unittest
  from test import test_tools
  from typing import Dict, Any
  from tokenize import TokenInfo, NAME, NEWLINE, NUMBER, OP
label_desc: Use image node_id 30 for calling the TestPegen obj's underlying member method code with example usage: obj.test_invalid_rule_name() without return types