Cтраница 1
Объявление эквивалентности также определяет значение имени, во другим способом. [1]
Объявления эквивалентности могут использоваться для различных целей. [2]
Следовательно, объявление эквивалентности, с помощью которого задается значение параметра N, в тексте программы должно предшествовать указанному выше предложению, с помощью которого для вектора х резервируется область памяти, содержащая 4N байт. [3]
В-третьих, объявления эквивалентности удобны для составления параметрических программ. [4]
При использовании объявлений эквивалентности следует иметь в виду общее требование о том, что каждое имя в автокодной программе должно быть определено только одни раз - повторное определение имени расценивается как ошибка в программе. [5]
Например, с помощью предложения, называемого объявлением эквивалентности, программист может дать указание транслятору принять в качестве значения имени-метки наперед заданное значение, не зависящее от размещения в памяти программы в целом или отдельных ее объектов. Примерами абсолютных имен могут служить имена, обозначающие общие регистры, или имена, с помощью которых задается величина сдвига, в явном виде указываемая в командах сдвига. [6]
Конструкции объявления общих объектов ( COMMON) и объявления эквивалентности ( EQUIVALENCE) используются для совмещения в памяти различных блоков. При этом стандартном предусмотрено совмещение разнотипных элементов: Считается, что объект типа двойной точности или типа комплексный занимает две последовательные единицы памяти, а объект типа целый, вещественный и логический - одну единицу памяти. В то же время существуют реализации языка, где это соглашение не выполняется. Поэтому не рекомендуется размещать в одной памяти объекты разных типов. [7]
Все переменные, образующие какой-либо список kt в объявлении эквивалентности, размещаются в памяти машины, начиная с одной и той же единицы памяти ( такой единицей может быть ячейка), так что в результате трансляции и загрузки все эти элементы будут иметь один и тот же истинный адрес. [8]
Значения параметров, как обычно, будем задавать с помощью объявления эквивалентности. [9]
Следует ли в свете идей структурного программирования исключить из ФОРТРАНа объявления эквивалентности и общих объектов. [10]
При этом будет зарезервировано ровно столько байтов памяти, сколько нужно для конкретного значения параметра N, заданного с помощью объявления эквивалентности. [11]
В частности, если таким программным объектом будет команда, которой начинается реализация данного блока, то на нее можно ссылаться по имени-метке приведенного выше объявления эквивалентности, независимо от того, снабжена ли эта команда собственной меткой и какой именно. [12]
При этом, конечно, предполагается, что ячейки Р2 и РЗ сами по себе не используются в других местах, так как в результате объявления эквивалентности они отождествляются с ячейкой Р1 во всем модуле. [13]
Реализация этой идеи базируется в основном на двух моментах: на использовании машинной операции R: AX ( засылка адреса в регистр) и команды транслятору объявления эквивалентности. Возможности, предоставляемые этими командами для достижения поставленной цели, и их использование рассмотрим по ходу разработки нового варианта программы. [14]
Итак, программу можно составить таким образом, чтобы всюду в геле программы значение п фигурировало в качестве параметра, а для настройки программы на нужное конкретное значение этого параметра достаточно в тексте автокодной программы ( которая была настроена, например, на значение п 20) заменить объявление эквивалентности, задающее значение параметра. [15]