code: def test_advanced_left_recursive(self) -> None:
      grammar_source = """
          start: NUMBER | sign start
          sign: ['-']
          """
      grammar: Grammar = parse_string(grammar_source, GrammarParser)
      rules = grammar.rules
      nullables = compute_nullables(rules)
      compute_left_recursives(rules)
      self.assertNotIn(rules["start"], nullables)  # Not None!
      self.assertIn(rules["sign"], nullables)
      self.assertTrue(rules["start"].left_recursive)
      self.assertFalse(rules["sign"].left_recursive)
  
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 18 for calling the TestPegen obj's underlying member method code with example usage: obj.test_advanced_left_recursive() without return types