Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 404

Что касается абстрактносинтаксической структуры выводимых типов, то в качестве примера рассмотрим рис. 9.1, на котором приведена конструк­ция <Переменной>, имеющей в качестве значения атрибута <Тип> один из встроенных типов (а), и <Переменной> выводимого типа (Ь). Таким образом, здесь развивается лишь ветвь, соответствующая атрибутам типа.

В ходе обработки описания при вычислении конструктора достраивается ветвь атрибутов компоненты, а при обработке обращения (к переменной, процедуре и т. п.) она используется. В этих случаях достаточно заранее построенных шаблонов добавляемых ветвей.

§ 9.3. СТРУКТУРНЫЕ ТИПЫ

С абстрактной точки зрения структуры рассмотренных в предыдущем разделе типов не существует. Это означает, что их битовое представление во всех нормальных случаях игнорируется: ни одна операция в разумно устроенном языке не дает доступ к отдельным битам этого представления.

Впрочем, есть смысл проанализировать с этой точки зрения так называемый машинноориентированный подход, достойным представителем которого яв­ляется С/С++. По существу, в этом языке нет неструктурных типов, а то, что какието объекты называются целыми, литерными и т. п., означает только од­но: в большинстве контекстов они могут рассматриваться такими. Но когда нужно, разработчик программы имеет право мгновенно изменить точку зре­ния на объект. Строго говоря, здесь имеет место использование структурных конструкторов, в частности конструктора объединения (см. § 9.3.3) в худшем из вариантов. Это следствие принципа однородности памяти. Все меняется, когда используется, к примеру, тегированная память. Для нее смена типа хра­нимых данных в регистре — нормальная операция машинного уровня, и, как следствие, приходится вводить в машинноориентированные языки строгую типизацию данных (жесткие условия для неявных приведений — см., на­пример, Эль76 — автокод многопроцессорного вычислительного комплекса Эльбрус).

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета &quot;Ангара-А5В&quot; в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие &quot;Крокодилы&quot;

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама