A Guide to Modula-2


Book Description

Modula-2 is a simple yet powerful programming language that is suitable for a wide variety of applications. It is based on Pascal, a successful programming language that was introduced in 1970 by Niklaus Wirth. During the 1970's Pascal became the most widely taught programming language and it gained acceptance in science and industry. In 1980 Dr. Wirth released the Modula-2 program ming language. Modula-2 is an evolution of Pascal. It improves on the successes of Pascal while adding the MODULE - a tool for ex pressing the relations between the major parts of programs. In ad dition Modula-2 contains low-level features for systems program ming and coroutines for concurrent programming. Programming languages are important because they are used to express ideas. Some programming languages are so limited that certain ideas can't be easily expressed. For example languages that lac k floating point arithmetic are inappropriate for scientific com putations. Languages such as Basic and Fortran that lack recur sion are unsuitable for text processing or systems programming. Sometimes a programming language is useable for a certain appli cation but it is far from ideal. A good example is the difficulty of writing large programs in pure Pascal. Pascal is a poor language for large jobs because it lacks facilities for partitioning a program viii Preface 6




A Guide to Modula-2


Book Description

Modula-2 is a simple yet powerful programming language that is suitable for a wide variety of applications. It is based on Pascal, a successful programming language that was introduced in 1970 by Niklaus Wirth. During the 1970's Pascal became the most widely taught programming language and it gained acceptance in science and industry. In 1980 Dr. Wirth released the Modula-2 program ming language. Modula-2 is an evolution of Pascal. It improves on the successes of Pascal while adding the MODULE - a tool for ex pressing the relations between the major parts of programs. In ad dition Modula-2 contains low-level features for systems program ming and coroutines for concurrent programming. Programming languages are important because they are used to express ideas. Some programming languages are so limited that certain ideas can't be easily expressed. For example languages that lac k floating point arithmetic are inappropriate for scientific com putations. Languages such as Basic and Fortran that lack recur sion are unsuitable for text processing or systems programming. Sometimes a programming language is useable for a certain appli cation but it is far from ideal. A good example is the difficulty of writing large programs in pure Pascal. Pascal is a poor language for large jobs because it lacks facilities for partitioning a program viii Preface 6




Modula-2 Applied


Book Description

Programming is a skill requiring knowledge of both the basic constructs of computer languages and the techniques employing these constructs. How these are used in any application is often determined by experience of existing programs. This book provides such experience by describing the techniques and implementing them in one useful program: an advanced drawing package. The book also shows the development of a large program. The program is implemented using TopSpeed Modula-2 running on IBM PCs and compatibles. Modula-2 is ideally suited for the task. A knowledge of the language is assumed. The program, including its source, is available on disk.




The Professional Programmers Guide to Modula-2


Book Description




Modula-2


Book Description




Programming in Modula-2


Book Description

This text is an introduction to programming in general, and 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 for a structured approach and leads the student to a working style that has generally become known under the title of structured programming. As a manual for programming in Modula-2, the text covers practically all facilities of that language. Part 1 covers the basic notions of the variable, expression, assignment, conditional and repetitive statement, and array data structure. Together with Part 2 which introduces the important concept of the procedure or subroutine, it contains essentially the material commonly discussed in introductory programming courses. Part 3 concerns data types and structures and constitutes the essence of an advanced course on programming. Part 4 introduces the notion of the module, a concept that is fundamental to the design of larger programmed systems and to programming as team work. The most commonly used utility programs for input and output are presented as examples of modules. And fmally, Part 5 covers facilities for system programming, device handling, and multiprogramming.







The Modula-2 Software Component Library


Book Description

Source Code Availability All of the source code found in this volume, and some that is not, is available from the author at a nominal fee. The author is interested in learning of any errors that may be found, though care has been taken in the construction of the modules to minimize these. The author is also interested in other comments, suggestions, recommendations, questions or experiences with the use of these modules. Contact the author through the following address: Modula-2 Software c/o Springer-Verlag 815 De La Vina St. Santa Barbara, CA 93101 As of February 1988, source code is available on 3.5" Macintosh diskettes (800K HFS format) for the TML Modula-2 compiler for MPW and the Mac METH Modula-2 compiler from ETH Ziirich. 1 Specification Requirements for specification of procedure and data abstractions were previously covered in Volume 1, Chapter 2. A summary is provided of the specification for mat used in this book. The format is adapted from that Guttag and Liskov [10] developed for the CLU language. It consists of relatively few constructs, is semi formal by providing a rigorous definition of the syntax and semantics of opera tions, and it provides powerful facilities for defining abstract data types. 1.1 Specification of Procedure Abstractions Specification of a procedure requires a full description of syntax and semantics. Syntax the name of the procedure by name, the name and type of each ar gument or result, and the order in which the arguments and results occur.




Compiler Construction


Book Description

A refreshing antidote to heavy theoretical tomes, this book is a concise, practical guide to modern compiler design and construction by an acknowledged master. Readers are taken step-by-step through each stage of compiler design, using the simple yet powerful method of recursive descent to create a compiler for Oberon-0, a subset of the author's Oberon language. A disk provided with the book gives full listings of the Oberon-0 compiler and associated tools. The hands-on, pragmatic approach makes the book equally attractive for project-oriented courses in compiler design and for software engineers wishing to develop their skills in system software.




Modula-2


Book Description