(* * =========== macro processed output from MPP ========== * * input file : types.dpp * time stamp : 1996 Nov 07 15:03:41 * * output file : types.def * created at : 2003 Jan 16 12:04:38 * * options ... : -Dlinux * * ======================================================= *) (****************************************************************) (* *) (* Gardens Point Modula-2 Library Definition *) (* *) (* *) (* (c) Copyright 1996 Faculty of Information Technology *) (* Queensland University of Technology *) (* *) (* Permission is granted to use, copy and change this *) (* program as long as the copyright message is left intact *) (* *) (****************************************************************) DEFINITION MODULE Types; (*******************************************************) (* this module supplies some traditional identifiers *) (* subranges occupy as much storage space as needed *) (*******************************************************) (* NOTE: On 32 bit platforms (non Alpha) Int32/Card32 *) (* are aliases for INTEGER/CARDINAL *) (*******************************************************) (* Type Mapping Table * ================== * Size * Data Type Alpha Unix PC * ---------------+-----------+-----------+-----------+ * short int | 16 | 16 | 8 | * short unsigned | 16 | 16 | 8 | * | | | | * int | 32 | 32 | 16 | * unsigned int | 32 | 32 | 16 | * | | | | * long int | 64 | 32 | 32 | * unsigned long | 64 | 32 | 32 | * ---------------+-----------+-----------+-----------+ *) TYPE (* Signed Types - Integers *) (* "c" type mapping *) (* --------------------------------------------------------- *) Int8 = [-128 .. 127]; (* => signed char *) Int16 = [-32768 .. 32767]; (* => short int *) Int32 = INTEGER; (* rather than subrange *) LONGINT = INTEGER; (* => long int *) (* Unsigned Types - Cardinals *) (* "c" type mapping *) (* --------------------------------------------------------- *) Card8 = [0 .. 255]; (* => unsigned char *) Card16 = [0 .. 65535]; (* => short unsigned int *) Card32 = CARDINAL; (* rather than subrange *) LONGCARD = CARDINAL; (* => unsigned long int *) (* Alternative Type Names *) (* ---------------------- *) BYTEINT = Int8; BYTECARD = Card8; SHORTINT = Int16; SHORTCARD = Card16; MIDINT = Int32; MIDCARD = Card32; END Types.