Автор Тема: ENUM Trit  (Прочитано 2910 раз)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
ENUM Trit
« : Январь 28, 2015, 01:42:25 am »
ENUM Trit
BEGIN

MINUS,
ZERO,
PLUS

END Trit

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: ENUM Trit
« Ответ #1 : Январь 28, 2015, 02:05:27 am »
(* EDIT *)

LANGUAGE OBERON;

MODULE Multiary;

IMPORT MATH_NATURAL_NUMBERS, MATH_NATURAL_NUMBERS_RANGES;

TYPE Multit* < M : MATH_NATURAL_NUMBERS.POSITIVE_NATURAL_NUMBER > =
       MATH_NATURAL_NUMBERS_RANGES.NATURAL_NUMBER_IN_RANGE([1...M]);

END Multiary.

(*
    MODULE ExampleForMultit;
    IMPORT Multiary;
    VAR m: Multiary.Multit<5>;
    BEGIN
        m:= 3;
        (* m:= 6; (* Error *) *)
    END ExampleForMultit.
*)

(*

   Example #2: see <a href="http://oberspace.dyndns.org/index.php/topic,664.0.html"> Ternary.Mod Source Code and Discussion </a>

*)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: ENUM Trit
« Ответ #2 : Январь 28, 2015, 02:07:52 am »
(* у , не туда запостил предыд. сообщ-е *)

LANGUAGE OBERON;

MODULE Ternary;

IMPORT
   Multiary (* <a href="http://oberspace.dyndns.org/index.php/topic,665.0.html"> Multiary.Mod Source Code and Discussion </a> *)
    ;

TYPE Trit* = Multiary.Multit<3>;

END Ternary.