def p_term_var(self, p):
        ''' term   :    VAR 
        '''
        _LOGGER.debug("term -> VAR")
        
        # TODO: determine the type of the var
        if p[1] not in self._VAR_VALUES:
            if self._autodefine_vars:
                self._VAR_VALUES[p[1]] = TypedClass(None, TypedClass.UNKNOWN)
                
        if p[1] in self._VAR_VALUES:
            _LOGGER.debug("term -> VAR")
            p[0] = self._VAR_VALUES[p[1]]
        else:
            raise UndefinedVar()
term   :    VAR