code: def p_expression_inlist(self, p):
          ''' expression    :   expression IN lexp 
          '''
          _LOGGER.debug("expresion -> expresion IN lexp")
  
          if self._autodefine_vars:
              self._init_vars(TypedList([]), p[3])
  
          if p[3].type != TypedClass.LIST: raise TypeError("expected list for IN operator")
          
          retval = False
          for v in p[3].value:
              if p[1] == v:
                  retval = True
                  break
          
          p[0] = TypedClass(retval, TypedClass.BOOLEANf p_expression_inlist(self, p):
          ''' expression    :   expression IN lexp 
          '''
          _LOGGER.debug("expresion -> expresion IN lexp")
  
          if self._autodefine_vars:
              self._init_vars(TypedList([]), p[3])
  
          if p[3].type != TypedClass.LIST: raise TypeError("expected list for IN operator")
          
          retval = False
          for v in p[3].value:
              if p[1] == v:
                  retval = True
                  break
          
          p[0] = TypedClass(retval, TypedClass.BOOLEAN)
docs: expression    :   expression IN lexp