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

Определяющее выражение

Cтраница 3


Для определения новой составной функции используют специальную функцию DEFINE, имеющую два аргумента: первый - имя определяемой функции, а второй - так называемое определяющее выражение, которое представляет собой Д - выражение, оформленное в соответствии с синтаксисом языка ЛИСП, и выглядит как обращение к специальном функции I AMBDA. Функция IAMBDA имеет два аргумента: первый соответствует списку формальных параметров из Д - выражения, а второй - определяющему правилу.  [31]

НЕПРЕДИКАТЙВНОЕ ОПРЕДЕЛЕНИЕ - определение, посредством к-рого создается, или вводится в рассмотрение предмет, являющийся одним из значений неопределенного имени ( переменной), участвующего в определяющем выражении. В тех случаях, когда эта возможность не реализуется ( что бывает, если все вхождения упомянутого неопредел.  [32]

Разряды с 39 го по 25 - й отведены под а-указатель, который содержит адрес свойства: адрес начала машинной подпрограммы для свойств SUBR и FSUBR, адрес определяющего выражения функции в списочной памяти для свойств EXPR и FEXPR, адрес значения константы для свойства APVAL, адрес самой информационной ячейки числа для свойств FIX и BITS. Как мы увидим впоследствии ( см. разд.  [33]

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

Здесь не предусмотрен переход к фиктивной метке, стоящей раньше команды перехода. Но такой переход возможен лишь в одной ситуации - на начало подпрограммы тела определяющего выражения. Смещение адреса в этом случае стандартное и его нет нужды хранить в списке.  [35]

Подпрограмма evfun исследует список свойств атома, заданного в качестве наименования интерпретируемой функции. Если в списке свойств обнаруживается индикатор EXPR или FEXPR, то соответствующим свойством является определяющее выражение функции, из которого выброшен первый элемент - атом LAMBDA. Это выражение вместе со списком аргументов ( для FEXPR) или их значений ( для EXPR) передается подпрограмме evlam для завершения интерпретации. В случае обнаружения индикаторов SUBR или FSUBR управление передается машинной подпрограмме, начальный адрес которой извлекается из списка свойств. Здесь, в отличие от сказанного в разд. Подробнее характер использования этих ячеек разъяснен ниже, в разд.  [36]

Левую и правую части металингвистических формул соединяют знаком:: , который означает это есть, есть по определению или имеет структуру. Операция соединения специального символа не имеет, с ее помощью метапостоянные или метапеременные в определяющем выражении последовательно приписывают друг к другу.  [37]

Fn r - i причем п является номером некоторого терма, содержащего г ( и не больше) различных свободных индивидных переменных. Этот терм может в свою очередь содержать один или несколько явно определенных символов; но в этом случае определяющее выражение любого из этих символов будет иметь номер, меньший номера данного терма.  [38]

Структура рабочей подпрограммы зависит о. Кроме четырех известных нам классов, следует ввести еще два: СОМР и FCOMP для функций, полученных компиляцией определяющих выражений функций классов EXPR и FEXPR соответственно. Следует считаться с тем, что во время компиляции выражения ( 2) сама функция fn может быть еще не компилирована, но окажется прокомпилированной к моменту выполнения рабочей подпрограммы для этого выражения. Поэтому структуры рабочих подпрограмм для функций классов EXPR и СОМР ( а также для пары классов FEXPR и FCOMP) должны быть схожими и первая должна легко преобразовываться во вторую, если обнаружится, что к моменту выполнения рабочей подпрограммы функция fn также подверглась компиляции. Это соображение было одной из причин, по которой мы приняли описанную выше схему расположения аргументов компилированных функций в ассоциативном списке.  [39]

Это изменение свойств связано с самим процессом компиляции, и пренебрегать им нельзя. Например, если две функции обращаются одна к другой ( а это совсем не редкость), то во время компиляции определяющего выражения первой ( по порядку компиляции) из этих функций вторая еще сохраняет свой прежний класс.  [40]

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

Подпрограмму evfal мы детально не описываем, так как она довольно громоздка, но основана на уже известных принципах. Анализируя значение своего первого аргумента, она должна создать мостик ( возможно, тривиальный - на предыдущую ячейку ассоциативною списка), занести в ассоциативный список наименования связанных переменных функционального аргумента, выполнить его тело ( с помощью call или eval, а может быть, - evcomp или еоехрг, если функциональный аргумент был задан не определяющим выражением, а наименованием функции) и восстановить значения указателей aptr и base, если они были испорчены.  [42]

Определяющее выражение нельзя вычислить, оно не имеет значения. Однако само определяющее выражение может быть использовано вместо наименования функции.  [43]

Для получения решения в общем случае, описываемом интегродиффе-ренциальными уравнениями (1.2.30) и (1.2.31), приходится, как правило, использовать численные методы. С этой целью уравнения удобно представить в дифференциальной форме. Точнее говоря, с помощью определяющих выражений (1.2.28) и (1.2.29) можно показать, что при Т2 у-ь 1 ( см. разд.  [44]

Непредикативное-определение) - определяющее выражение использует определяемый термин. Таковы уже приведенные О. Однако квантор существования, входящий в определяющее выражение, не приводит на самом деле к непредикативности благодаря тому обстоятельству что ( корректно сформулированное) и.  [45]



Страницы:      1    2    3    4