7. Embedded QUEL for Pascal : Pascal Variables and Data Types : Variable and Type Declarations : Array Type Definition
 
Share this page                  
Array Type Definition
The declaration for an array type definition has the following syntax:
type type_name [packedarray [dimensionsof type_definition;
Syntax Notes:
1. The dimensions of an array specification are not parsed by the EQUEL preprocessor. Consequently, an illegal dimension (such as a non-numeric expression) will be accepted by the preprocessor but will later cause Pascal compiler errors. For example, both of the following type declarations are accepted, even though only the first is legal in Pascal:
##  type
##    Square = array[1..10, 1..10] of Integer;
##    What = array['dimensions'] of Real;
The preprocessor only verifies that an array variable is followed by brackets when used (except packed array of char—see below).
2. EQUEL/Pascal treats a variable of type packed array of char as a string, not an array. Therefore, it is not followed by brackets when used.
3. Components of a packed array cannot be passed to the EQUEL runtime routines. Therefore, you should not declare packed arrays to EQUEL, except for packed arrays of char, which are passed as a whole (for example, as character strings).
The following example illustrates the use of the array type definition:
##  type
##    Ssid = packed array [1..9] of Char;
##  var
##    user_ssid : Ssid;
  ...
##  append to person (ssno = user_ssid)