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.BOOLEAN)
def p_expression_inlist ( self , p ) : _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 )
expression    :   expression IN lexp