summaryrefslogtreecommitdiff
path: root/lang/prolog/1.8.7/src/prolog installation
blob: cc674fae08251d98a939173cb8b9156ea98d41a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
(*************************************************************************)
(*** 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;