01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: //
09: //
10:
11: package de.uka.ilkd.key.logic.op;
12:
13: import de.uka.ilkd.key.java.Services;
14: import de.uka.ilkd.key.logic.Term;
15: import de.uka.ilkd.key.rule.inst.SVInstantiations;
16:
17: /**
18: * This is the interface for MetaOperators, which are used to do complex term
19: * transformation when applying a taclet. Often these transformation cannot be
20: * described with the taclet scheme (or trying to do so would result in a huge
21: * number of rules). The available singletons of this meta operators are kept
22: * here.
23: */
24:
25: public interface MetaOperator extends Operator {
26:
27: /**
28: * The method calculates the resulting term. The top level operator of the
29: * specified term has to be this MetaOperator.
30: */
31: Term calculate(Term term, SVInstantiations svInst, Services services);
32:
33: public MetaOperator getParamMetaOperator(String param);
34:
35: }
|