Introduction  7  purpose, we list the following characteristics of Pascal:  1.  Declaration of variables is mandatory.  2.  Certain key words  (e.g., begin,  end,  repeat) are  "reserved" and cannot be used as identifiers.  3.  The semicolon (;) is considered as a statement separator.  4.  The standard data types are  those of whole and real  numbers,  the  logical  values,  and  the  (printable)  characters. The basic data structuring facilities include  the array, the record (corresponding to Cobol's and PL/l's  "structure"), the  set,  and the  (sequential) file.  These  structures can be combined and nested to form arrays of  sets,  files  of records,  etc.  Data  may  be  allocated  dynamically and accessed via pointers. These pointers  allow the full generality of list processing. There is a  facility to declare new, basic data types with symbolic  constants.  5.  The set data structure offers facilities similar to the PL/l  "bit string".  6.  Arrays may be of arbitrary  dime~sion  with  arbitrary  bounds; the array bounds are constant (i.e., there are no  dynamic arrays.)  7.  As in Fortran, Algol, and PL/l, there is a goto statement.  Labels are unsigned integers and must be declared.  8.  The  compound  statement  is  that  of  Algol,  and  corresponds to the DO group in PL/l.  9.  The facilities of the Algol switch and the computed goto  of Fortran are represented by the case statement.  10.  The for  statement, corresponding to the  DO  loop of  Fortran, may only have steps of 1 (to) or-l (downto) and  is  executed only as  long as  the value of the control  variable  lies  within  the  limits.  Consequently,  the  controlled statement might not be executed at all.  11.  There are no conditional expressions and no multiple  assignments. 