Modular: Programs divided into "modules", each stored
in a separate file.
Object orientated: Object as the basic unit. It includes
data and functions which are tied together. Objects can communicate
with each other but implementation info is hidden. Polymorphism.
Strongly typed: Every expression, statement, and parameter
is type checked at compile time for consistency.
Block structure: Scope or visibility of variables
is restricted to a block and its sub-blocks.
Simulation and graphics capability: Capability provided
by both library modules and user designed programs.
2.2 Program Layout:
MAIN MODULE Example;
{ Module name }
CONST NumberofTrucks = 45;
TYPE Workdaytype = (Mon ..
Fri);
VAR
{ Declaration section } Number
: INTEGER; WorkDay : Workdaytype;
PROCEDURE dispatch(Number) BEGIN .... END PROCEDURE
BEGIN OUTPUT( dispatch(NumberofTrucks))
{ Main section } END MODULE