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

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

Если какаято задача не решается целиком, надо пытаться выделить те ее части, которые легче поддаются решению и позволяют хотя бы прибли­зиться к поставленным общим целям. В данном случае оказывается, что синтаксис описывается во всех разумных случаях намного легче семантики.

А синтаксис можно разделить на две части: контекстносвободную грамма­тику3 (КСграмматика) языка, которая представляется достаточно обозри­мым образом даже для таких монстров, как С++ или Ada; и правила задания контекстных зависимостей, дополняющие контекстносвободное описание.

Содержательно можно охарактеризовать КСграмматику языка как ту часть его синтаксиса, которая игнорирует вопросы, связанные с зависимо­стью интерпретации лексем от описаний имен в программе. На уровне КС грамматики можно также достаточно точно описать некоторые семантиче­ские аспекты языка.

Контекстные зависимости сужают множество программ, формально до­пустимых КСграмматикой. Например, правило «все идентификаторы долж­ны иметь свои описания в программе» указывает на то, что программа с неописанными именами не принадлежит данному языку (хотя она вполне может быть допустимой с точки зрения контекстносвободного синтаксиса).

Неоднократные попытки формально описывать контекстные зависимо­сти при определении языков показали, что эта задача гораздо более слож­ная, чем задание контекстносвободного синтаксиса. Вдобавок ко всему, да­же такие естественные правила, как только что представленное, при фор­мальном описании становятся громоздкими и весьма трудно понимаемыми человеком. По этой причине в руководствах редко прибегают к формализа­ции описаний контекстных зависимостей (одним из немногих исключений такого рода является Алгол 68, за что разработчики языка были подвергнуты весьма серьезной критике; позитивным результатом этой критики явилось создание языка Pascal; см. стр. 26).

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама