Cтраница 1
Операции языка включают элементарные операции: арифметические, логические и операции отношения, адекватные машинным операциям, производимым над числами. Операции определены для действия над объектами каждого из определенных в языке типов. Функции в языке целесообразно иметь стандартные, не описываемые программистом и доступные всем или группе программ. Этим достигается унификация и единообразие построении программ. [1]
Код операции языка Ассемблера вместе с подходящими операндами образуют команды. [2]
![]() |
Пример вложенных конструкций проверки PL / M. [3] |
Показаны как операции языка проектирования, так и соответствующие операции PL / M. Мы предполагаем, что структура данных INPUT RECORD содержит десять символов и поэтому считается заполненной, когда PL / M-переменная FULL INDICATOR равна десяти. [4]
Каждая из операций моделируемого языка выполняется некоторой подпрограммой, составляющей часть интерпретирующей программы. Блок 2 включает в себя эти подпрограммы, а также таблицу переходов, с помощью которой осуществляется анализ операции моделируемой команды и передача управления соответствующей подпрограмме. Здесь удобно использовать команду сдвига. Моделируемая команда сдвигается на 17 восьмиричных ( 15 десятичных) разрядов вправо, так чтобы код операции попал в р-адрес, а в остальных разрядах были бы нули. Затем это сдвинутое слово прибавляется к команде пересылки, которая передает управление соответствующей команде перехода таблицы переходов. Таким образом, код моделируемой операции используется для того, чтобы с помощью таблицы переходов войти в соответствующую подпрограмму. Заметим, что прежде всего нужно установить в начальное состояние ( восстановить) команду пересылка, поскольку она модифицируется всякий раз, когда к ней обращаются. [5]
Сложности формального определения операций языка программирования описаны в различных работах, посвященных формальному определению языка; соответствующие ссылки приведены в гл. Следует обратить особое внимание на трудности определения операций, работающих в основном через побочные эффекты, таких, как присваивание, и операций, создающих и уничтожающих структуры данных. [6]
В табл. 6.8.1 приведены операции языка g их приоритетами и значениями. [7]
Правило, определяющее порядок выполнения операций языка программирования в выражении. Так, в арифметическом выражении сначала выполняются операции возведения в степень, затем - умножения и деления и последними - операции сложения и вычитания. [8]
![]() |
Структура предложения на языке ассемблера. [9] |
Поле операции содержит мнемонику кода какой-либо операции языка. [10]
Один из наиболее проблематичных аспектов, касающихся операций языков программирования, - это возможность самоизменений: операция может модифицировать Свою собственную внутреннюю структуру - либо свои локальные данные, либо свои команды - так, что при двух последовательных выполнениях с теми же самыми операндами она дает различные результаты. Типичным примером является генератор случайных чисел, присутствующий в качестве операции во многих языках. Обычно эта операция вызывается с постоянным операндом ( кроме случаев повторной инициализации), однако выдает разный результат при каждом выполнении. Конечно, при каждом выполнении операции не только вычисляется результат, но также изменяется внутреннее затравочное число, что и воздействует на ее результат при следующем выполнении. [11]
Причина нарушения может быть устранена путем коррекции операций языка проектирования и языка программирования. После того как завершен первый этап объединения программного обеспечения, можно приступать к остальным этапам, надлежащим образом измененяя управляющие коды в СПИСКЕ УПРАВЛЕНИЯ ПРОЦЕДУРАМИ. [12]
Второй подъязык языка ассемблера сохраняет ранги всех операций языка исполнительной системы. Он не является автокодом 1: 1 по отношению к языку исполнительной системы по тем же причинам, которые указаны выше. Второй подъязык соответствует языку исполнительной системы, так как в нем можно использовать все макроинструкции, которые определены в языке исполнительной системы. [13]
Второй подъязык языка ассемблера сохраняет ранги всех операций языка исполнительной системы. Он соответствует языку исполнительной системы, так как в нем можно использовать все макроинструкции, которые определены в языке исполнительной системы. [14]
Для реализации этой идеи нужно выбрать подходящий набор операций промежуточного языка. Набор операций должен быть таким, чтобы, с одной стороны, обратная польская запись получалась достаточно простой, а с другой стороны, чтобы при переводе на машинный язык возможно более полно использовались особенности устройства и команд конкретной машины. [15]