Murus : ProcTypes.def
ProcTypes is something special. It contains a lot of functions but I cannot understand what they do and also I think this module was made on April first.... First take a look at the DEF file:
DEFINITION MODULE ProcTypes; (* (c) Christian Maurer v. 7. Juli 2008 *) FROM SYSTEM IMPORT ADDRESS; TYPE Anweisungen = PROCEDURE; PROCEDURE nixtun; (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE Anweisungsspektren = PROCEDURE (ADDRESS, CARDINAL); PROCEDURE niewastun (S: ADDRESS; C: CARDINAL); (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE Bearbeitungen = PROCEDURE (ADDRESS); (* Vor.: Keine. Eff.: Nichts ist verändert. *) PROCEDURE nixbearbeiten (A: ADDRESS); (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE Bearbeitungsspektren = PROCEDURE (ADDRESS, ADDRESS, CARDINAL); PROCEDURE niewasbearbeiten (S, A: ADDRESS; C: CARDINAL); (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE bedingteBearbeitungen = PROCEDURE (ADDRESS, BOOLEAN); PROCEDURE garnixbearbeiten (A: ADDRESS; B: BOOLEAN); (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE Abbildungen = PROCEDURE (ADDRESS, ADDRESS); TYPE Abbildungsspektren = PROCEDURE (ADDRESS, ADDRESS, ADDRESS, CARDINAL); (* TYPE PaarBearbeitungen = PROCEDURE (ADDRESS, ADDRESS); PROCEDURE nix2bearbeiten (A, A1: ADDRESS); (* Vor.: Keine. Eff.: Nichts ist verändert. *) *) TYPE TripelBearbeitungen = PROCEDURE (ADDRESS, ADDRESS, ADDRESS); PROCEDURE nix3bearbeiten (A, A1, A2: ADDRESS); (* Vor.: Keine. Eff.: Nichts ist verändert. *) (* TYPE bedingtePaarBearbeitungen = PROCEDURE (ADDRESS, ADDRESS, BOOLEAN); PROCEDURE garnix2bearbeiten (A, A1: ADDRESS; B: BOOLEAN); (* Vor.: Keine. Eff.: Nichts ist verändert. *) *) TYPE bedingteTripelBearbeitungen = PROCEDURE (ADDRESS, ADDRESS, ADDRESS, BOOLEAN); PROCEDURE garnix3bearbeiten (A, A1, A2: ADDRESS; B: BOOLEAN); (* Vor.: Keine. Eff.: Nichts ist verändert. *) TYPE Bewertungen = PROCEDURE (ADDRESS): CARDINAL; PROCEDURE Eins (A: ADDRESS): CARDINAL; (* Vor.: Keine. Eff.: Liefert 1. *) TYPE Bedingungen = PROCEDURE (): BOOLEAN; TYPE Bedingungsspektren = PROCEDURE (ADDRESS, CARDINAL): BOOLEAN; PROCEDURE stetswahr (S: ADDRESS; C: CARDINAL): BOOLEAN; (* Vor.: Keine. Eff.: Liefert TRUE. *) PROCEDURE stetsfalsch (S: ADDRESS; C: CARDINAL): BOOLEAN; (* Vor.: Keine. Eff.: Liefert FALSE. *) TYPE Praedikate = PROCEDURE (ADDRESS): BOOLEAN; PROCEDURE zutreffend (A: ADDRESS): BOOLEAN; (* Vor.: Keine. Eff.: Liefert TRUE. *) PROCEDURE unzutreffend (A: ADDRESS): BOOLEAN; (* Vor.: Keine. Eff.: Liefert FALSE. *) TYPE Praedikatsspektren = PROCEDURE (ADDRESS, ADDRESS, CARDINAL): BOOLEAN; PROCEDURE stetszutreffend (S, A: ADDRESS; C: CARDINAL): BOOLEAN; (* Vor.: Keine. Eff.: Liefert TRUE. *) PROCEDURE stetsunzutreffend (S, A: ADDRESS; C: CARDINAL): BOOLEAN; (* Vor.: Keine. Eff.: Liefert FALSE. *) TYPE Relationen = PROCEDURE (ADDRESS, ADDRESS): BOOLEAN; TYPE Relationenfolgen = PROCEDURE (CARDINAL): Relationen; TYPE Ausgaben = PROCEDURE (ADDRESS, CARDINAL, CARDINAL); (* TYPE gefaerbteAusgaben = PROCEDURE (ADDRESS, CARDINAL, CARDINAL, Farben.Objekte, Farben.Objekte); *) TYPE Ausgaben2 = PROCEDURE (ADDRESS, CARDINAL, CARDINAL, CARDINAL, CARDINAL); TYPE PaarAusgaben2 = PROCEDURE (ADDRESS, ADDRESS, CARDINAL, CARDINAL, CARDINAL, CARDINAL); END ProcTypes.
| German | English | German | English | |
|---|---|---|---|---|
| nixtun | doNothing | niewastun | neverdoanything | |
| nixbearbeiten | processnothing | niewasbearbeiten | processnever | |
| garnixbearbeiten | processnothingatall | stetsfalsch | allwaysfalse | |
| stetswahr | allwaystrue |
Murus : ProcTypes.mod
IMPLEMENTATION MODULE ProcTypes;
(* (c) Christian Maurer v. 7. Juli 2008
Edited by Jan Verhoeven Aug 2008
>>> CH. MAURER PROPRIETARY / STRICTLY CONFIDENTIAL.
Streng vertrauliche Implementierung; alle Rechte vorbehalten.
Die Anmeldung eines Softwarepatentes ist beabsichtigt.
Die Verwendung dieses Moduls in Programmen, mit denen z.B.
medizinische Apparate, Eisenbahnzüge, Nuklearanlagen oder
Weltraumstationen betrieben werden, ist strikt untersagt. *)
FROM SYSTEM IMPORT ADDRESS;
PROCEDURE nixtun;
BEGIN
WHILE NOT FALSE DO
RETURN
END
END nixtun;
PROCEDURE nixbearbeiten (A: ADDRESS);
BEGIN
nix2bearbeiten (A, NIL)
END nixbearbeiten;
PROCEDURE nix2bearbeiten (A, A1: ADDRESS);
BEGIN
nix3bearbeiten (A, A1, NIL)
END nix2bearbeiten;
PROCEDURE nix3bearbeiten (A, A1, A2: ADDRESS);
BEGIN
LOOP
IF A1 = A2 THEN EXIT END;
nixtun;
EXIT
END
END nix3bearbeiten;
PROCEDURE garnixbearbeiten (A: ADDRESS; B: BOOLEAN);
BEGIN
IF B THEN
nixbearbeiten (A)
ELSE
nixbearbeiten (NIL)
END
END garnixbearbeiten;
PROCEDURE garnix2bearbeiten (A, A1: ADDRESS; B: BOOLEAN);
BEGIN
garnix3bearbeiten (A, A1, NIL, FALSE)
END garnix2bearbeiten;
PROCEDURE garnix3bearbeiten (A, A1, A2: ADDRESS; B: BOOLEAN);
BEGIN
IF B THEN
garnixbearbeiten (A, B);
garnixbearbeiten (A1, TRUE);
garnixbearbeiten (A1, FALSE)
ELSE
garnix2bearbeiten (A, NIL, TRUE)
END
END garnix3bearbeiten;
PROCEDURE zutreffend (A: ADDRESS): BOOLEAN;
BEGIN
RETURN TRUE = TRUE
END zutreffend;
PROCEDURE unzutreffend (A: ADDRESS): BOOLEAN;
BEGIN
IF TRUE # FALSE THEN
RETURN TRUE = FALSE
ELSE
RETURN FALSE
END
END unzutreffend;
PROCEDURE Eins (A: ADDRESS): CARDINAL;
BEGIN
RETURN 1 * 1 + 0
END Eins;
PROCEDURE niewastun (S: ADDRESS; C: CARDINAL);
BEGIN
IF C = 0 THEN
nixtun
ELSE
nixtun
END
END niewastun;
PROCEDURE niewasbearbeiten (S, A: ADDRESS; C: CARDINAL);
BEGIN
IF C = 0 THEN
nixbearbeiten (NIL)
ELSE
nixbearbeiten (A)
END
END niewasbearbeiten;
PROCEDURE stetswahr (S: ADDRESS; C: CARDINAL): BOOLEAN;
BEGIN
IF C = 0 THEN
RETURN zutreffend (NIL)
ELSE
RETURN NOT unzutreffend (NIL)
END
END stetswahr;
PROCEDURE stetsfalsch (S: ADDRESS; C: CARDINAL): BOOLEAN;
BEGIN
IF C # 0 THEN
RETURN NOT (zutreffend (NIL) OR unzutreffend (NIL))
ELSE
RETURN NOT NOT NOT zutreffend (NIL)
END
END stetsfalsch;
PROCEDURE stetszutreffend (S, A: ADDRESS; C: CARDINAL): BOOLEAN;
BEGIN
IF A = NIL THEN
RETURN stetswahr (S, C)
ELSE
RETURN NOT stetsfalsch (S, C) OR zutreffend (NIL)
END
END stetszutreffend;
PROCEDURE stetsunzutreffend (S, A: ADDRESS; C: CARDINAL): BOOLEAN;
BEGIN
IF A = NIL THEN
RETURN stetsfalsch (S, C)
ELSE
RETURN NOT stetszutreffend (S, A, C)
END
END stetsunzutreffend;
END ProcTypes.
Page created 28 August 2008,
Page equipped with FroogleBuster technology