
- •Введение в Декларативный Язык программирования пролог
- •Классификация яву по области применения
- •1. Классификация языкoв прoграммирoвания
- •1. Плoхая инфoрмирoваннoсть пoльзoвателей.
- •2. Кoнсерватизм пoльзoвателей.
- •3. Неoбхoдимoсть решения специализирoванных задач.
- •4. Oбилие свoйств, кoтoрыми oбладают языки.
- •6. Oтличия при реализации языка oт стандарта.
- •7. Существoвание различных эвм.
- •Универсальный язык программирования
- •КраткаЯ характеристика Языка apl
- •КраткаЯ характеристика Языка форт
- •23 34 7 9 4 Сумнечет.
23 34 7 9 4 Сумнечет.
Здесь слова (некоторые команды уже были рассмотрены раньше) интерпретируются следующим образом:
-
От : до ;
определяет новое слово СУМНЕЧЕТ;
0 (или 2)
помещает в стек число 0 (или 2) ;
DO
удаляет из стека два элемента (например, i и j) и выполняет слова до LOOP i-j раз;
IF
если вверх стека 0, то выполняются слова между IF и ELSE, иначе между ELSE и THEN;
.
печатает символ из стека.
Трассировка программы
Слово |
Стек |
Комментарий |
23 |
23 |
|
34 |
23 34 |
|
7 |
23 34 7 |
|
9 |
23 34 7 9 |
|
4 |
23 34 7 9 4 |
Задает количество элементов массива |
СУМНЕЧЕТ |
23 34 7 9 4 |
Загрузить в память определение |
0 |
23 34 7 9 4 0 |
|
SWAP |
23 34 7 9 0 4 |
|
0 |
23 34 7 9 0 4 0 |
|
DO |
23 34 7 9 0 |
Удалить значения, управляющие циклом |
SWAP |
23 34 7 0 9 |
|
DUP |
23 34 7 0 9 9 |
|
2 |
23 34 7 0 9 9 2 |
|
MOD |
23 34 7 0 9 1 |
|
IF |
23 34 7 0 9 |
TOS5=1; выполнить от IF до ELSE |
+ |
23 34 7 9 |
|
ELSE |
23 34 7 9 |
Пропустить до THEN |
DROP |
23 34 7 9 |
Пропускается |
THEN |
23 34 7 9 |
Пропускается |
LOOP |
23 34 7 9 |
Возврат к DO |
DO |
23 34 7 9 |
|
SWAP |
23 34 9 7 |
|
DUP |
23 34 9 7 7 |
|
2 |
23 34 9 7 7 2 |
|
MOD |
23 34 9 7 1 |
|
IF |
23 34 9 7 |
TOS=1; выполнить от IF до ELSE |
+ |
23 34 16 |
|
ELSE |
23 34 16 |
Пропустить до THEN |
DROP |
23 34 16 |
Пропускается |
THEN |
23 34 16 |
Пропускается |
LOOP |
23 34 16 |
Возврат к DO |
DO |
23 34 16 |
|
SWAP |
23 16 34 |
|
DUP |
23 16 34 34 |
|
2 |
23 16 34 34 2 |
|
MOD |
23 16 34 0 |
|
IF |
23 16 34 |
TOS=0; выполнить от ELSE до THEN |
+ |
23 16 34 |
Пропускается |
ELSE |
23 16 34 |
|
DROP |
23 16 |
|
THEN |
23 16 |
|
LOOP |
23 16 |
Возврат к DO |
DO |
23 16 |
|
SWAP |
16 23 |
|
DUP |
16 23 23 |
|
2 |
16 23 23 2 |
|
MOD |
16 23 1 |
|
IF |
16 23 |
TOS=1; выполнить от IF до ELSE |
+ |
39 |
|
ELSE |
39 |
Пропустить до THEN |
DROP |
39 |
Пропускается |
THEN |
39 |
Пропускается |
LOOP |
39 |
Больше итераций нет |
; |
39 |
Возврат из СУМНЕЧЕТ |
. |
<стек пуст> |
Напечатать результат |
1Последовательность рассмотрения этих причин не связана с их важностью или каким-либо приоритетом.
2 Интересно отметить, что непосредственно на APL было сделано само формальное описание System/360 и это является единственным таким случаем.
3
4
5