expression    :   expression SUBSET VAR

def p_expression_subsetvar(self, p):
        ''' expression    :   expression SUBSET VAR 
        '''
        _LOGGER.debug("expresion -> expresion SUBSET VAR")
    
        if p[3] not in self._VAR_VALUES:
            if self._autodefine_vars:
                self._VAR_VALUES[p[3]] = TypedList([])
            else:
                raise TypeError("lists expected for SUBSET operator")
            
        l = self._VAR_VALUES[p[3]]
        if l.type != TypedList.LIST: raise TypeError("lists expected for SUBSET operator")
        p[3] = l
        
        self.p_expression_subsetlist(p)