lang/prolog/1.8.7/src/prolog installation

Raw file
Back to index

(*************************************************************************)
(*** Insertiert die für PROLOG benötigten Pakete und holt die          ***)
(*** Beispiele vom Archiv.                                             ***)
(***                                                                   ***)
(*** Autor : W. Metterhausen                          Stand : 03.12.87 ***)
(*************************************************************************)

erste bildschirmmeldung;


IF yes("Prolog insertieren?")

   THEN
        hole sourcen vom archiv;
        insertiere alle pakete;
        hole beispiele vom archiv;
      forget ("prolog installation", quiet);
   type("push(""bye""13""prolog again"");prolog(""standard"")"13""); 
FI.


insertiere alle pakete :
   insert and say ("thesaurus");
   insert and say ("prolog").

erste bildschirmmeldung :
   page;
   put center (" Generator für Prolog gestartet."); line;
   put center ("--------------------------------------------------");line;
   put center (" Prolog kann nur in einer Task aufgebaut werden, ");line;
   put center (" die nicht bereits umfangreiche insertierte Pakete ");line;
   put center (" enthält! Gegebenenfalls sollte Prolog in ");line;
   put center (" einer Task direkt unter ""UR"" angelegt werden. ");line;
   line (2).

hole sourcen vom archiv :
   TEXT VAR  datei;
   datei := "thesaurus";          hole wenn noetig;
   datei := "prolog";             hole wenn noetig;
   line.

hole beispiele vom archiv :
   datei := "standard";           hole wenn noetig;
   datei := "sum";                hole wenn noetig;
   datei := "permute";            hole wenn noetig;
   datei := "family";             hole wenn noetig;
   datei := "puzzle";             hole wenn noetig;
   datei := "calc";               hole wenn noetig;
   datei := "prieks";             hole wenn noetig;
   datei := "topographie";        hole wenn noetig;
   datei := "quicksort";          hole wenn noetig;
   datei := "prolog dokumentation";
                                  hole wenn noetig;
   release(archive);
   line.

hole wenn noetig :
   IF NOT exists (datei) THEN
      put line (""""+ datei + """ wird vom Archiv geholt");
      fetch (datei, archive)
   FI.

PROC insert and say (TEXT CONST datei) :

   INT VAR cx, cy;
   put line ("Inserting """ + datei + """...");
   get cursor (cx, cy);
   checkoff;
   insert (datei);
   checkon;
   cl eop (cx, cy); line;
   forget (datei, quiet).

END PROC insert and say;

TEXT PROC inverse (TEXT CONST t):
  ""15"" + t + " " + ""14""
END PROC inverse;

PROC put center (TEXT CONST t):
   put center (t, 80)
END PROC put center;

PROC put center (INT CONST zeile, TEXT CONST t):
   put center (zeile, t, 80)
END PROC put center;

PROC put center (TEXT CONST t, INT CONST gesamtbreite):
   INT VAR cy;
   get cursor (cy, cy);
   put center (cy, t, gesamtbreite)
END PROC put center;

PROC put center (INT CONST zeile, TEXT CONST t, INT CONST gesamtbreite):
   cursor ((gesamtbreite - length (t)) DIV 2, zeile);
   put (t).
END PROC put center;

PROC cl eol: 
  out (""5"") 
END PROC cl eol;

PROC cl eop: 
  out (""4"") 
END PROC cl eop; 
 
PROC cl eol (INT CONST cx, cy): 
   cursor (cx, cy); 
   cl eol 
END PROC cl eol; 
 
PROC cl eop (INT CONST cx, cy): 
   cursor (cx, cy); 
   cl eop 
END PROC cl eop;