(* $Title:'DHRY1.DEF - Dhrystone 1.0 Module 1' *)

DEFINITION MODULE Dhrystone1;

TYPE  Enumeration = (Ident1, Ident2, Ident3, Ident4, Ident5);

      OneToThirty = [1..30];
      OneToFifty  = [1..50];
      CapitalLetter = ['A'..'Z'];

      String30 = ARRAY OneToThirty OF CHAR;
      ArrayDim1Int = ARRAY OneToFifty OF CARDINAL;
      ArrayDim2Int = ARRAY OneToFifty, OneToFifty OF CARDINAL;

      RecordPointer = POINTER TO RecordType;
      RecordType = RECORD
                     PointerComp: RecordPointer;
                     CASE Discr: Enumeration OF
                       Ident1: EnumComp: Enumeration;
                               IntComp: CARDINAL;
                               StringComp: String30
                     | Ident2: EnumComp2: Enumeration;
                               StringComp2: String30
                       ELSE    CharComp1, CharComp2: CHAR
                     END
                   END;

END Dhrystone1.
