LISP: Eine Einführung in die Programmierung by Herbert StoyanLISP: Eine Einführung in die Programmierung by Herbert Stoyan

LISP: Eine Einführung in die Programmierung

byHerbert Stoyan, Günter Görz

Paperback | August 1, 1986 | German

Pricing and Purchase Info

$84.39 online 
$90.95 list price save 7%
Earn 422 plum® points

Prices and offers may vary in store

Quantity:

In stock online

Ships free on orders over $25

Not available in stores

Title:LISP: Eine Einführung in die ProgrammierungFormat:PaperbackPublished:August 1, 1986Publisher:Springer Berlin HeidelbergLanguage:German

The following ISBNs are associated with this title:

ISBN - 10:3540169148

ISBN - 13:9783540169147

Look for similar items by category:

Reviews

Table of Contents

1 Einleitung.- 1.1 Warum LISP?.- 1.2 Zur Entwicklungsgeschichte von LISP.- 1.3 Was sind die Grundbausteine der Programmierung?.- 1.4 Grundbausteine der Programmierung in LISP.- 1.5 Der Inhalt dieses Lehrbuches.- 1.6 Literaturhinweise.- 1.7 Übungen.- 2 Einfache Terme und der Umgang mit Objekten.- 2.1 Einfache Terme.- 2.2 Bezugnahme auf Objekte.- 2.3 Umgang mit Objekten.- 2.4 Die externe Repräsentation von Objekten.- 2.5 Übungen.- 3 Primitive Datenobjekte - zugeordnete Grundfunktionen und externe Repräsentation.- 3.1 Zahlen.- 3.1.1 Funktionen, die für alle Typen von Zahlen verwendbar sind.- 3.1.2 Ganze Zahlen.- 3.1.3 Gleitkommazahlen.- 3.2 Zeichen.- 3.3 Zeichenketten.- 3.4 Symbole (Literal-Atome).- 3.5 Funktionsobjekte.- 3.6 Paare (Cons-Objekte).- 3.7 Weitere Datenstrukturen in verschiedenen LISP-Dialekten.- 3.8 Übungen.- 4 Das LISP-System im einfachen Dialog.- 4.1 Terme sind Listen.- 4.2 Der Dialog mit dem System.- 4.3 Die Umgebung verändert sich.- 4.4 Verschachtelung von Termen.- 4.5 Auswertung von Termen.- 4.6 Quotierung - Beabsichtigte Suspendierung der Auswertung.- 4.7 Die Wahrheitswerte T und NIL.- 4.8 Übungen.- 5 Funktionsdefinition als Abstraktion über Termen.- 5.1 Was ist Abstraktion.- 5.2 Funktionale Abstraktion in LISP.- 5.3 Auswertung von Termen mit LAMBDA-Ausdrücken als Funktion.- 5.4 Beziehungen zwischen Umgebungen - globale und lokale Effekte.- 5.5 Bedingte Ausdrücke - Verwendung und Verknüpfung von Prädikaten.- 5.6 Ein größeres Beispiel: Die Baukastenwelt ("Blocks World").- 5.7 Literaturhinweise.- 5.8 Übungen.- 6 Komplexe Datenstrukturen und ihre Verarbeitung - Rekursion und Iteration.- 6.1 Zusammensetzen (Kombinieren) von Daten zu komplexeren Strukturen.- 6.2 Datenabstraktion.- 6.3 Lineare Datenstrukturen und lineare Rekursion.- 6.4 Hierarchische Datenstrukturen und Baum-Rekursion.- 6.5 Arithmetische Ausdrücke als hierarchische Strukturen - Anwendungsbeispiel: Vereinfachung.- 6.6 Rekursive Funktionen zur Manipulation von S-Ausdrücken.- 6.6.1 Funktionen für allgemeine Listenstrukturen.- 6.6.2 Funktionen für Assoziationslisten.- 6.6.3 Funktionen für echte Listen.- 6.7 Literaturhinweise.- 6.8 Übungen.- 7 Kontrollstrukturen, Spezialformen und Macros.- 7.1 Was sind Kontrollstrukturen?.- 7.1.1 Kontrollstrukturen auf der Ebene der Anweisungen.- 7.1.2 Kontrollstrukturen auf der Ebene der Programm-Einheiten.- 7.1.3 Blöcke und Unterprogramme als Kontrollstrukturen.- 7.1.4 Behandlung von Ausnahmefällen und nichtlokale Ausgänge aus Funktionen.- 7.1.5 Coroutinen und parallele Prozesse.- 7.1.6 Der Faden der Ariadne, oder: Kontrollstrukturen und Suchverfahren in Graphen.- 7.2 Wozu werden Spezialformen benötigt?.- 7.3 Die verallgemeinerte Variablenliste.- 7.4 Definition von Spezialformen: FEXPRs, FLAMBDAs und NLAMBDAs.- 7.5 Definition von Spezialformen: Macros und MLAMBDAs.- 7.6 Memo-Funktionen: Ein Beispiel für Macros.- 7.7 Sind FEXPRs wirklich erforderlich?.- 7.8 Literaturhinweise.- 7.9 Übungen.- 8 Ein- und Ausgabe.- 8.1 Dateien als Objekte.- 8.2 Spezifikation von Dateien.- 8.3 Allgemeines über die Ein-/Ausgabe.- 8.4 Eingabe.- 8.5 Lexikalische Verarbeitung und syntaktische Klassifikation von Zeichen.- 8.6 Read-Macros.- 8.7 Ausgabe.- 8.8 Ströme und die Simulation von Ein-/Ausgabe-Vorgängen durch Pseudo-Dateien.- 8.9 Direktzugriff auf Dateien.- 8.10 Literaturhinweise.- 8.11 Übungen.- 9 Funktionsobjekte.- 9.1 Funktionale. Funktionen, die Funktionen als Argumente haben.- 9.2 Probleme mit Funktionsobjekten.- 9.2.1 Erste Problembeschreibung.- 9.2.2 Zweite Problembeschreibung.- 9.2.3 Technische Gründe für die Bevorzugung der "dynamischen" Semantik.- 9.2.4 Historische Gründe für die Bevorzugung der "dynamischen" Semantik.- 9.2.5 Lösungen des Umgebungsproblems: FUNARGs, Closures und lexikalische Umgebungskonstruktion.- 9.3 Generatoren und Ströme.- 9.4 Objekt-orientierte Programmierung und Prozeßsimulation.- 9.5 Simulation durch Funktionsobjekte mit zugeordneter Umgebung.- 9.6 Das Hafenmodell: Ein konkretes Simulationsbeispiel.- 9.7 Literaturhinweise.- 9.8 Übungen.- 10 Generische Funktionen und datengesteuerte Programmierung.- 10.1 Gründe für eine weitere Abstraktionsstufe.- 10.2 Generische Funktionen.- 10.3 Realisierung generischer Funktionen.- 10.4 Flavors: Ein neues Konzept für generische Funktionen und Nachrichtenaustausch.- 10.4.1 Flavors als Mittel zur Realisierung abstrakter Datentypen.- 10.4.2 Flavors als Mittel zur Realisierung generischer Funktionen.- 10.4.3 Implementation von Flavors Methoden und Instanzen.- 10.5 Grundstrukturen und generische Operationen in LISP-Systemen.- 10.6 Aspekte der datengesteuerten Programmierung.- 10.7 Literaturhinweise.- 10.8 Übungen.- 11 Regel-orientierte Programmierung.- 11.1 Programmierstile und Informationsverarbeitungsmodelle.- 11.2 Grundbegriffe des Mustervergleichs.- 11.3 Mustervergleich mit strukturierten Daten.- 11.4 Unifikation.- 11.5 Einfache Produktionensysteme.- 11.6 Verallgemeinerte Produktionensysteme.- 11.7 Literaturhinweise.- 11.8 Übungen.- 12 Verarbeitung von LISP in LISP.- 12.1 Interpretation von LISP.- 12.2 Realisierung von Umgebungen - Bindungsstrategien.- 12.2.1 Realisierung inkrementeller "deep-access"-Umgebungen durch Assoziationslisten.- 12.2.2 Realisierung blockförmiger "deep-access"-Umgebungen durch Listenstrukturen.- 12.2.3 Realisierung der "shallow-access"-Bindung.- 12.3 LISP-Interpreter für verschiedene Bindungsstrategien.- 12.3.1 Interpreter für einfache "deep-access"-Bindungsstrategie.- 12.3.2 Interpreter für blockförmige "deep-access"-Bindungsstrategie.- 12.3.3 Interpreter für "shallow-access"-Bindung.- 12.4 Prinzipien der Compilation von LISP.- 12.5 Elemente der Assemblersprache in LISP und ihre Verwendung bei der Compilation.- 12.6 Literaturhinweise.- 12.7 Übungen.- Anhänge.- 13 Einige Bemerkungen über Programmiersysteme für LISP.- 13.1 Was ist ein Programmiersystem.- 13.2 Die hauptsächlichen Module eines Programmiersystems.- 14 Funktionenverzeichnis.- 15 Übersicht über die Abweichung der Funktionsdefinition in anderen LISP-Dialekten.- 16 Literaturverzeichnis.- 17 Namen- und Sachverzeichnis.