1 заметка с тегом

программинг

99 бутылок: Эль-76

65. Эль-76 — язык высокого уровня советских многопроцессорных вычислительных комплексов «Эльбрус». Разработан в Институте точной механики и вычислительной техники АН СССР имени С. А. Лебедева в 1972—73 годах.

Язык процедурный, как и следовало ожидать, но с обработкой исключений, который тут называются «ситуациями». Довольно необычно. Из-за задуманной авторами близости к железу, в языке разделено понятие представления и типа — то есть того как нечто хранится и что мы под ним понимаем. Ключевое слово «ф32», которое постоянно используется в программе — это 32-битный формат хранения.

Внешний вид интегрированной среды разработки языка программирования «Эль-76» в эмуляторе L76

Что-то написать на нём удалось благодаря найденному на «Вебархиве» эмулятору и документации с примерами кода. Эмулятор далеко не полный, поэтому некоторые вещи приходилось писать вовсе не так, как задумывали создатели языка.

% Песня о пиве 99.l76
программа
  процедура пиво = проц(ф32 бутылок)
  начало
    если бутылок = 0 то
      печатьмс(стр8 "no bottles")
    инес бутылок = 1 то
      печатьмс(стр8 "1 bottle")
    иначе
      печать(бутылок);
      печатьмс(стр8 " bottles")
    все
  конец;

  ф32 бутылок;
  для бутылок от 99 вниздо 1 цикл
    пиво(бутылок);
    печатьмс(стр8 " of beer on the wall, ");
    пиво(бутылок);
    печатьмс(стр8 " of beer.");
    печатькс();
    печатьмс(стр8 "Take one down and pass it around, ");
    пиво(бутылок - 1);
    печатьмс(стр8 "of beer on the wall.");
    печатькс();
    печатькс()
  повторить;

  печатьмс(стр8 "No more bottles of beer on the wall, no more bottles of beer.");
  печатькс();
  печатьмс(стр8 "Go to the store and buy some more, 99 bottles of beer on the wall.")
конец

Тем не менее, программа запускается и выводит задуманное, хотя могла бы выглядеть менее уродливо, будь у меня компилятор, реализующий «Эль-76» полностью.

4 ноября   99   программинг