code: def rules(self) -> Optional[RuleList]:
      # rules: rule rules | rule
      mark = self._mark()
      if (rule := self.rule()) and (rules := self.rules()):
          return [rule] + rules
      self._reset(mark)
      if rule := self.rule():
          return [rule]
      self._reset(mark)
      return None
  
imports: import ast
  import sys
  import tokenize
  from typing import Any, Optional
  from pegen.parser import memoize, memoize_left_rec, logger, Parser
  from ast import literal_eval
  from pegen.grammar import Alt, Cut, Forced, Gather, Group, Item, Lookahead, LookaheadOrCut, MetaTuple, MetaList, NameLeaf, NamedItem, NamedItemList, NegativeLookahead, Opt, Plain, PositiveLookahead, Repeat0, Repeat1, Rhs, Rule, RuleList, RuleName, Grammar, StringLeaf
label_desc: Use image node_id 5 for calling the GeneratedParser obj's underlying member method code with example usage: obj.rules() and returns: None, unknown, list