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

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

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

Как уже отмечалось, фрагменты, описывающие условия и действия в та­блице конечного автомата и реализованные как процедурные вставки, с точ­ки зрения препроцессора (не препроцессора системы программирования, а специального преобразователя, генерирующего представление таблицы для интерпретации), являются нераспознаваемыми данными, которые он просто пропускает без изменений для другой обработки Скомпилятором. Интер­претатор же, наоборот, не в силах сам исполнять процедуры, а потому трак­тует ссылки на них (в соответствующих полях) как данные. Таким образом, условия и действия в таблице двойственны: они являются одновременно и данными, и программными фрагментами. Автоматический преобразователь таблицы, не понимая языка таких двойственных данных, пытается, тем не менее, их объединить с обычными данными (в рассматриваемом случае это индексы строк переходов) в одной структуре.

На первый взгляд кажется, что ситуация существенно упростилась бы в языке, в котором есть возможность воспринимать данные как выполни­мые фрагменты. Пример такого рода — команда "Вычислить строку". Эта команда давала бы возможность интерпретатору понимать программыдан­ные, не оставляя их нераспознанными. Подобная команда порою встречается в языках скриптов, ориентированных на интерпретацию. А в языке LISP, в котором структуры данных и программы просто совпадают, указанная двой­ственность не возникает. Но опыт показывает, что столь общее решение чревато столь же общими и вездесущими неприятностями, и нужно искать частный его вариант, адекватный для данной задачи.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама