CSL-CROOK - Złożone instrukcje warunkowe

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Służą one do przeprowadzania jednego lub wielu badań, a także wykonania operacji na zbiorach.

Instrukcja HEAD

Postać instrukcji:

O HEAD Z1 e1 @ e2

Instrukcja powoduje umieszczenie obiektu <O> na początku zbioru Z1 pod warunkiem, że obiekt <O> nie należy do Z1. Jeżeli przed wykonaniem instrukcji obiekt <O> należy do Z1, to zbiór Z1 nie ulegnie zmianie. W przypadku dodania obiektu <O> do Z1 wykonywany jest skok e1, w przypadku przeciwnym nastąpi skok do instrukcji o etykiecie e2.

Instrukcja TAIL

Postać instrukcji:

O TAIL Z1 e1 @ e2

Jeżeli obiekt <O> nie należy do Z1 to jest on dodawany do zbioru Z1 i umieszczony na końcu ciągu obiektów. W tym przypadku skok nastąpi do instrukcji o etykiecie e1. Jeżeli natomiast obiekt <O> należy do zbioru Z1, to zbiór Z1 pozostaje bez zmiany, a działanie przenosi się do instrukcji z etykietą e2.

Uwaga: Działania instrukcji HEAD i TAIL dotyczą zbiorów uporządkowanych.

Instrukcja FROM

Postać instrukcji:

O FROM Z1 e1 @ e2

Jeżeli obiekt <O> należy do zbioru Z1, to po wykonaniu instrukcji obiekt ten zostanie usunięty ze zbioru Z1 i nastąpi skok do instrukcji o etykiecie e1. Natomiast jeżeli obiekt nie należy do Z1 przed wykonaniem instrukcji, to po wykonaniu Z1 nie ulegnie zmianie i następuje skok do etykiety e2.

Instrukcja TO

Postać instrukcji:

O TO Z1

Obiekt <O> jest dodawany do zbioru Z1 niezależnie od tego, czy był wcześniej elementem Z1 i zajmuje ostatnią pozycję w zbiorze Z1. Jeżeli zbiór Z1 jest zbiorem boolowskim to efektem instrukcji TO jest wykonanie jednej instrukcji HEAD, TAIL lub INTO.

Źródło: Translator języka CSL-CROOK dla minikomputera MERA-400 w systemie operacyjnym CROOK-4, Instrukcja Programisty (wersja-17/2), Janusz Gocałek, Jacek Klauziński, Poznań, 1985