Domainchg(Domain x1,Component-x x2)
Ersetzen einer Komponente des Tree x1 mit x2
Nomenklatur Der Name wird nicht mit dem Namen des jeweiligen Elementtyps erzeugt, sondern mit dem Namen der Komponente OHNE das führende s_ .
Das überschriebene Objekt wird NICHT gelöscht.
x1 wird zerstört (im Gegensatz zu subst)
funccfold(func11,func12,...,func1n,func2,func3)
#typedef Result func(Domain)
#typedef Result func11(Component1)
#typedef Result func12(Component2)
#typedef Result func1n(Componentn)
#typedef Result func2(void)
#typedef Result func3(Result,Result)
Funktional
Die Namen der Argument-Funktionen werden mit den Implementationsparametern CVFCT, NULLFCT und FOLDFCT festgelegt, der Resultattyp mit dem Parameter RESULT. CVFCT enthält pro Komponente des Tree eine Konvertierungsfunktion, die mit dem Namen des jeweiligen Elementtyps erweitert wird. Die genaue Spezifikation können Sie mit vdminfo ermitteln.
Beispiele für fold-Funktionen siehe Sets, Maps, Tuples
Boolis_ge(Domain x1,Domain x2)
Test, ob x1 x2 ist
Boolis_gr(Domain x1,Domain x2)
Test, ob x1 > x2 ist
Domainmk(Component1 x1,...,Componentn xn)
Erzeugt einen Tree aus den Komponenten
Component-xs(Domain x1)
Eine Komponente des Tree wird geliefert
Nomenklatur Der Name wird nicht mit dem Namen des jeweiligen Elementtyps erweitert, sondern mit dem Namen der Komponente OHNE das führende s_ . Der Operationsname ist also identisch mit dem Komponentennamen!
funcsfold(func11,func12,...,func1n,func2,func3)
#typedef Result func(Domain)
#typedef Result func11(Component1)
#typedef Result func12(Component2)
#typedef Result func1n(Componentn)
#typedef Result func2(void)
#typedef Result func3(Result,Result)
Funktional
Die Namen der drei Argument-Funktionen werden mit den Implementationsparametern CVFCT, NULLFCT und FOLDFCT festgelegt, der Resultattyp mit dem Parameter RESULT. CVFCT enthält pro Komponente des Tree eine Konvertierungsfunktion, die mit dem Namen der jeweiligen Selektor-Operation erweitert wird. Die genaue Spezifikation können Sie mit vdminfo ermitteln.
Beispiele für fold-Funktionen siehe Sets, Maps, Tuples
Domainsubst(Domain x1,Component-x x2)
Ersetzen einer Komponente des Tree x1 mit x2, wobei der Tree kopiert wird -- das Original bleibt also unversehrt (im Unterschied zu chg)
Nomenklatur Der Name wird nicht mit dem Namen des jeweiligen Elementtyps erzeugt, sondern mit dem Namen der Komponente OHNE das führende s_ .
VDM Class Library