Процесс - вычисление - выражение - Большая Энциклопедия Нефти и Газа, статья, страница 1
Жизнь человеку дается один раз, но, как правило, в самый неподходящий момент. Законы Мерфи (еще...)

Процесс - вычисление - выражение

Cтраница 1


Процесс вычисления выражения распадается на несколько шагов. Рассмотрим эти шаги при реализации выражения транслятором.  [1]

Для упрощения программирования процесса вычисления выражений в СОЗУ магазинного типа вводятся операции ПОВТОРИТЬ и ПЕРЕСТАВИТЬ. Операция ПОВТОРИТЬ выполняется путем записи слова из t - й ячейки в ( / 1) - ю ячейку СОЗУ, где адрес ячейки ( г 1) определяется состоянием СчА на момент выполнения операции. С использованием команды ПОВТОРИТЬ реализуются вычисления вида х-х без дополнительных обращений к ОЗУ. По команде ОБМЕНЯТЬ слово из г - й ячейки, определяемой состоянием счетчика ( СчА - 1), передается в ячейку ( г - 1) и слово из ячейки ( г - 1) - в ячейку г. После выполнения данной операции состояние счетчика адреса не изменяется. Операция обмена позволяет выполнять действия ( а - Ь) и alb при любом порядке следования операндов а и b в ячейках СОЗУ.  [2]

3 Выполнение функции pop. [3]

Компиляторы используют стеки в процессе вычисления выражений и создания кода машинного языка. В упражнениях будут исследованы некоторые применения стеков.  [4]

Стеки используются компиляторами в процессе вычисления выражений и для генерации машинного кода. В упражнениях приводится несколько применений стеков, включая их использование для создания полноценно работающего компилятора.  [5]

В основном СОЗУ предназначено для хранения ко-роткоживущих результатов, формируемых в местном АЛУ. Если эти результаты получаются как промежуточные в процессе вычисления достаточно сложных ариф-метическо-логических выражений, то определенного уменьшения управляющей информации можно достичь, используя автоматическую адресацию, при которой адреса в процессе обращения к СОЗУ не задаются, а вычисляются.  [6]

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

Результатом выполнения функции является вычисленное значение, которое передается в точку вызова. Процесс вычисления выражения прерывается по данному обращению и управление передается процедурному блоку В, завершает работу блока оператор возврата RETURN ( имя), где значением имя является вычисленное значение, которое подставляется в выражение.  [8]

ПГ тела замыкания может быть вычислен путем мысленной замены каждой входящей дуги на вершину-значение, представляющую соответствующий аргумент. Таким образом, все тела замыканий являются статическими, и поэтому могут генерироваться на этапе компиляции. Динамическим является только контекст, конструируемый в процессе вычисления выражения. Поэтому результат применения замыкания зависит от арности этого замыкания, являющейся числом аргументов, к которым замыкание должно быть применено, чтобы обеспечить связь для каждого идентификатора в контексте.  [9]

Простейшее преобразование данного типа называется Я-уда-лением и заключается в удалении свободных переменных из каждого Я-тела, в результате чего получается один новый комбинатор. Однако такое решение не дает максимально возможной эффективности, поскольку число применений в результирующих выражениях ( и, следовательно, число редукций графов, требуемых в процессе вычисления этих выражений) можно уменьшить, а размер структурных элементов комбинаторов - увеличить. Еще более серьезный недостаток состоит в том, что полная ленивость может быть утрачена, и при этом возникает вероятность, что в процессе вычисления выражения одно и то же подвыражение будет вычислено более одного раза.  [10]

С выполняемыми на ЦВМ программами связана совокупность информационных и управляющих слов. Упорядоченная последовательность слов, имеющая определенное значение ( смысл), образует массив. Количество ячеек памяти, используемое для представления массива в машине, называется длиной массива. В программах можно выделить следующие информационные массивы: массив рабочих ячеек, используемых для хранения промежуточных значений, получаемых в процессе вычисления выражений; массивы простых переменных; массивы, идентифицированные и описанные в программе.  [11]

Существуют два потенциальных источника оптимизации в суперкомбинаторной схеме преобразования. Первый заключается в выборе мсв аппликативного Я-тела, а второй - в присваивании порядковых номеров параметрам генерируемых суперкомбинаторов. Эти два источника не являются несвязанными: выделение конкретного мсв влияет на структуру оставшейся части Х - тела и, следовательно, на множество оставшихся мсв. Довольно простой путь оптимизации, который мы уже использовали, заключается в том, чтобы не рассматривать постоянные подвыражения в качестве мсв. Если их рассматривать как мсв, преобразованное суперкомбинаторное выражение будет, конечно, правильным, но каждое выделенное таким образом постоянное подвыражение станет постоянным аргументом в процессе вычисления выражения, что приведет к необязательным накладным расходам по передаче параметров. К счастью, нетрудно сделать так, чтобы компилятор выбирал в качестве мсв только те выражения, которые содержат свободные переменные.  [12]

Это свойство сохранения аппликативных подвыражений, для которого требуется только первое правило оптимизации из предыдущего раздела и не требуются дополнительные комбинаторы В и С. В неоптимизированном представлении с использованием S, К, / это свойство отсутствует. Компоненты постоянного подвыражения 12 распределяются по этому КЛ-выражению. Однако при применении первого правила оптимизации, приведенного выше, результирующее КЛ-выражение принимает вид К ( 12), оставляя подвыражение 12 без изменений. Сохранение постоянных подвыражений особенно важно в случае постоянных ре-дексов, и именно оно способствует их разделению в процессе вычисления выражения. В результате становится возможным избежать повторного вычисления таких редексов. Это способствует полной ленивости; данный термин иногда используют для обозначения того, что никакое вычисление не выполняется больше одного раза при выполнении функциональной программы.  [13]



Страницы:      1