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

I just dont know....

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