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

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

Пример 2.3.1. Три оператора

и подобные им содержательно полностью эквивалентны, тогда как с точки зрения текстового представления, различны.

В то же время, приведенные выше фрагменты не эквивалентны следую­щему:

Конец примера 2.3.1.

Таким образом, нужна структура синтаксических понятий, которая соот­ветствует некоторому понятию эквивалентности программ. От выбранного конкретного понятия эквивалентности зависит выбор структурного пред­ставления синтаксиса, используемого для задания абстрактного вычислите­ля, которое называется абстрактносинтаксическим представлением.

Возможен и другой, чаще всего применяемый на практике, ход. Вместо явного задания вычислительной эквивалентности задают понятие синтакси­ческой эквивалентности, которое очевидным образом согласуется с функци­ональной эквивалентностью. Так, например, предложения, перечисленные в примере 2.3.1, могут описываться следующим понятием синтаксической эквивалентности: скобки вокруг подвыражений, связанных операцией бо­лее высокого приоритета, чем операция, примененная к их результату, мо­гут опускаться. В данном смысле присваивание рассматривается так же как операция, имеющая более низкий приоритет, чем любая из арифметических операций.

Еще одна возможность, открываемая переходом к абстрактносинтакси­ческим определениям, может быть усмотрена, если мы определим, напри­мер, эквивалентность подвыражений для сложения и умножения

Здесь абстрактная эквивалентность выражает не просто соглашение об опус­кании скобок, а свойство самой операции. Опыт показывает, что дальше ассоциативности и коммутативности в абстрактном синтаксисе двигаться весьма опасно.

Рассмотрим, в частности, предельный случай: если считать эквивалент­ными все программы, которые на одних и тех же входных данных приводят к получению одних и тех же выходных данных (<функциональная эквива­лентность программ), то данное понятие является просто алгоритмически неразрешимым и использовать его для определения абстрактного синтаксиса абсурдно.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама