Эбал

Язык программирования

Эбал (Ebal англ.) - язык программирования нового поколения.

Пример простой программы.

synonym "равна", "=";
synonym "умножить", "*";
synonym "печать", "print";

Высота прямоугольника равна 10;
Ширина прямоугольника равна 20;
Плащадь прямоугольника равна Высота прямоугольника умножить Ширина прямоугольника;
Печать Плащадь прямоугольника;

Пример программы работы с двоичным деревом.

function Новый элемент(Дерево, Элемент) {
  local Родитель = false;
  while(type(Указатель) = "object") begin local Указатель = Дерево.корень; {
    Родитель = Указатель;
    if(Элемент < Указатель.значение)
      Указатель = Указатель.левый лист;
    else
      Указатель = Указатель.правый лист;
  }
  Узел = object {
    родитель: Родитель,
    левый лист: false,
    правый лист: false,
    значение: Элемент
  };
  if(type(Родитель) = "boolean") {
    Дерево.корень = Узел;
  } else {
    if(Элемент < Родитель.значение) {
      Родитель.левый лист = Узел;
    } else {
      Родитель.правый лист = Узел;
    }
  }
}

function Обход дерева(Узел) {
  if(type(Узел) <> "boolean") {
    Обход дерева(Узел.левый лист);
    print Узел.значение; print;
    Обход дерева(Узел.правый лист);
  }
}

Дерево = object {
  корень: false
};
Новый элемент(Дерево, "Первый");
Новый элемент(Дерево, "Второй");
Новый элемент(Дерево, "Третий");
Новый элемент(Дерево, "Четвертый");
Новый элемент(Дерево, "Пятый");
Обход дерева(Дерево.корень);