parameters: (self, p)
docstring: ext_attr_list : SYMBOL '=' SYMBOL ext_attr_cont
                       | SYMBOL '=' value ext_attr_cont
                       | SYMBOL '=' SYMBOL param_list ext_attr_cont
                       | SYMBOL ext_attr_cont
docstring_summary: ext_attr_list : SYMBOL '=' SYMBOL ext_attr_cont
                       | SYMBOL '=' value ext_attr_cont
                       | SYMBOL '=' SYMBOL param_list ext_attr_cont
                       | SYMBOL ext_attr_cont
docstring_tokens: ext_attr_list : SYMBOL = SYMBOL ext_attr_cont | SYMBOL = value ext_attr_cont | SYMBOL = SYMBOL param_list ext_attr_cont | SYMBOL ext_attr_cont
function: def p_ext_attr_list(self, p):
      """ext_attr_list : SYMBOL '=' SYMBOL ext_attr_cont
                       | SYMBOL '=' value ext_attr_cont
                       | SYMBOL '=' SYMBOL param_list ext_attr_cont
                       | SYMBOL ext_attr_cont"""
      # If there are 4 tokens plus a return slot, this must be in the form
      # SYMBOL = SYMBOL|value ext_attr_cont
      if len(p) == 5:
        p[0] = ListFromConcat(self.BuildAttribute(p[1], p[3]), p[4])
      # If there are 5 tokens plus a return slot, this must be in the form
      # SYMBOL = SYMBOL (param_list) ext_attr_cont
      elif len(p) == 6:
        member = self.BuildNamed('Member', p, 3, [p[4]])
        p[0] = ListFromConcat(self.BuildAttribute(p[1], member), p[5])
      # Otherwise, this must be: SYMBOL ext_attr_cont
      else:
        p[0] = ListFromConcat(self.BuildAttribute(p[1], 'True'), p[2])
      if self.parse_debug: DumpReduction('ext_attribute_list', p)
function_tokens: def p_ext_attr_list ( self , p ) : # If there are 4 tokens plus a return slot, this must be in the form # SYMBOL = SYMBOL|value ext_attr_cont if len ( p ) == 5 : p [ 0 ] = ListFromConcat ( self . BuildAttribute ( p [ 1 ] , p [ 3 ] ) , p [ 4 ] ) # If there are 5 tokens plus a return slot, this must be in the form # SYMBOL = SYMBOL (param_list) ext_attr_cont elif len ( p ) == 6 : member = self . BuildNamed ( 'Member' , p , 3 , [ p [ 4 ] ] ) p [ 0 ] = ListFromConcat ( self . BuildAttribute ( p [ 1 ] , member ) , p [ 5 ] ) # Otherwise, this must be: SYMBOL ext_attr_cont else : p [ 0 ] = ListFromConcat ( self . BuildAttribute ( p [ 1 ] , 'True' ) , p [ 2 ] ) if self . parse_debug : DumpReduction ( 'ext_attribute_list' , p )