Jump to content

ГД/Л

ГД/Л
Парадигмы Мультипарадигмальность : процедурная , императивная , структурированная.
Семья АЛГОЛ
Разработчик Общие данные
Впервые появился 1978 год ; 46 лет назад ( 1978 )
Платформа Нова , Затмение , Затмение/МВ
ТЫ РДОС, АОС , АОС/ВС
Под влиянием
АЛГОЛ 60

DG/L — это язык программирования , разработанный Data General Corp для Nova , Eclipse и Eclipse/MV семейств миникомпьютеров в 1970-х и начале 1980-х годов.

Было две отдельные версии:

  • «Старый» Алгол, который работал и генерировал код для серии 16-битных компьютеров Nova. Компилятор лишь немного оптимизировал. Он был доступен только в операционных системах семейства RDOS .
  • DG/L, ​​который был разработан путем значительной модификации оптимизирующего компилятора Fortran 5 . Этот компилятор работал только на компьютерах семейства Eclipse и Eclipse/MV, но генерировал оптимизированный код для семейства Nova, Eclipse и Eclipse/MV (Eagle). Он был доступен на RDOS, AOS и AOS/VS.

Сам язык представлял собой расширенную версию Алгола 60 . Он поддерживал целые числа, числа с плавающей запятой одинарной и двойной точности, а также комплексные числа, а также строки фиксированной и произвольной точности. (BCD) арифметику произвольной точности Он также поддерживал двоично-десятичную со строками. Он имел множество удобных функций управления потоками программ , но, будучи разработанным в середине 70-х годов, в нем отсутствовали структуры данных , определяемые пользователем .

На тот момент у DG/L была обширная библиотека времени выполнения , которая использовалась для системного программирования как внутри, так и за пределами Data General.

Первоначально называвшийся Algol/5, продукт был переименован в DG/L незадолго до первого коммерческого выпуска в 1978 году. Официально название не имеет смысла, но, очевидно, оно должно было означать «Общий язык данных». После первого коммерческого выпуска, ориентированного на 16-битные Eclipse и Nova, было выпущено несколько последующих обновлений и основных версий, примерно по одному в год.

Сравнение с Алголом 60 [ править ]

Приложение A к Справочному руководству по языку DG/L, ​​093-00229-01, редакции Data General от 1982 года, описывает DG/L как основанный на языке программирования ALGOL 60, но дает «типы данных, операции и операторы, которых нет в ALGOL 60». Конкретные различия заключаются в следующем:

Функции Algol 60 не поддерживаются в / DG L

Особенность Алгола 60 Как описано в отчете Algol 60. [1] абзац Генеральный директор/примечания
Звонок по имени к. 4.7.3.2 DG/L позволяет использовать параметры процедуры типа PROCEDURE, что позволяет передавать процедуры по имени другим процедурам.
Вложенные кавычки в литералах 2.6.1 и 2.4.1
Нет ограничений на длину идентификаторов Имена идентификаторов DG/L должны быть уникальными в пределах первых 32 символов.
Два оператора отделения 3.3.4.2 DG/L использует «/» как для вещественного, так и для целочисленного деления; целое число, разделенное на другое целое число, подразумевает целочисленное деление (например, 1/4 равно 0), если не используется глобальный переключатель /R компилятора
Обозначение 10 <целое число> 2.5.1 DG/L использует E <integer> (или D <integer> для двойной точности) для «научных» обозначений, чтобы показать степени десяти.
Программа, состоящая только из <составного оператора> 4.1.1
Символы, отличные от ASCII, ⋀,⋁,¬,⊃,≡,≤,≥,≠ как логические операторы 3.4.6.1 Вместо этого DG/L допускает: AND, OR, NOT, IMP, EQV, <= (или =<),>= (или =>) и <> (или ><), а также XOR.
Включение кода, не являющегося Алголом, в процедуры Алгола. 4.7.8 Помимо математической библиотеки FORTRAN 5, документация для внешних процедур предполагает, что будут подключены только другие процедуры DG/L.

Расширения [ править ]

Некоторые расширения стандарта Algol 60, представленные в DG/L или перенесенные из предыдущей реализации Algol от Data General 1971 года:

Строковые операции [ править ]

  • SUBSTR — подстрока
  • ИНДЕКС - позиция подстроки
  • ДЛИНА - длина строки
  • SETCURRENT — устанавливает текущую длину строки, например setcurrent(str,length(str)-1);
  • Оператор конкатенации: "!!"
  • Строковая арифметика (например, «123,45» + «0,01» )
  • Преобразование типов (логическое, целое, вещественное, указатель, бит)
  • Восьмеричные числа и некоторые специальные символы, заключенные в скобки, для обозначения символов ASCII.

Ввод и вывод [ править ]

  • Полностью форматированный вывод, неформатированный ввод и вывод для всех поддерживаемых типов данных.
  • Data General. Полный интерфейс для системных вызовов RDOS , AOS и AOS/VS
  • Управление кэш-памятью (с опцией виртуальной памяти).
  • Интерфейс к базам данных CLRE и INFOS II

Другие расширения [ править ]

  • Условная компиляция участков кода с использованием /**буква-цифра-строка <оператор> */
  • комментарии в конце строки с использованием символа % и /* комментария */
  • расширенный синтаксис do , for и if (например, WHILE <boolexp1> DO <statement> UNTIL <boolexp2> )
  • Типы: BIT, BYTE, 16-битные и 32-битные целые числа, 32-битные и 64-битные действительные числа и арифметика произвольной точности.
  • Литералы, например LITERAL C (299792.458)
  • Глобальные данные
  • Перехват ошибок
  • Внешние процедуры и данные
  • Объявление кластера... очень похоже на модули Pascal (позволяет кластеризовать процедуры и данные в отдельном скомпилированном исходном коде).
  • Указатель -> символ и переменные BASED всех типов
  • Оператор исключающего ИЛИ (XOR)
  • Многозадачность

Ссылки [ править ]

  1. ^ Наур, Питер (январь 1963 г.). «Пересмотренный отчет об алгоритмическом языке АЛГОЛ 60» . Коммуникации АКМ . 6 :1–17. дои : 10.1145/366193.366201 .
  • Справочное руководство по компилятору DG/L, ​​Data General Corp, 1978 г.
  • Справочное руководство по времени выполнения DG/L, ​​Data General Corp, 1978 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bd24accdc59aafa88246c1044f1ab963__1694727660
URL1:https://arc.ask3.ru/arc/aa/bd/63/bd24accdc59aafa88246c1044f1ab963.html
Заголовок, (Title) документа по адресу, URL1:
DG/L - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)