(*************************************************************************) (*** 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;