Главная > Энциклопедия кибернетики. Т.2
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

ЯЗЫК ПРОМЕЖУТОЧНЫЙ

— язык программирования, употребляемый в качестве посредника при трансляции с проблемно-ориентированных языков на языки вычислительных машин. Я. п. служит для комплексации программ, транслируемых с различных языков процедурно-ориентированных и для сокращения числа трансляторов, которые необходимо составить, чтобы на каждой из N машин можно было пользоваться любым из М языков программирования. Если не использовать Я. п., то для этого нужно трансляторов. При употреблении Я. п. достаточно иметь М трансляторов с процедурно-ориентированных языков на Я. п. и N трансляторов с Я. п. на конкретные машины, т. е. всего трансляторов. В соответствии с назначением Я. п. главное требование, предъявляемое к нему, состоит в том, чтобы обеспечить эффективную трансляцию с его помощью для возможно больших М и N.

В принципе, любой формальный язык программирования можно было бы выбрать в качестве Я. п., т. к. все они обладают алгоритмической универсальностью. Однако, всякий процедурно-ориентированный язык может обеспечить эффективное использование выч. машин только при решении определенного узкого класса задач, на которые он ориентирован.

Напр., алфавитно-цифровые таблицы эффективно не выражаются через типы данных, предусмотренные в АЛГОЛе-60, а выборка

элемента из вектора замедляется во много раз, если его хранить в памяти в виде списка. Т. о., для эффективного перевода с различных процедурно-ориентированных языков Я. п. должен быть не процедурно-ориентированным, а языком машинно-ориентированным, т. е. он должен быть близок к языку вычисл. машин.

Вместе с тем ни один из языков конкретной выч. машины не может быть эффективно использован в качестве Я. п. Это происходит от того, что программа для любой конкретной машины по необходимости содержит гораздо больше информации, чем это требуется для описания алгоритма. Там, где нужно получить сумму двух чисел, для любой конкретной машины требуется, чтобы слагаемые и сумма были представлены определенными последовательностями битов.

Более того, в результате сложения получается не просто приближенное значение суммы, а определенным образом округленное значение. При этом для каждой конкретной машины всегда известно, что будет, если, напр., нормализованное число будет использовано как последовательность битов и т. п. При выполнении программы, написанной для одной машины, на другой машине приходится моделировать все особенности первой машины. Именно на моделирование этих особенностей (которые, как правило, и не используются в программе) уходит подавляющая часть времени работы второй машины. Их приходится моделировать потому, что, как известно, отличить в программе существенное от несущественного представляет собой весьма сложную задачу. Все это приводит к тому, что в качестве Я. п. следует выбирать алгоритмические машинноориентированные языки, которые содержат в себе все общие черты различных выч. машин и лишены тех особенностей, которыми эти машины отличаются друг от друга.

Из ориентации Я. п. вытекают следующие их свойства, которые могут упростить задачу составления компиляторов с Я. п. и сделать их более эффективными: а) от Я. п. не требуется удобств для ручного программирования; б) при составлении компиляторов можно рассчитывать на то, что все программы на Я. п. правильны, поскольку они, в свою очередь, составлены трансляторами с процедурно-ориентированных языков. Я. п. играют большую роль в создании внутреннего математического обеспечения ЦВМ, т. к. на их основе может разрабатываться универсальное матем. обеспечение, пригодное одновременно для класса машин, а также может быть решена проблема преемственности матем. обеспечения при Смене поколений машин. Э. 3. Любимский.

1
Оглавление
email@scask.ru