A PL/1 programozási nyelv

Nyelvi elemek

Nyelvi elemek

A PL/1 az első olyan programnyelvek között volt, amelyiknél már megengedték a kötetlen írásmódot. Persze ekkor is be kell tartani a nagyszámítógépeknél elterjedt rekordformátumokat, így minden sornak be kell férnie 71 karakterbe. Minden sor első karakterét a fordítási direktívák jelzésére használja a compiler, ugyanis ha ott * jel szerepel, akkor az a sor egy olyan kulcsszót fog tartalmazni, ami csak a fordítónak szól. Ha pedig egy PL/1 utasítás hosszabb lenne ettől a megengedett kerettől, akkor a 72. oszlopban szerepelnie kell egy karakternek, hogy a fordító a következő sort is hozzávegye.
A PL/1 programok leírására 60 jel közül választhatunk. Ezek az angol ábécé 26 betűje, a számjegyek, valamint 24 egyéb jel: @, +, -, *, $, /, (, ), _, %, ; , ', :, >, <, =, ?, |, &, pont, vessző. Az azonosítók betűkből, számjegyekből, és $, @, #, _ jelekből. állhatnak, de nem kezdődhetnek számjeggyel és "_" jellel. Az azonosítók hossza nem lehet több 31 karakternél, illetve EXTERNAL azonosító esetén 6 karakternél.
Megjegyzések a /* */ jelek közé rakható, ami a program bármely részére elhelyezhető. A megjegyzések több sorosak is lehetnek az előbbi szabályt figyelembe véve, illetve fordítási direktívában megadható, hogy egymásba ágyazhatók-e.
Minden programsor címkézhető, akár többszörösen is. A nyelv blokk- strukturáltságából következően blokkok is címkézhetők, amikor a címke az egész blokkot fogja azonosítani. Az alprogramok azonosítása is így történik.
Alapszavak:
A nyelvben az alapszavak egy részének rövidített írásformája is van. A nyelv alapszavait, és esetleges rövidítésüket tartalmazza az alábbi táblázat:

Alapszó
Rövidítés
Alapszó
Rövidítés
ALIGNED   ALLOCATE  
AUTOMATIC AUTO BASED  
BEGIN   BINARY BIN
BIT   BUFFERED BUF
BY   BY NAME  
CALL   CHARACTER CHAR
CHECK   CLOSE  
COLUMN COL CONDITION  
CONTROLLED CTL CONVERSION CONV
COPY   DATA  
DECIMAL DEC DECLARE DCL
DEFINED DEF DIRECT  
DO   EDIT  
ELSE   END  
ENDFILE   ENTRY  
ENVIRONMENT ENV ERROR  
EXTERNAL EXT FILE  
FIXED   FLOAT  
FREE   GET  
GO TO GOTO IF  
INITIAL INIT KEY  
KEYED   KEYFROM  
LABEL   LIKE  
LINE   LIST  
LOCATE   MAIN  
ON   OPEN  
OPTIONS   OUTPUT  
PAGE   PICTURE PIC
POINTER PTR PROCEDURE PROC
PUT   READ  
RECORD   RECURSIVE  
RETURN   RETURNS  
REWRITE   SEQUENTIAL SEQL
SET   SIGNAL  
SKIP   STATIC  
STOP   STEAM  
STRING   SYSTEM  
THEN   TO  
UNALIGNED UNAL UNBUFFERED UNBUF
UPDATE   VARYING VARY
WHILE   WRITE