Часть полного текста документа:Трансляторы с Алгола-60 Наталия Дубова В 1962 году в СССР разработан первый транслятор для языка высокого уровня Только в конце 50-х у пользователей советских ЭВМ появилась возможность вводить в свои машины символьную информацию. На начальных этапах все программирование было численным, поскольку устройства ввода могли работать только с числовыми данными. Видимо, поэтому системное программирование для первых отечественных машин развивалось в направлении создания трансляторов, а не автокодов и стандартных подпрограмм. В середине 50-х появились так называемые программирующие программы для БЭСМ и "Стрелы" - первый опыт автоматизации программирования в Советском Союзе. Первые школы программирования СССР складывались там, где шла наиболее интенсивная эксплуатация этих "рабочих лошадок" раннего периода отечественной техники, - в ИТМиВТ и в Институте прикладной математики под руководством академика Келдыша (здесь, кстати, в 1954 году была создана система расчета термоядерного взрыва). Благодаря накопленному опыту этим коллективам удалось к 1962 году добиться новых успехов - именно здесь разрабатываются отечественные трансляторы с только что появившегося языка высокого уровня Алгол. Первая версия Алгола была выпущена в 1958-м. Однако признание и известность получил усовершенствованный вариант языка, Алгол-60, названный так потому, что работа международного коллектива разработчиков над его спецификацией завершилась в 1960 году. Никлаус Вирт назвал Алгол-60 "первым языком, который был ясно определен: его синтаксис задан с помощью строгого формализма". В этом же году стартовали проекты реализации трансляторов для Алгола-60 в СССР: в ИТМиВТ и в ИПМ. К этому времени основная вычислительная нагрузка в этих организациях с БЭСМ и "Стрелы" перешла на последнюю ламповую машину Лебедева, М-20. Машина выпускалась серийно и завоевала популярность у программистов не столько даже из-за своего быстродействия, сколько благодаря изяществу и удобству. Идейным соавтором Лебедева при разработке М-20 был математик и программист Михаил Романович Шура-Бура, создавший для этой ЭВМ так называемую интерпретирующую систему ИС-2, которая автоматизировала обращение к библиотечным подпрограммам и использовалась всеми появившимися в дальнейшем трансляторами с Алгола для этой машины. Под руководством Шура-Буры коллектив программистов ИПМ начал разработку своего транслятора. Но первый транслятор с языка Алгол для М-20 был завершен в тех же стенах, где была разработана сама машина, в ИТМиВТ, хотя по времени этот проект был запущен несколько позже проекта ИПМ. Его автор, Святослав Сергеевич Лавров, стремился сделать систему трансляции как можно быстрее и по возможности эффективнее. Поэтому транслятор по версии ИТМиВТ под названием ТА-1 был фактически транслятором с подмножества языка, без рекурсии процедур и с рядом других ограничений. В ИПМ в начале 60-х работал блестящий коллектив программистов - почти весь первый выпуск специальности "Программирование" кафедры вычислительной математики мехмата МГУ, ученики Алексея Андреевича Ляпунова. Эдуард Зиновьевич Любимский, который вместе с Шура-Бурой руководил разработкой транслятора с Алгола, вспоминает, что, познакомившись с языком, специалисты института поначалу замахнулись на систему автоматизации программирования более высокого уровня, чем Алгол-60. ............ |