Explore the latest books of this year!
Bookbot

Niklaus Wirth

    February 15, 1934 – January 1, 2024
    Niklaus Wirth
    Algorithmen und Datenstrukturen
    Grundlagen und Techniken des Compilerbaus
    Systematisches Programmieren
    Digital Circuit Design
    Programming in Modula-2
    PASCAL : User Manual and Report
    • The original description of Pascal by the designer of the language has been up-dated to incorporate the ISO-standard. Revisions to Niklaus Wirth's classic, "Pascal: User Manual and Report" include: Wirth's EBNF syntactical notation - an expanded user manual with improved programming examples - a thorough appendix summarizing changes in the language necessitated by the ISO-standard. What is left unchanged is the rigor and precision that made "PASCAL: User Manual and Report" the definitive reference for nearly a decade.

      PASCAL : User Manual and Report
    • This is the 4th edition of a successful book which first appeared in 1982. It is an introduction to programming in general as well as a manual for programming with the language Modula-2 in particular. It is oriented primarily towards people who have already acquired some basic knowledge of programming and would like to deepen their understanding in a more structured way. Nevertheless, an introductory chapter is included for the benefit of the beginner, displaying in a concise form some of the fundamental concepts of computers and their programming. The text is therefore also suitable as a self-contained tutorial. The notation used is Modula-2, which lends itself well to a structured approach and leads the student to a working style that has generally become known under the title of structured programming. Modula-2 is a descendant of Pascal, and is particularly suited for programming larger and more complex systems in a structured way. The principal improvement in this 4th edition is a completely new layout. The main changes in the contents are a few minor adaptations in the area of type compatibility. "Programming in Modula-2" by Niklaus Wirth can be considered as the standard reference for Modula-2 programmers.

      Programming in Modula-2
    • Inhaltsverzeichnis: 1. Einleitung. 2. Grundbegriffe. 3. Übersicht über den Aufbau eines Computers. 4. Programmierhilfen und Programmiersysteme. 5. Einfache Beispiele von Programmen. 6. Endlichkeit von Programmen. 7. Lineare Notation, Programmiersprachen: 7.1. Übersicht, 7.2. Ausdrücke und Anweisungen, 7.3. Einfache Programme in linearer Notation. 8. Datentypen: 8.1. Boolean, 8.2. Integer, 8.3. Char, 8.4. Real. 9. Programme mit Rekursionsrelationen: 9.1. Folgen, 9.2. Reihen. 10. Die Strukturart „File“: 10.1. Begriff des Files, 10.2. Generierung eines Files, 10.3. Inspektion eines Files, 10.4. Text-Files. 11. Die Strukturart „Array“. 12. Unterprogramme — Prozeduren und Funktionen: 12.1. Konzept und Terminologie, 12.2. Lokale Größen, 12.3. Prozedur-Parameter, 12.4. Parametrische Prozeduren und Funktionen. 13. Transformationen von Zahlendarstellungen: 13.1. Eingabe von positiven ganzen Zahlen in dezimaler Darstellung, 13.2. Ausgabe von positiven ganzen Zahlen in dezimaler Darstellung, 13.3. Ausgabe von gebrochenen Zahlen in dezimaler Darstellung, 13.4. Transformation von Gleitkomma-Darstellungen. 14. Textverarbeitung mit Array- und File-Strukturen: 14.1. Begrenzung der Zeilenlänge in einem Text-File, 14.2. Editieren einer Textzeile, 14.3. Erkennen von regulären Zeichenmustern. 15. Schrittweise Programmentwicklung: 15.1. Lösung eines linearen Gleichungssystems, 15.2. Ermittlung der kleinsten Zahl als Summe von zwei dritten Potenzen

      Systematisches Programmieren
    • Compiler sind mehr als komplexe Programme, deren Herstellung einigen wenigen, großen Firmen vorbehalten bleibt. Sie spielen gewissermaßen die Rolle der Brücke zwischen Software und Programmiersprache einerseits und Hardware und Rechnerarchitektur andererseits. Deshalb ist das Verständnis ihrer Prinzipien und ihrer Struktur für jeden Informatiker wesentlich. Dieses Buch ist aus der Erfahrung erwachsen, dass neue Lehrstoffe nur dann haften bleiben, wenn sich der Leser auch praktisch mit der Materie befasst. Hier ist das zentrale Anliegen daher der Bau eines kompletten Compilers einer einsatzfähigen Programmiersprache und dessen Darlegung in allen Einzelheiten. Dazu wird aufgrund ihres systematischen Aufbaus eine substantielle Untermenge der Sprache Oberon gewählt und als Zielrechner eine RISC-Architektur, wobei beiden exemplarischer Charakter zukommt.

      Grundlagen und Techniken des Compilerbaus
    • Algorithmen und Datenstrukturen

      Pascal-Version

      • 320 pages
      • 12 hours of reading

      In den vergangenen Jahren wurde die Programmierung wm Rechenanlagen als diejenige Disziplin erkannt, deren Beherrschung grundlegend und entscheidend fur den Erfolg vieler Entwicklungsprojekte ist und die wissenschaftlicher Behandlung und Darlegung zuganglich ist Vom Handwerk stieg sie zur akademischen Disziplin auf.

      Algorithmen und Datenstrukturen
    • Inhaltsverzeichnis0. Einleitung.1. Definition und Struktur formaler Sprachen.2. Satzanalyse.3. Syntax Graphen.4. Aufbau eines Parsers für eine gegebene Syntax.5. Tabellen-gesteuerte Syntax Analyse.6. Die Übersetzung von BNF-Produktionen in Tabellen.7. Die Programmiersprache PL/0.8. Ein Parser für PL/0.9. Die Behandlung von syntaktischen Fehlern.10. Ein Interpreter für PL/0.11. Die Erzeugung von Befehls-Code.12. Eine Spracherweiterung: Prozesse.13. Technik der Compilerentwicklung und -Übertragung.14. Aufgabensammlung.Literaturhinweise.Anhang: Der ASCII Zeichensatz.Stichwortverzeichnis.

      Compilerbau
    • Der moderne Digital-Computer wurde entwickelt, um komplexe und zeitaufwändige Berechnungen zu erleichtern und zu beschleunigen. Bei den meisten Anwendungen ist seine Fähigkeit, große Mengen an Informationen zu speichern und zugänglich zu machen, entscheidend; die Rechenleistung spielt oft eine untergeordnete Rolle. In diesen Fällen stellt die verarbeitete Informationsmenge eine Abstraktion eines Teils der realen Welt dar. Die Informationen, die der Rechenanlage zur Verfügung stehen, bestehen aus einer ausgewählten Menge von Daten, die für das aktuelle Problem als relevant erachtet werden. Diese Daten repräsentieren eine Abstraktion der Realität, da unwichtige Eigenschaften und Details der Objekte unberücksichtigt bleiben. Eine Abstraktion ist somit auch eine Vereinfachung der Tatsachen. Ein Beispiel ist die Personalkartei eines Arbeitgebers, in der jeder Angestellte durch eine Menge von für den Arbeitgeber relevante Daten repräsentiert wird, wie Name und Gehalt. Unwichtige Informationen wie Haarfarbe, Gewicht und Größe werden in diesem Kontext wahrscheinlich nicht erfasst.

      Algorithmen und Datenstrukturen mit Modula - 2
    • genannt) sollte in einer einzigen höheren Programmiersprache program miert werden. Die Sprache mußte daher gleichzeitig den Anforderungen des Systementwurfs auf hoher Ebene als auch den Anforderungen der Pro grammierung auf niederer, maschinennaher Ebene gerecht werden. Letztere wird für diejenigen Systemteile benötigt, die in direkter Wechselwirkung mit der vorgegebenen Hardware stehen. Modula-2 entstand aus sorgfältigen Entwurfsüberlegungen als eine Sprache, die alle Möglichkeiten von Pascal enthält, diese jedoch um die wichtigen Konzepte des Moduls und der Multi programmierung erweitert. Da ihre Syntax mehr auf der Linie von Modula als auf der von Pascal liegt, wurde der Name Modula-2 gewählt. Im Weiteren werden wir den Namen Modula synonym für Modula-2 verwenden. Die wesentlichen Zusätze von Modula-2, bezogen auf Pascal, sind: 1. Das Konzept des Moduls und insbesondere die Möglichkeit, einen Modul in einen Definitionsteil und einen Implementationsteil aufzuspalten. 2. Eine systematischere Syntax, die das Erlernen vereinfacht. Insbesondere endet jede mit einem Schlüsselwort beginnende Struktur auch mit einem Schlüsselwort, d. h. sie ist ordentlich geklammert. 3. Das Konzept des Prozesses als Schlüssel zur Multiprogrammierung. 4. Sogenannte niedere, maschinennahe Sprachelernente, mit deren Hilfe man die strengen Regeln der Konsistenz von Typen aufbrechen kann. Sie erlauben ferner, Daten einer Modula-2-Struktur auf einen anderen Speicherbereich ohne vorgegebene eigene Struktur abzubilden. 5. Der Prozedurtyp. Er ermöglicht es, eine Zuweisung von Prozeduren an Variable dynamisch vorzunehmen. Eine erste Implementierung von Modula-2 war 1979 für PDP-ll-Rechner lauffähig. Die Sprachdefinition wurde im März 1980 als Technischer Report veröffentlicht. Seither wird die Sprache an unserem Institut täglich benutzt.

      Programmieren in Modula-2