e_enum_prog.mod 500 B

12345678910111213
  1. MODULE EEnumProg;
  2. (* Enum literals reachable qualified (through a re-export) and
  3. unqualified (via FROM-import of the type). Exit 42. *)
  4. IMPORT EEnumRe;
  5. FROM EEnumRe IMPORT Colour;
  6. VAR a : Colour;
  7. ExitCode : INTEGER;
  8. BEGIN
  9. a := EEnumRe.green; (* qualified, through re-export *)
  10. IF (a = green) (* unqualified, FROM-imported *)
  11. AND (ORD(red) = 0) AND (ORD(green) = 1) AND (ORD(blue) = 2)
  12. THEN ExitCode := 42 ELSE ExitCode := 1 END
  13. END EEnumProg.