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

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

Пример на рис. 2.11 демонстрирует древовидное представление фраг­мента текста программы 1.4.2:

Если вы захотите переписать фрагмент, приведенный в программе 2.3.1, скажем, на язык Pascal, и построите его абстрактносинтаксическую струк­туру (понятно, что для этого нужна предварительная работа: описание со­ответствующих шаблонов!), то вы убедитесь, что с точностью до оператора вывода результатов счета получится то же, что и для языка С. Это ли не подтверждение родственности моделей вычислений двух языков!

§ 2.4. ПРИНЦИПИАЛЬНЫЕ ТРУДНОСТИ, СВЯЗАННЫЕ С СЕМАНТИКОЙ

Любой алгоритмический язык является формальным языком. Поэто­му для его точного определения нужно задать его синтаксис и семантику. Методы определения синтаксиса рассматриваются во вводных курсах про­граммирования для будущих профессионалов. Хотя полноты определения синтаксиса обычно не достигают, но изложение этих методов достаточно последовательное и строгое (как Вы могли увидеть в предыдущих главах данной книги). Даже если нечто объясняется на пальцах вместо кропотли­вого точного определения (как, например, соглашения о том, какое описание соответствует какому вхождению идентификатора), об этом говорится пря­мо.

Семантику же обычно рассказывают на поверхностном уровне, без тени точных определений, в выражениях типа «При исполнении присваивания x:=Sстарое значение, содержавшееся в памяти, обозначенной именем х, используется для вычисления S, после чего заменяется на полученное зна­чение». Это скорее беда, чем вина начальных (да и профессиональных) кур­сов программирования. Ведь смысл— многоаспектное, крайне сложное и неформализуемое понятие. Это означает, что любое его уточнение прием­лемо лишь для некоторых целей и отказывает в других случаях. Но это не означает, что формализовывать семантику не нужно. Ведь если мы от­кажемся от ее формализации, мы тем самым сползем на позицию первых языков типа FORTRAN: смысл выражений языка определяется тем, как они переводятся транслятором и исполняются компьютером.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама