Cтраница 1
Тип выражения является отрезком типа соответствующей переменной или наоборот. [1]
Тип выражения соответствует типу и значениям его операндов. Смешанные типы и выражения не допускаются. [2]
Тип выражения определяет тип константы, а его значение - значение константы. Если тип выражения не определяется однозначно изображением его операндов и знаков операций, оно должно пре-фиксироваться идентификатором типа ( см. разд. В программах константы изображаются своими именами. Знаки операций в качестве имен констант допускаются только в определениях операций произвольных типов данных ( см. разд. Константа базы данных может быть снабжена замком защиты, который должен быть открыт программой, использующей эту константу. [3]
Тип выражения определяется типом операндов, входящих в выражение, и зависит от операций, выполняемых над ними. Например, если оба операнда, над которыми выполняется операция сложения, целые, то, очевидно, что результат тоже является целым. А если хотя бы один из операндов дробный, то тип результата дробный, даже в том случае, если дробная часть значения выражения равна нулю. [4]
Тип выражения ( целый или вещественный) определяется типом операндов и операциями, которые над ними выполняются. Тип операнда определяется либо его написанием ( например, константа 9 имеет целый тип, а константы 11.7 или 9.0 имеют вещественный тип), либо его описанием. Если оба типа целые, то выражение тоже имеет целый тип. Если же хотя бы один из них вещественный, то тип всего выражения вещественный. Операция - f - определена только для того случая, когда оба операнда имеют целый тип и дает результат тоже целого типа. [5]
Тип выражения if В then Al else A2 есть integer, если Al и А2 оба типа integer, и типа real в противном случае. [6]
Тип выражения целый, если оба операнда - целого типа, и вещественный в противном случае. [7]
Тип выражения определяет тип переменной, в которую вводится значение. [8]
Если типы выражения и переменной различаются, выполняется преобразование типа результата выражения к типу переменной. [9]
Различаются три типа выражений. Арифметические выражения строятся из простых и индексированных переменных, целых и вещественных констант, вызовов функций и примитивных арифметических операций. Предполагается обычный порядок выполнения операций; операции с одинаковым приоритетом выполняются слева направо. При необходимости для явного управления последовательностью операций применяются скобки. [10]
При проверке типа выражения мы хотим найти наиболее общий тип, который оно может иметь, в том смысле, что все мо-номорфные типы, которые это выражение может принимать, т.е. типы, получаемые при присваивании переменным типа конкретных значений, являются частными случаями этого наиболее общего типа. Другими словами, нам необходимо сконструировать систему вывода типов, которая могла бы или определить наиболее общий тип, или прийти к противоречию, которое означает, что выражение не имеет наиболее общего типа. Если исходная программа содержит пользовательские объявления типов, как это может быть в языке Норе, тогда последующая проверка типов необходима, чтобы гарантировать, что объявленный тип совместим с выведенным типом. Это может потребовать больше работы, чем при прямом выводе, но для языков сопоставления с образцом, где функция может быть определена с помощью нескольких уравнений, выведенный тип каждого уравнения может быть проверен на соответствие объявленному типу. Такая проверка, выполненная независимо для каждого уравнения, может потенциально быть более эффективной, чем соответствующий вывод типа, который отождествляет типы, выводимые из каждого уравнения, чтобы получить наиболее общий тип. [11]
Различают три типа выражений: скалярные выражения, выражения над массивами, выражения над структурами. [12]
При автоколебаниях двухзонного типа выражения для размаха и смещения центра автоколебаний могут быть получены, если в зависимостях (6.147) и (6.148) выразить 8пр и 0лев через параметры привода. В любом случае эти величины могут быть определены графически, построением предельного цикла. Большой практический интерес представляет получение аналитических выражений, позволяющих проанализировать влияние параметров системы на размах и смещение центра. G) и это можно сделать, используя топологические свойства двухзонного предельного цикла, показанного на рис. 6.43. Полученные при таком допущении формулы позволяют определить приближенное значение параметров автоколебаний и в случае произвольной механической характеристики двигателя с точностью тем большей, чем лучше стабилизирована система и чем меньше в ней размах колебаний. В хорошо стабилизированных системах точность получается вполне достаточной и в большинстве случаев превышает точность, с которой удается практически определить конструктивные параметры. [13]
В этом объявлении тип выражения слева от стрелки означает, что max в качестве аргументов использует пару чисел в отличие от функции square, где использовался лишь один аргумент. [14]
Существует еще один тип выражений, который мы можем рассмотреть отдельно, а именно выражение, включающее примитивные функции. И опять мы можем совершенно обоснованно предположить, что эти функции уже включены в описываемую систему и находятся в листьях графов выражений, а их применение к аргументам инициируется макросом UNWIND. Тогда соответствующие дельта-правила могут применяться так же, как и в гл. Однако в G-машине все применения строгих примитивных ( или основных) функций обрабатываются по В-схеме с использованием дампа в качестве отдельного стека. Эта схема повышает эффективность работы, так как позволяет избежать чрезмерного разрастания графовых конструкций. [15]