code: def p_ArgList(p):
      '''
      ArgList :
              | Arg
              | ArgList COMMA Arg
      '''
      if len(p) == 1:
          p[0] = ArgList(None, None)
      elif len(p) == 2:
          p[0] = ArgList(None, p[1])
      else:
          p[0] = ArgList(p[1], p[3]f p_ArgList(p):
      '''
      ArgList :
              | Arg
              | ArgList COMMA Arg
      '''
      if len(p) == 1:
          p[0] = ArgList(None, None)
      elif len(p) == 2:
          p[0] = ArgList(None, p[1])
      else:
          p[0] = ArgList(p[1], p[3])
docs: ArgList :
              | Arg
              | ArgList COMMA Arg