(self, stack, tokens, key)
Handles quantifiers by defining the bound variable in the cache
        before parsing the matrix
Handles quantifiers by defining the bound variable in the cache
        before parsing the matrix
Handles quantifiers by defining the bound variable in the cache before parsing the matrix
def _enter_quantifier(self, stack, tokens, key):
        """Handles quantifiers by defining the bound variable in the cache
        before parsing the matrix
        """
        mgr = self.env.formula_manager
        vrs = []
        self.consume_opening(tokens, "expression")
        current = "("
        self.consume_opening(tokens, "expression")
        while current != ")":
            if current != "(":
                raise PysmtSyntaxError("Expected '(' in let binding", tokens.pos_info)
            vname = self.parse_atom(tokens, "expression")
            typename = self.parse_type(tokens, "expression")

            var = self._get_quantified_var(vname, typename)
            self.cache.bind(vname, var)
            vrs.append((vname, var))

            self.consume_closing(tokens, "expression")
            current = tokens.consume()

        quant = None
        if key == 'forall':
            quant = mgr.ForAll
        else:
            quant = mgr.Exists

        stack[-1].append(self._exit_quantifier)
        stack[-1].append(quant)
        stack[-1].append(vrs)
def _enter_quantifier ( self , stack , tokens , key ) : mgr = self . env . formula_manager vrs = [ ] self . consume_opening ( tokens , "expression" ) current = "(" self . consume_opening ( tokens , "expression" ) while current != ")" : if current != "(" : raise PysmtSyntaxError ( "Expected '(' in let binding" , tokens . pos_info ) vname = self . parse_atom ( tokens , "expression" ) typename = self . parse_type ( tokens , "expression" ) var = self . _get_quantified_var ( vname , typename ) self . cache . bind ( vname , var ) vrs . append ( ( vname , var ) ) self . consume_closing ( tokens , "expression" ) current = tokens . consume ( ) quant = None if key == 'forall' : quant = mgr . ForAll else : quant = mgr . Exists stack [ - 1 ] . append ( self . _exit_quantifier ) stack [ - 1 ] . append ( quant ) stack [ - 1 ] . append ( vrs )