Доклад : Трансляторы с Алгола-60 


Полнотекстовый поиск по базе:

Главная >> Доклад >> История техники


Трансляторы с Алгола-60




Трансляторы с Алгола-60

Наталия Дубова

В 1962 году в СССР разработан первый транслятор для языка высокого уровня

Только в конце 50-х у пользователей советских ЭВМ появилась возможность вводить в свои машины символьную информацию. На начальных этапах все программирование было численным, поскольку устройства ввода могли работать только с числовыми данными. Видимо, поэтому системное программирование для первых отечественных машин развивалось в направлении создания трансляторов, а не автокодов и стандартных подпрограмм. В середине 50-х появились так называемые программирующие программы для БЭСМ и «Стрелы» — первый опыт автоматизации программирования в Советском Союзе. Первые школы программирования СССР складывались там, где шла наиболее интенсивная эксплуатация этих «рабочих лошадок» раннего периода отечественной техники, — в ИТМиВТ и в Институте прикладной математики под руководством академика Келдыша (здесь, кстати, в 1954 году была создана система расчета термоядерного взрыва). Благодаря накопленному опыту этим коллективам удалось к 1962 году добиться новых успехов — именно здесь разрабатываются отечественные трансляторы с только что появившегося языка высокого уровня Алгол.

Первая версия Алгола была выпущена в 1958-м. Однако признание и известность получил усовершенствованный вариант языка, Алгол-60, названный так потому, что работа международного коллектива разработчиков над его спецификацией завершилась в 1960 году. Никлаус Вирт назвал Алгол-60 «первым языком, который был ясно определен: его синтаксис задан с помощью строгого формализма». В этом же году стартовали проекты реализации трансляторов для Алгола-60 в СССР: в ИТМиВТ и в ИПМ.

К этому времени основная вычислительная нагрузка в этих организациях с БЭСМ и «Стрелы» перешла на последнюю ламповую машину Лебедева, М–20. Машина выпускалась серийно и завоевала популярность у программистов не столько даже из-за своего быстродействия, сколько благодаря изяществу и удобству. Идейным соавтором Лебедева при разработке М-20 был математик и программист Михаил Романович Шура-Бура, создавший для этой ЭВМ так называемую интерпретирующую систему ИС-2, которая автоматизировала обращение к библиотечным подпрограммам и использовалась всеми появившимися в дальнейшем трансляторами с Алгола для этой машины. Под руководством Шура-Буры коллектив программистов ИПМ начал разработку своего транслятора.

Но первый транслятор с языка Алгол для М-20 был завершен в тех же стенах, где была разработана сама машина, в ИТМиВТ, хотя по времени этот проект был запущен несколько позже проекта ИПМ. Его автор, Святослав Сергеевич Лавров, стремился сделать систему трансляции как можно быстрее и по возможности эффективнее. Поэтому транслятор по версии ИТМиВТ под названием ТА-1 был фактически транслятором с подмножества языка, без рекурсии процедур и с рядом других ограничений.

В ИПМ в начале 60-х работал блестящий коллектив программистов — почти весь первый выпуск специальности «Программирование» кафедры вычислительной математики мехмата МГУ, ученики Алексея Андреевича Ляпунова. Эдуард Зиновьевич Любимский, который вместе с Шура-Бурой руководил разработкой транслятора с Алгола, вспоминает, что, познакомившись с языком, специалисты института поначалу замахнулись на систему автоматизации программирования более высокого уровня, чем Алгол-60. Алгол по удаленности от машинного уровня был аналогичен операторной схеме программы Ляпунова. Однако Шура-Бура настоял на том, чтобы решать более «приземленную» и насущную задачу.

В ИПМ тоже был свой ТА1 — первая, не вполне удачная версия транслятора. Окончательный вариант, ТА2, был завершен несколько позже разработки ИТМиВТ, весной 1963 года, и уже в мае демонстрировался на международной конференции по программированию в Киеве. Это была практически полная реализация языка, и во время показов в Киеве на М-20 транслятор справился с придуманной одним из участников тяжелейшей рекурсией. Любимский рассказал также, что вскоре после завершения разработки авторам ТА2 попал в руки западногерманский журнал с тестовой программой для трансляторов с Алгола-60. Журнал предлагал проверить зрелость транслятора, на какую категорию он потянет: man or boy. В ИПМ прогнали программу и удостоверились в высоком уровне своей разработки.

