#setcount (1)# #block##pageblock# #pagenr ("%", 1)# #headeven# #center#EUMEL-Benutzerhandbuch #center#____________________________________________________________ #end# #headodd# #center#Inhalt #center#____________________________________________________________ #end# #bottomeven# #center#____________________________________________________________ I - % #right#GMD #end# #bottomodd# #center#____________________________________________________________ GMD #right# I - % #end# #lpos(0.2)##lpos(1.8)##lpos(9.0)# TEIL 1 : Einleitung #table# 1.1 Allgemeines über EUMEL 1 1.2 Struktur des Betriebssystems EUMEL 2 1.3 Eigenschaften des Betriebssystems 4 Multi-Tasking-/Multi-User-Betrieb 5 Prozeßkommunikation und Netzwerkfähigkeit 6 Erweiterbarkeit 6 Virtuelle Speicherverwaltung 7 Datensicherheit 8 1.4 Wichtige Begriffe 9 1.5 Die Notation in diesem Buch 10 1.6 Die Funktionstasten des EUMEL-Systems 11 1.7 Eine Beispielsitzung 12 #tableend# TEIL 2 : ELAN #table# 2.1 Besondere Eigenschaften von ELAN 1 2.2 Lexikalische Elemente 2 2.2.1 Schlüsselwörter 2 2.2.2 Bezeichner 3 2.2.3 Sonderzeichen 4 2.2.4 Kommentare 5 2.3 Datenobjekte 6 2.3.1 Elementare Datentypen 6 2.3.1.1 Denoter für elementare Datentypen 7 INT-Denoter: 7 REAL-Denoter: 8 TEXT-Denoter: 9 BOOL-Denoter: 9 2.3.1.2 LET-Konstrukt für Denoter 10 2.3.2 Zugriffsrecht 11 2.3.3 Deklaration 11 2.3.4 Initialisierung 12 2.4 Programmeinheiten 13 2.4.1 Elementare Programmeinheiten 14 2.4.1.1 Ausdruck 14 Operatoren 14 Priorität von Operatoren 16 2.4.1.2 Zuweisung 18 2.4.1.3 Refinementanwendung 19 2.4.1.4 Prozeduraufruf 20 2.4.2 Zusammengesetzte Programmeinheiten 22 2.4.2.1 Folge 22 2.4.2.2 Abfrage 23 2.4.2.3 Auswahl 26 2.4.2.4 Wertliefernde Abfrage und wertliefernde Auswahl 27 2.4.2.5 Wiederholung 27 Abfragekette 25 Endlosschleife 28 Abweisende Schleife 29 Nicht abweisende Schleife 29 Zählschleife 30 2.4.3 Abstrahierende Programmeinheiten 32 2.4.3.1 Refinementvereinbarung 32 Vorteile der Refinementanwendung 33 Wertliefernde Refinements 34 2.4.3.2 Prozedurvereinbarung 35 2.4.3.3 Operatorvereinbarung 41 Verwendung von Prozeduren 35 Prozeduren mit Parametern 38 Prozeduren als Parameter 39 Wertliefernde Prozeduren 40 Vereinbarung eines monadischen Operators 42 Vereinbarung eines dyadischen Operators 42 2.4.3.4 Paketvereinbarung 43 Spracherweiterung 44 Schutz vor fehlerhaftem Zugriff auf Datenobjekte 45 Realisierung von abstrakten Datentypen 47 2.4.4 Terminatoren für Refinements, Prozeduren und Operatoren 48 2.4.5 Generizität von Prozeduren und Operatoren 49 Priorität von generischen Operatoren 49 2.4.6 Rekursive Prozeduren und Operatoren 50 2.5 Programmstruktur 52 2.6 Zusammengesetzte Datentypen 56 2.6.1 Reihung 56 2.6.2 Struktur 61 2.6.3 LET-Konstrukt für zusammengesetzte Datentypen 64 2.6.4 Denoter für zusammengesetzte Datentypen (Konstruktor) 65 2.7 Abstrakte Datentypen 67 2.7.1 Definition neuer Datentypen 67 2.7.2 Konkretisierung 69 2.7.3 Denoter für abstrakte Datentypen (Konstruktor) 70 2.8 Dateien 73 2.8.1 Datentypen FILE und DIRFILE 73 FILE: 73 DIRFILE: 73 2.8.2 Deklaration und Assoziierung 74 input: 75 output: 75 modify: 75 2.9 Abstrakte Datentypen im EUMEL-System 77 2.9.1 Datentyp TASK 77 2.9.2 Datentyp THESAURUS 79 2.9.3 Datenräume 81 2.9.3.1 Datentyp DATASPACE 82 2.9.3.2 BOUND-Objekte 83 Häufige Fehler bei der Benutzung von Datenräume 85 2.9.3.3 Definition neuer Dateitypen 88 2.9.4 Datentyp INITFLAG 91 #tableend# TEIL 3 : Der Editor #table# 3.1 Ein- und Ausschalten des Editors 1 3.2 Die Funktionstasten 3 3.3 Die Wirkung der Funktionstasten 4 3.4 ESC Kommandos 11 Operationen auf Markierungen 15 Zeichen schreiben 16 Kommando auf Taste legen 16 Vorbelegte Tasten 17 Der Lernmodus 17 3.5 Positionieren, Suchen, Ersetzen im Kommandodialog 21 Weitere Hilfen 23 #tableend# TEIL 4 : Kommandosprache #table# 4.1 Supervisor 2 4.2 Monitor 6 4.2.1 Hilfsprozeduren 8 Informationsprozeduren 11 4.2.2 Thesaurus 16 4.2.3 Tasks 21 4.2.4 Handhabung von Dateien 26 4.2.5 Editor-Prozeduren 29 4.2.6 Dateitransfer 33 4.2.7 Passwortschutz 39 4.2.8 Das Archiv 44 Fehlermeldungen des Archivs 52 #tableend# TEIL 5 : Programmierung #table# 5.1 Der ELAN-Compiler 1 5.1.1 Fehlermeldungen des ELAN-Compilers 5 5.2 Standardtypen 7 5.2.1 Bool 7 5.2.2 Integer-Arithmetik 9 5.2.3 Real-Arithmetik 16 5.2.4 Text 26 Der EUMEL-Zeichensatz 29 5.3.1 Assoziierung 41 5.3.2 Informationsprozeduren 43 5.3.3 Betriebsrichtung INPUT 44 5.3.4 Betriebsrichtung OUTPUT 46 5.3.5 Betriebsrichtung MODIFY 48 5.3.6 FILE -Ausschnitte 51 5.4 Suchen und Ersetzen in Textdateien 53 5.4.1 Aufbau von Textmustern 54 5.4.2 Suche nach Textmustern 57 5.4.3 Treffer registrieren 59 5.4.4 Treffer herausnehmen 60 5.4.5 Ändern in Dateien 61 5.4.6 Editor-Prozeduren 62 5.4.7 Sortierung von Textdateien 64 5.4.8 Prozeduren auf Datenräumen 65 5.5 Eingabe/Ausgabe 68 5.5.1 E/A auf Bildschirm 69 5.5.1.1 Eingabesteuerzeichen 69 5.5.1.2 Ausgabesteuerzeichen 70 5.5.1.3 Positionierung 71 Grundlegende Prozeduren 72 Umleitbare Eingabeprozeduren 73 Grundlegende Prozeduren 75 Umleitbare Ausgabeprozeduren 77 5.5.1.4 Eingabe 72 5.5.1.5 Ausgabe 75 5.5.1.6 Kontrolle 79 5.5.2 Zeitmessung 80 5.6 Scanner 83 Scanner-Kommandos 85 #tableend# TEIL 6 : Das Archiv 'std zusatz' #table# 6.1 Erweiterungen um Mathematische Operationen 2 6.1.1 COMPLEX 2 6.1.2 LONGINT 7 6.1.3 VECTOR 16 6.1.4 MATRIX 24 6.2 Programmanalyse 36 reporter - Kommandos 39 Referencer 41 referencer - Kommandos 42 6.3 Rechnen im Editor 43 Arbeitsweise 43 TeCal Prozeduren 44 #tableend# Anhang : ELAN-Syntaxdiagramme INDEX