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;
|