Язык Эль-76
В дебрях сети обнаружились симулятор и примеры языка Эль-76:
http://web.archive.org/web/ 20030710092032/www.mstu.ru/ studies/Others/War/ IlbrusLanguage-emul.rar
http://web.archive.org/web/ 20030710091904/www.mstu.ru/ studies/Others/War/ IlbrusLanguage-docs.rar
Спасибо
oboguev за наводку. Язык в целом очень похож на Алгол-68, но семантически отражает особенности архитектуры Эльбруса: полиморфные операции, аппаратная защита массивов и т.п. Переложил примеры в свою копилку. Так выглядит обработка списков:
http://web.archive.org/web/
http://web.archive.org/web/
Спасибо
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
программа процедура печатьэл = проц(ф32 эл) начало ф32 к; для к от 1 до эл[0] цикл печать(эл[к]) повторить конец; процедура печатьсп = проц(ф32 список) начало если не естьпусто список то печатьэл(список[0]); печатькс(); печатьсп(список[1]) все конец; процедура добавсп = проц(ф32 список, знач) начало если не естьпусто список[1] то добавсп(список[1], знач) иначе ф32 с; список[1] := лок вект [2] ф32; с := список[1]; с[0] := знач все конец; процедура вариант1 = проц(ф32 список) начало если не естьпусто список то ф32 слово := список[0]; если слово[0] > 1 то ф32 слово2 := лок вект [слово[0] + 1] ф32, к; слово2[0] := 1; слово2[1] := слово[1]; для к от 2 до слово[0] цикл если слово[к] <> слово[1] то слово2[0] := слово2[0] + 1; слово2[слово2[0]] := слово[к] все повторить; список[0] := слово2; вариант1(список[1]) все все конец; процедура вариант2 = проц(ф32 список) начало если не естьпусто список то ф32 слово := список[0], слово2 := лок вект [слово[0]*2 + 1] ф32, к; слово2[0] := слово[0]*2; для к от 1 до слово[0] цикл слово2[к*2 - 1] := слово[к]; слово2[к*2] := 0 повторить; список[0] := слово2; вариант2(список[1]) все конец; ф32 список := лок вект [2] ф32; ф32 слово; слово := лок вект [4] ф32; слово[0] := 3; слово[1] := 3; слово[2] := 2; слово[3] := 3; добавсп(список, слово); слово := лок вект [7] ф32; слово[0] := 6; слово[1] := 7; слово[2] := 4; слово[3] := 7; слово[4] := 2; слово[5] := 3; слово[6] := 7; добавсп(список, слово); слово := лок вект [5] ф32; слово[0] := 4; слово[1] := 2; слово[2] := 2; слово[3] := 1; слово[4] := 2; добавсп(список, слово); печатьсп(список[1]); печатькс(); вариант1(список[1]); печатьсп(список[1]) конец
no subject
no subject
https://docs.google.com/open?id=0B2e6QHbfGLLMZ094QTZwVmJxMlE
https://docs.google.com/open?id=0B2e6QHbfGLLMc2dKRjZNb0xlMFE
no subject
no subject
no subject
no subject
Что есть, то есть. :)
no subject
no subject
no subject
no subject
no subject
Очень ограниченное подмножество языка. Только один, 32-битовый формат данных. Получается по сути бестиповый язык вроде ЯРМО или BCPL.
no subject
no subject
no subject
no subject
no subject
Свято место пусто не бывает!
Никогда не мог понять использования русских слов в качестве языковых значков. Казалось бы, русским дано огромное богатство, которого нет даже у американцев и англичан -- English as a foreign language -- огромный набор легко распознаваемых иероглифов с абстрактным, обесполченым и неконтаминированным значением. Бери и пользуйся. Нет, обязательно млечный путь нужно назвать молочным.
no subject
no subject
Впечатлило, как он, обсуждая некий язык, созданный в ИПМе под командованием Баяковского, писал на доске фрагменты программы с русскими служебными словами, не заглядывая в шпаргалку.
Кстати, русское издание Первого Тома он мне тоже подписал по-русски.
no subject
Мда, я ожидал чего-нибудь более экзотического.
no subject
no subject
Они все реализуются достаточно эффективно если делать глобальный анализ всей программы компилятором (а не только анализ per compilation unit).
no subject
no subject
no subject
no subject