Тип - идентификатор - Большая Энциклопедия Нефти и Газа, статья, страница 2
Дипломат - это человек, который посылает тебя к черту, но делает это таким образом, что ты отправляешься туда с чувством глубокого удовлетворения. Законы Мерфи (еще...)

Тип - идентификатор

Cтраница 2


Описывайте все идентификаторы явно. Правило определения типа идентификатора по первой букве вносит наряду с небольшими удобствами массу ошибок и трудностей в понимание программы.  [16]

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

Ниже представлен фрагмент программы на RITRANe, Описана таблица идентификаторов. Строки таблицы состоят из трех полей: идентификатор ( ID), тип идентификатора ( TYP) и адрес ( ADDR), присвоенный идентификатору. Регистр RID содержит идентификатор; счетчик CTYP содержит внутреннее значение типа идентификатора; счетчик CADDR содержит текущее значение счетчика адреса программы. В этом фрагменте идентификатор вместе со своими характеристиками записывается в таблицу.  [18]

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

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

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

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

Первое из этих описаний означает, что вводится простая переменная с именем х, которая будет принимать вещественные значения. Во втором примере описываются три простые переменные, которые будут принимать только целые значения, в третьем - описываются две простые переменные, которые могут принимать логические значения true и false. Описания одного типа идентификаторов отделяются от другого типа точкой с запятой.  [23]

Описания языков программирования контекстно-свободными и даже неукорачивающими грамматиками вынуждает определение части формальных условий переносить из синтаксиса в семантику. Например, в ФОРТРАНе при анализе каждого идентификатора необходимо определить, является ли его описание явным или неявным. Если описание явное, то определяется тип идентификатора. Аналогичный анализ необходимо проводить при определении типа формальных и фактических параметров процедур АЛГОЛа и подпрограмм ФОРТРАНа.  [24]

Ниже представлен фрагмент программы на RITRANe, Описана таблица идентификаторов. Строки таблицы состоят из трех полей: идентификатор ( ID), тип идентификатора ( TYP) и адрес ( ADDR), присвоенный идентификатору. Регистр RID содержит идентификатор; счетчик CTYP содержит внутреннее значение типа идентификатора; счетчик CADDR содержит текущее значение счетчика адреса программы. В этом фрагменте идентификатор вместе со своими характеристиками записывается в таблицу.  [25]

Это действительно так, поскольку теперь / является let - связанным идентификатором, локальным в выражении, так что мы точно знаем, как он определен, и можем использовать эту информацию в каждом отдельном случае его вхождения. Здесь / имеет тип а-а, который может принять вид пит - пит, когда / применяется к аргументу 3, и truval - truval, когда / применяется к аргументу true. Переменная типа, такая, как а, входящая в выражение типа let - связанного идентификатора, называется родовой и может получать различные значения для различных вхождений идентификатора при условии, если она не входит одновременно в выражение типа Я-связанного идентификатора, область действия которого в выражении включает область действия let - связанного идентификатора.  [26]

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

Все получатели списка левой части должны иметь один и тот же тип. Если это логический тип, то выражение также должно быть логическим. Если этот тип вещественный или целый, то выражение должно быть арифметическим. Если тип арифметического выражения отличается от типа получателей, то считается, что автоматически применена соответствующая функция преобразования. Следует отметить, что Е, имея вещественный тип, определено только с конечной точностью ( см. разд. Тип идентификатора процедуры задается описателем, который является первым символом соответствующего описания процедуры ( см. разд.  [28]

29 Операторы описания типа. [29]

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



Страницы:      1    2