17.0 Chapter Goals

The purpose of this chapter is to introduce the remaining pervasive Modula-2 types and to apply some of the theory of the last few chapters to some specific and relatively advanced situations. In the course of this, some additional ISO standard library modules will also be discussed and details on writing them provided.

On completing the chapter, the student should understand and be able to use the following: complex numbers, decimal types, the date and time, simple finite state machine scanners, and high and low level whole number conversion routines.

Data Representation Abstractions

General:

complex numbers, (binary coded) decimals, time and date record structures

Realized in the Modula-2 notation:

COMPLEX, LONGCOMPLEX, BCD (optional) the SysClock structures

Data Manipulation Abstractions

General:

I/O for complex numbers, date and time and low level whole number I/O

Realized in the Modula-2 notation:

ComplexIO and LongComplexIO (both non-standard) and the entire suite of Whole number I/O modules

Programming Abstractions

General:

scanning input strings with finite state machines

Realized in the Modula-2 notation:

the scanners in the low level I/O module WholeConv


Contents