BABBAGE - язык программирования будущего - страница 2

Шрифт
Интервал

стр.

В языке ADA долго не допускалось использования подъязыков. В основу языка BABBAGE, для увеличения его гибкости положена возможность расширения языка. Каждый пользователь может и должен сам определить размер своей версии языка программы. Спорный вопрос о размере BABBAGE отпадает, так как каждый пользователь сам определяет размер языка в соответствии с его требованиями. BABBAGE, таким образом, является идеальным языком для генерации версии компилятора в каждом отдельном случае. иже приведены примеры, которые могут дать некоторое представление о языке BABBAGE.

В структурных языках программирования запрещалась замена операторов передачи управления GOTO и многоходовых условных переходов более простой структурой IF-THEN-ELSE. В языке BABBAGE имеется несколько новых операторов условного перехода, которые выполняют роль конечных термов в структуре программы пользователя:

WHAT IF (что если)

используется в языках программирования; переход выполня

ется перед проверкой контролируемого условия;

OR ELSE (иначе)

наличие варианта, как, например, в фразе "Прибавить эти

два числа, OR ELSE (или иначе)";

WHY NOT? (почему нет?)

выполняет код который следует в безразлично каком порядке;

WHO ELSE? (кто еще?)

используется для опроса во время операций ввода/вывода;

ELSEWHERE (где-то в другом месте)

используется для того, чтобы указать, что программа

пользователя находится где-то в другом месте, тогда как

он полагает, что она здесь;

GOING GOING GONE (иду иду ушел)

используется для записи неструктурных программ; выполняет

произвольный переход к другой части программы пользовате

ля; выполняет работу 10-ти операторов GOTO.

В течении многих лет в языках использовались операторы FOR (в течении), DO UNTIL (выполнять до тех пор, пока), DO WHILE (выполнять в то время, как) и др. для обозначения цикла (LOOP). Исследуя это направление, разработчики языка BABBAGE предлогают нижеуказанные операторы, обозначающие цикл программы:

DON'N DO WHILE NOT (не выполнять несмотря на)

этот цикл не выполняется, если контролируемое условие не

является ложным (или если это полдень в Пятницу);

DIDN'T DO (не выполнялось)

цикл выполняется один раз и прекращает дальнейшее

выполнение каких-либо циклов;

CAN'T DO (невозможно делать)

выполнение цикла не может продолжаться;

WON'T DO (отказ выполнять)

центральный процессор приостанавливает выполнение про

граммы, так как обнаруживает погрешности в коде выполня

емого цикла программы; выполнение программы может быть

возобновлено, если на пульте будет набрано "May I?"

("Можно мне?");

WIGHT DO (можно не выполнять)

зависит от того какое решение будет принято центральным

процессором; выполнение, если CPU находится в рабочем

состоянии; прекращение выполнения, если CPU в состоянии

останова, или если CPU в состоянии останова по ошибке;

DO ONTO OTHERS (во всем, как хотите, чтобы поступали с вами,

так поступайте и вы с другими)

используется при записи основного цикла систем, работа

ющих в режиме разделения времени, с целью использования

в этих системах единого способа реализации взаимоотноше

ний между отдельными пользователями;

DO BACH (изобразить Баха)

используется для записи временных циклов для музыки,

генерируемой с помощью ЭВМ (определение нужного ритма).

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

JUST IN CASE (на всякмй случай)

предназначен для обработки запасных пояснений и вводимых

в последнюю минуту сведений; разрешает пользователю

выполнять умножение на ноль с целью исправления, если

случайно выпонено деление на ноль; разрешается также

выполнение обратного (восстанавливающего) действия и

после случайного выполненитя умножения;

BRIFF CASE (случай краткой записи)

предназначен для обеспечения краткости программы;

OPEN AND SHUT CASE (случай "открыть и закрыть")


стр.

Похожие книги