Az ABC programozási nyelv

Utasítások, vezérlési szerkezetek

Vezérlési szerkezetek

Egyszerű utasítások

WRITE kifejezés --- A képernyőre írja a kifejezést. A kifejezés előtti, vagy utáni „/” jel új sort eredményez.
READ sor RAW --- A sor által mutatott memóriacímre beolvas egy sort.
PUT kifejezés IN változó --- A kifejezés értékét a változó által megadott címre rakja.
SET RANDOM kifejezés--- Egy véletlenszerű szekvenciát indít el.
PASS --- Nem csinál semmit. Olyan mint más programozási nyelvekben a NULL.
CHECK teszt --- Megvizsgálja a teszt kifejezés igaz, vagy hamis voltát, és megáll, ha hamis
DELETE változó --- Törli annak memóriacímnek az értékét, amelyre a változó mutat.

Elágazások

Az elágazások ebben a nyelvben is egy kifejezés igaz értékétől függenek. Ha a kifejezés igaz, akkor végrehajtja az őt követő utasításokat, ha hamis, akkor továbblép. Érdekes, hogy a nyelv nem nyújt lehetőséget ELSE ág használatára. Tehát az IF szerkezet a következőképpen néz ki:

IF teszt: utasítások
Egy másik lehetőség elágazásokra a több programozási nyelvből ismert is CASE utasítás. Az ABC-ben ennek megfelelője a SELECT. A SELECT-et több teszt kifejezés követi, és ha a kiértékelés igaz, akkor végrehajtja az őt követõ utasítássorozatot:

SELECT:
Teszt1: utasítások1
.
.
Tesztn: utasításokn

A nyelv megköveteli, hogy egy ág mindenféleképpen teljesüljön, ezért itt lehetõség van az ELSE használatára.

Ciklusok

A WHILE ciklus teljesen hasonló az egyéb nyelvekben használt ciklusokhoz. Amíg egy logikai érték igaz, addig végrehajtja az utasításokat:

WHILE teszt: utasítások

A FOR ciklus egy iterátorhoz hasonló. Egy halmaz elemein megy végig, és minden elemet külön-külön visszaad egy változóban. A ciklusmagon belül ezzel a változóval tudunk hivatkozni az aktuális elemre. Annyiszor hajtódik végre, ahány eleme van a halmaznak:

FOR name,...IN train: utasítások

A nyelvben „train”-nek, azaz vonatnak nevezik az olyan adatokat, amelyeken lehet iterációt végrehajtani.
Például:

HOW TO RETURN a unioja b:
FOR x IN b:
IF x not.in a:
INSERT x IN a
RETURN a

Termináló utasítások

QUIT--- kilépés (akár egy programból, egy alprogramból, vagy magából az ABC-bõl)
RETURN kifejezés --- kilép a függvényből, és visszaadja a kifejezés értékét
REPORT teszt --- Kilép a predikátumból, és visszaadja a teszt értékét
SUCCEED--- Ugyanaz, csak sikert jelez.
FAIL --- Hibát jelez.

Tesztek

Láthattuk, hogy a nyelvben például az elágazásoknál és a while ciklusnál úgynevezett tesztek kiértékelése történik. Ezek lényegében megegyeznek a logikai kifejezésekkel. A legegyszerűbbek a tesztek közül a sorbarendezhetőségi operátorok:
x < y, x <= y, x >= y, x > y, x = y, x <> y, 0 <= d < 10

Lehetőségünk van a logikai és, vagy, not alkalmazására is. Az első kettő kiértékelése az első hamis, vagy az első sikeres teszt kiértékeléséig tart:
teszt1 AND teszt2 AND ...
teszt1 OR teszt2 OR ...
NOT teszt

Ezenkívül lehetőség van annak „tesztelésére”, hogy egy halmaz minden eleme, vagy néhány eleme, vagy egy eleme sem rendelkezik valamilyen tulajdonsággal:
EACH name,... IN train HAS teszt
SOME name,... IN train HAS teszt
NO name,... IN train HAS teszt