Modula-2 - Daniel Thalmann

Modula-2

An Introduction

(Autor)

Buch | Softcover
XII, 292 Seiten
1985 | 1. Softcover reprint of the original 1st ed. 1985
Springer Berlin (Verlag)
978-3-540-13297-4 (ISBN)
106,99 inkl. MwSt
MODULA-2 is a new programming language which was created by Niklaus Wirth of the Swiss Federal Institute of Technology (ETH) in Zurich. The lan guage is derived from PASCAL: it includes all aspects of PASCAL and some times improves on them. Moreover, MODULA-2 includes the important "mod ule" concept, as well as multiprogramming capabilities and a way of implemen ting low-level software in an elegant manner. In summary, MODULA-2 may be used equally well as a general-purpose programming language and as a system implementation language. MODULA-2 provides the programmer with a good way of writing high quality software. In particular, modules are powerful tools for achieving modularity, reliability, readability, extensibility, reusability and ma chine-independence. This book presents the complete MODULA-21anguage from the beginning. Each topic is presented by means of numerous examples and each concept is justified. The syntax of the language is explained using syntactic diagrams. This book is not a reference manual for MODULA-2, but a textbook from which the student can learn the language progressively. The most important con cepts (i.e. procedures, modules and data structures) are explained in great detail and methodological aspects are also emphasized. Beginning in the first chapter, the student may execute his/her own pro grams. Program examples in this book have been executed on several machines (APPLE II, IBM PC and VAX 11/780) and they may be taken as a basis for stu dents.

1 Introduction.- 1.1 The Role and Origins of Programming.- 1.2 The Evolution of Programming Languages.- 1.3 The "Module"l Concept.- 1.4 Lexical, Syntactic and Semantic Analysis.- 1.5 The MODULA-2 Vocabulary.- 1.6 Syntactic Diagrams.- 1.7 Structure of a MODULA-2 Program.- 1.8 A First Program: How to Write a String.- 1.9 Some Basic Considerations for Writing Programs.- Summary.- 2 Numbers.- 2.1 Integer and Real Numbers.- 2.2 Operators.- 2.3 The MathLibO Module.- 2.4 Arithmetic Expressions.- 2.5 How to Write Numbers.- 2.6 Program Examples.- Summary.- 3 Constants, Variables and Data Typesb.- 3.1 Constants.- 3.2 Variables and Data Types.- 3.3 INTEGER, CARDINAL and REAL Types.- 3.4 The Assignment Statement.- 3.5 Type Conversion.- 3.6 An Example: Exchange of Two Values.- Summary.- 4 The Boolean and CHAR Types.- 4.1 Boolean Constants and Operations.- 4.2 Boolean Expressions.- 4.3 Relational Operators.- 4.4 Two Program Examples.- 4.5 The Type CHAR.- Summary.- 5 Basic Control Statements.- 5.1 The IF Statement.- 5.2 The WHILE Statementb.- 5.3 The REPEAT Statement.- 5.4 Program Examples.- Summary.- 6 The Input/Output Modules.- 6.1 The Role of the Read Operation.- 6.2 Text Input.- 6.3 The InOut and ReallnOut Modules.- 6.4 Program Examples.- Summary.- 7 Enumeration and Subrange Types.- 7.1 Enumeration Types.- 7.2 Order in Enumeration Types.- 7.3 Subrange Types.- 7.4 A Program Example.- Summary.- 8 Other Control Statements.- 8.1 The LOOP Statement.- 8.2 The FOR Statement.- 8.3 The CASE Statement.- 8.4 Program Examples.- Summary.- 9 Array Types.- 9.1 One-Dimensional Arrays.- 9.2 Program Examples.- 9.3 String Types.- 9.4 Program Examples: Palindromes.- 9.5 Multi-Dimensional Arrays.- 9.6 Program Examples.- Summary.- 10 Procedures and Locality.- 10.1 The Procedure Concept.- 10.2Locality.- 10.3 Parameters.- 10.4 A Program Example.- Summary.- 11 Transmission of Parameters and Scope.- 11.1 Variable and Value Parameters.- 11.2 Open Array Parameters.- 11.3 Rules of Scope.- Summary.- 12 Function Procedures and Procedure Types.- 12.1 The Function Procedure Concept.- 12.2 A Complete Example.- 12.3 Procedure Types.- 12.4 A Complete Example.- Summary.- 13 Recursion.- 13.1 The Concept of Recursion.- 13.2 The Towers of Hanoi.- 13.3 Quicksort and Permutations.- 13.4 Indirect Recursion and Recursive Descent.- Summary.- 14 Modules.- 14.1 The Module Concept.- 14.2 Definition Modules.- 14.3 Implementation Modules.- 14.4 Separate Compilation.- 14.5 A Complete Example: The Stack.- Summary.- 15 Local Modules.- 15.1 The Concept of Local Modules.- 15.2 Import/Export Lists.- 15.3 Rules of Scope.- 15.4 Local Modules Defined Side by Side.- 15.5 Modules Defined Local to a Procedure.- 15.6 A Complete Example.- Summary.- 16 Records.- 16.1 RECORDTypes.- 16.2 Manipulation of Records and Fields.- 16.3 The WITH Statement.- 16.4 An Example of Data Abstraction: The Use of Multiple Stacks.- 16.5 Records with Variant Parts.- Summary.- 17 Sets.- 17.1 SET Types and the BITSET Type.- 17.2 Set Constants and Variables.- 17.3 Set Operators.- 17.4 The Standard Procedures INCL and EXCL.- 17.5 An Example of a Module for Processing Bitsets.- Summary.- 18 Streams.- 18.1 The Stream Concept.- 18.2 Access to a Stream Component.- 18.3 Text Streams.- 18.4 A Program Example: Bold Text.- Summary.- 19 Dynamic Data Structures.- 19.1 Pointers.- 19.2 Dynamic Allocation.- 19.3 Lists.- 19.4 A Complete Example of List Processing with a Local Module.- 19.5 Stacks and fifo Queues: Two List Processing Modules.- 19.6 Binary Trees.- Summary.- 20 Processes.- 20.1 Concurrency.- 20.2 Processes.- 20.3 Monitors.- 20.4 Signals.- 20.5 A Classical Example: A Shared Buffer.- Summary.- 21 Low-Level Features.- 21.1 Why Low-Level Programming?.- 21.2 The Type WORD.- 21.3 The Type ADDRESS.- 21.4 Type Transfer Functions.- 21.5 Coroutines.- 21.6 An Application of Coroutines.- 21.7 Dynamic Storage.- 21.8 Device Handling, Interrupts and Fixed Addresses.- 21.9 Low-Level File Operations.- 21.10 Generic Modules.- Summary.- References.- Appendix 1: The Syntax of MODULA-2.- Appendix 2: Keywords and Standard Identifiers.

Erscheint lt. Verlag 1.10.1985
Zusatzinfo XII, 292 p.
Verlagsort Berlin
Sprache englisch
Maße 155 x 235 mm
Gewicht 454 g
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Informatik Theorie / Studium Compilerbau
Schlagworte CASE • data structure • data structures • language • MODULA-2 • object-oriented programming (OOP) • PASCAL • Processing • programming • Programming language • Programming language A • Software
ISBN-10 3-540-13297-X / 354013297X
ISBN-13 978-3-540-13297-4 / 9783540132974
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
29,90
a beginner's guide to learning llvm compiler tools and core …

von Kai Nacke

Buch | Softcover (2024)
Packt Publishing Limited (Verlag)
49,85