Первая версия языка, Алгол-58, очень заинтересовала Андрея Петровича Ершова. После окончания мехмата (тот же выпуск Ляпунова) он работал в ИТМиВТ и был автором программирующей программы для БЭСМ. Однако в начале 60-х Ершов — уже в Новосибирске, где формировался новый научный центр, Сибирское отделение АН СССР. Ершова пригласил сюда академик Соболев, о роли которого в развитии вычислительной математики и становлении советского программирования мы уже не раз упоминали. Теперь Соболев возглавил Институт математики СО; организацией отдела программирования в институте занялся Ершов.

Постепенно в Сибири сложилась новая мощная программистская школа. Одним из первых ее ярких результатов стала разработка языка Альфа, явившегося итогом работы Ершова и его коллег над Алголом-58. Ершов развил возможности этого языка, в частности добавил матричные операции, и полученный в конечном итоге язык оказался во многом схож с Алголом-60. Фактически, завершенный в 1961 году язык Альфа — это «расширенное подмножество» Алгола-60, без рекурсий, но с определением многомерных значений и операциями над ними, возможностью инициирования переменных и некоторыми другими нововведениями.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.osp.ru/

Похожие работы:

  • Проектирование трансляторов

    Реферат >> Информатика, программирование
    ... в состав проектируемого транслятора; - разработка семантических программ транслятора; - комплексная отладка транслятора на контрольных (тестовых ... семантической обработки для языка типа АЛГОЛ. 1.Условные инструкции <инстр1>::=<условие><инстр2>ELSE<инстр3>│< ...
  • Операционные системы ЭВМ и трансляторы

    Контрольная работа >> Информатика, программирование
    Операционные системы ЭВМ и трансляторы Операционная система ОС ЕС ... в которую входят трансляторы с языков программирования АССЕМБЛЕР, ФОРТРАН IV, АЛГОЛ-60, КОБОЛ, ПЛ ... объектных модулей одинаков для всех трансляторов, что позволяет объединять модули, ...
  • Андрей Петрович Ершов (1931-1988)

    Реферат >> Информатика, программирование
    ... , что этот транслятор был первым оптимизирующим транслятором с Алгола. Дополнительный опыт - транслятор Алгибр, незавершенный ... проект Альфа-транслятора для ...
  • Что такое язык программирования

    Реферат >> Информатика, программирование
    ... 1958-1960 годах появился язык Алгол (Алгол-58, Алгол-60) (англ. ALGOL ... в 1964-1968 годах – Алгол-68. Алгол был разработан комитетом, в который ... Такими переводчиками являются специальные программы-трансляторы. Транслятор – это программа, предназначенная для ...
  • Языки программирования, их классификация и развитие

    Реферат >> Информатика, программирование
    ... очень много, например: Фортран, Алгол – языки, созданные для решения ... и подобные ему языки программирования (Алгол, ПЛ/1) предназначались для решения вычислительных ... , так и предназначенных для него трансляторов. Программа на Фортране записывается в ...
  • Язык АДА

    Реферат >> Информатика, программирование
    ... новый улучшенный вариант — Алгол 60. Алгол 60 съиграл очень важную ... число которых входит Ада. Из Алгола 60 впоследствии вышли три семейства ... поведение программ с асинхронными процессами. Транслятор и сопутствующие инструменты можно использовать как ...
  • Графические возможности программирования в курсе информатики

    Дипломная работа >> Информатика, программирование
    ... язык дал начало целому семейству Алгол-подобных языков (важнейший представитель – ... такие языки, как Фортран, Алгол-60 (созданный для численных ... распространению языка; – оптимизирующие свойства трансляторов с Паскаля позволяют создавать эффективные программы ...
  • Технический словарь

    Топик >> Иностранный язык
    ... collateral statement совместное предложение (в языке Алгол-68) collating sequence сортирующая последовательность ... построения трансляторов compiler diagnostics сообщения транслятора compiler directive директива транслятора; указания транслятору compiler ...
  • Языки программирования

    Курсовая работа >> Информатика, программирование
    ... от обычных операторных языков типа Алгол, Фортран и т.д.. Если программа ... описания применяемых языков программирования, программы – трансляторы с этих языков, а также развитую ... очень много, например; Фортран, Алгол – языки созданные для решения математических ...
  • Информатика и программное обеспечение ПЭВМ

    Учебное пособие >> Информатика, программирование
    ... В зависимости от функционального назначения транслятор может быть компилятором, интерпретатором, ... К наиболее известным относят Фортран, Алгол, Кобол, ПЛ/1, Паскаль, Ада ... автостраде с оживленным автомобильным движением. АЛГОЛ-60 (Algoritmic Language) появился ...