'This method is intended to be overridden for logics that
use different operators or expressions'

def handle(self, tok, context):

    if self.isvariable(tok):
        return self.handle_variable(tok, context)
    elif (tok in Tokens.NOT_LIST):
        return self.handle_negation(tok, context)
    elif (tok in Tokens.LAMBDA_LIST):
        return self.handle_lambda(tok, context)
    elif (tok in Tokens.QUANTS):
        return self.handle_quant(tok, context)
    elif (tok == Tokens.OPEN):
        return self.handle_open(tok, context)
