**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