A reserved word in Extended ALGOL has the same syntax as an identifier. The reserved words are divided into three types.
A reserved word of type 1 can never be declared as an identifier; that is, it has a predefined meaning that cannot be changed. For example, because LIST is a type 1 reserved word, the following declaration is flagged with a syntax error:
ARRAY LIST[0:999]
A reserved word of type 2 can be redeclared as an identifier; it then loses its predefined meaning in the scope of that declaration. For example, because IN is a type 2 reserved word, the following declaration is legal:
FILE IN(KIND = READER)
However, in the scope of the declaration, the following statement is flagged with a syntax error on the word IN:
SCAN P WHILE IN ALPHA
If a type 2 reserved word is used as a variable in a program but it is not declared as a variable, then the error message that results is not the expected UNDECLARED IDENTIFIER. Instead, it might be NO STATEMENT CAN START WITH THIS.
A reserved word of type 3 is context-sensitive. It can be redeclared as an identifier, and if it is used where the syntax calls for that reserved word, it carries the predefined meaning; otherwise, it carries the user-declared meaning. The different meanings for the type 3 reserved word STATUS are illustrated in the following example:
BEGIN
TASK T;
REAL STATUS;
% IN THE NEXT STATEMENT, "STATUS" IS A REAL VARIABLE
STATUS:= 4.5;
% IN THE NEXT STATEMENT, "STATUS" IS A TASK ATTRIBUTE
IF T.STATUS = VALUE(TERMINATED) THEN
% IN THE NEXT STATEMENT, "STATUS" IS A REAL VARIABLE
STATUS := 10.0;
END.Type 3 reserved words include the following:
-
File attribute names
-
Task attribute names
-
Library attribute names
-
Direct array attribute names
-
Mnemonics for attribute values
All file attributes, direct array attributes, and mnemonics described in the File Attributes Programming Reference Manual are type 3 reserved words in ALGOL.
Because attribute mnemonics are type 3 reserved words in ALGOL, situations could arise with existing programs in which a conflict occurs on a new release between a local variable used with a file attribute and the newly introduced mnemonic. The compiler always treats the identifier as a mnemonic if a mnemonic is allowed in that context and it is a valid mnemonic. To make sure that a local variable is treated as such by the compiler, enclose it in parentheses to force its independent evaluation as an arithmetic expression. The effect of parentheses on the interpretation of a valid mnemonic in context is illustrated by the following example:
BEGIN
REAL
INDEXED,
INDXXED;
FILE F1 (FILEORGANIZATION =
INDEXED); % Mnemonic = 2
FILE F2 (FILEORGANIZATION =
INDXXED); % Item value = 0
FILE F3 (FILEORGANIZATION =
(INDEXED)); % Item value = 0
FILE F4 (FILEORGANIZATION =
(INDXXED)); % Item value = 0
INDEXED := 4;
INDXXED := 3;
F1 (KIND=DISK, FILEORGANIZATION =
INDEXED); % Mnemonic = 2
F2 (KIND=DISK, FILEORGANIZATION =
INDXXED); % Item value = 3
F3 (KIND=DISK, FILEORGANIZATION =
(INDEXED)); % Item value = 4
F4 (KIND=DISK, FILEORGANIZATION =
(INDXXED)); % Item value = 3
END.Reserved Words List
Reserved Words List provides an alphabetical list of reserved words for Extended ALGOL. Each reserved word is identified as type 1, 2, or 3.
Table 20. Reserved Words List
|
Reserved Word |
Type 1 |
Type 2 |
Type 3 |
|---|---|---|---|
|
ABORTTRANSACTION |
X |
||
|
ABORT |
X |
||
|
ABS |
X |
||
|
ACCEPT |
X |
||
|
ACCEPTCLOSE |
X |
||
|
ACCEPTOPEN |
X |
||
|
ACTUALNAME |
X |
||
|
AFTER |
X |
||
|
ALL |
X |
||
|
ALPHA |
X |
||
|
ALPHA7 |
X |
||
|
ALPHA8 |
X |
||
|
AND |
X |
||
|
ANY |
X |
||
|
ANYFAULT |
X |
||
|
ANYTYPE |
X |
||
|
APPLYINSERT |
X |
||
|
APPLYMODIFY |
X |
||
|
ARCCOS |
X |
||
|
ARCSIN |
X |
||
|
ARCTAN |
X |
||
|
ARCTAN2 |
X |
||
|
ARRAY |
X |
||
|
ARRAYS |
X |
||
|
ARRAYSEARCH |
X |
||
|
AS |
X |
||
|
ASCII |
X |
||
|
ASCIITOEBCDIC |
X |
||
|
ASCIITOHEX |
X |
||
|
ASSIGN |
X |
||
|
ASSOCIATEDDATA |
X |
||
|
ASSOCIATAEDDATALENGTH |
X |
||
|
ATANH |
X |
||
|
ATEND |
X |
||
|
ATTACH |
X |
||
|
ATTRIBINFORMER |
X |
||
|
ATTRIBSEARCHER |
X |
||
|
AVAILABLE |
X |
||
|
AWAITOPEN |
X |
||
|
BACKUPPREFIX |
X |
||
|
BASE |
X |
||
|
BEFORE |
X |
||
|
BEGIN |
X |
||
|
BEGINTRANSACTION |
X |
||
|
BINARY |
X |
||
|
BLOCK |
X |
||
|
BOOLEAN |
X |
||
|
BUILDATTLIST |
X |
||
|
BY |
X |
||
|
BYFUNCTION |
X |
||
|
BYTITLE |
X |
||
|
CABS |
X |
||
|
CALL |
X |
||
|
CALLING |
X |
||
|
CANCEL |
X |
||
|
CANCELTRPOINT |
X |
||
|
CAND |
X |
||
|
CASE |
X |
||
|
CAT |
X |
||
|
CAUSE |
X |
||
|
CAUSEANDRESET |
X |
||
|
CCOS |
X |
||
|
CEXP |
X |
||
|
CHANGEFILE |
X |
||
|
CHARGECODE |
X |
||
|
CLASS |
X |
||
|
CHECKPOINT |
X |
||
|
CHECKSUM |
X |
||
|
CLN |
X |
||
|
CLOSE |
X |
||
|
CLOSEDISPOSITION |
X |
||
|
CODE |
X |
||
|
COMBINEPPBS |
X |
||
|
COMMENT |
X |
||
|
COMPILETIME |
X |
||
|
COMPILETYPE |
X |
||
|
COMPLEX |
X |
||
|
COMSRECORD |
X |
||
|
CONJUGATE |
X |
||
|
CONNECTTIMELIMIT |
X |
||
|
CONNECTION |
X |
||
|
CONTROL |
X |
||
|
CONTINUE |
X |
||
|
COR |
X |
||
|
COREESTIMATE |
X |
||
|
COS |
X |
||
|
COSH |
X |
||
|
COTAN |
X |
||
|
CREATE |
X |
||
|
CRUNCH |
X |
||
|
CSIN |
X |
||
|
CSQRT |
X |
||
|
CURRENT |
X |
||
|
DABS |
X |
||
|
DALPHA |
X |
||
|
DAND |
X |
||
|
DARCCOS |
X |
||
|
DARCSIN |
X |
||
|
DARCTAN |
X |
||
|
DARCTAN2 |
X |
||
|
DATABASE |
X |
||
|
DBS |
X |
||
|
DCOS |
X |
||
|
DCOSH |
X |
||
|
DCSYSTEMTABLES |
X |
||
|
DEALLOCATE |
X |
||
|
DECIMAL |
X |
||
|
DECIMALPOINTISCOMMA |
X |
||
|
DECLAREDPRIORITY |
X |
||
|
DEFINE |
X |
||
|
DELINKLIBRARY |
X |
||
|
DELTA |
X |
||
|
DEQV |
X |
||
|
DERF |
X |
||
|
DERFC |
X |
||
|
DETACH |
X |
||
|
DEXP |
X |
||
|
DGAMMA |
X |
||
|
DICTIONARY |
X |
||
|
DIGITS |
X |
||
|
DIMP |
X |
||
|
DINTEGER |
X |
||
|
DINTEGERT |
X |
||
|
DIRECT |
X |
||
|
DISABLE |
X |
||
|
DISCARD |
X |
||
|
DISK |
X |
||
|
DISKPACK |
X |
||
|
DISPLAY |
X |
||
|
DIV |
X |
||
|
DLGAMMA |
X |
||
|
DLN |
X |
||
|
DLOG |
X |
||
|
DMABS |
X |
||
|
DMADD_DAYS |
X |
||
|
DMADD_TIME |
X |
||
|
DMAVG |
X |
||
|
DMAX |
X |
||
|
DMCHR |
X |
||
|
DMCONTAINS |
X |
||
|
DMCOUNT |
X |
||
|
DMDAY |
X |
||
|
DMDAY_OF_WEEK |
X |
||
|
DMELAPSED_DAYS |
X |
||
|
DMELAPSED_TIME |
X |
||
|
DMEQUIV |
X |
||
|
DMEXCEPTIONINFO |
X |
||
|
DMEXCEPTIONMSG |
X |
||
|
DMEXCLUDES |
X |
||
|
DMEXITS |
X |
||
|
DMEXT |
X |
||
|
DMHOUR |
X |
||
|
DMIN |
X |
||
|
DMISA |
X |
||
|
DMLENGTH |
X |
||
|
DMMATCH |
X |
||
|
DMMAX |
X |
||
|
DMMIN |
X |
||
|
DMMINUTE |
X |
||
|
DMMONTH |
X |
||
|
DMMONTHNAME |
X |
||
|
DMNEXTEXCEPTION |
X |
||
|
DMPOS |
X |
||
|
DMPRED |
X |
||
|
DMRECORD |
X |
||
|
DMROUND |
X |
||
|
DMRPT |
X |
||
|
DMSQRT |
X |
||
|
DMSUCC |
X |
||
|
DMSUM |
X |
||
|
DMTERMINATE |
X |
||
|
DMTEST |
X |
||
|
DMTRUNC |
X |
||
|
DMYEAR |
X |
||
|
DNABS |
X |
||
|
DNORMALIZE |
X |
||
|
DNOT |
X |
||
|
DO |
X |
||
|
DONTWAIT |
X |
||
|
DONTWAITFORFILE |
X |
||
|
DOR |
X |
||
|
DOUBLE |
X |
||
|
DREAL |
X |
||
|
DROP |
X |
||
|
DSCALELEFT |
X |
||
|
DSCALERIGHT |
X |
||
|
DSCALERIGHTT |
X |
||
|
DSIN |
X |
||
|
DSINH |
X |
||
|
DSQRT |
X |
||
|
DTAN |
X |
||
|
DTANH |
X |
||
|
DUMP |
X |
||
|
EBCDIC |
X |
||
|
EBCDICTOASCII |
X |
||
|
EBCDICTOHEX |
X |
||
|
EGI |
X |
||
|
ELAPSEDTIME |
X |
||
|
ELSE |
X |
||
|
EMI |
X |
||
|
EMPTY |
X |
||
|
EMPTY4 |
X |
||
|
EMPTY7 |
X |
||
|
EMPTY8 |
X |
||
|
ENABLE |
X |
||
|
END |
X |
||
|
ENDTRANSACTION |
X |
||
|
ENTIER |
X |
||
|
ENTITY |
X |
||
|
EPILOG |
X |
||
|
EQL |
X |
||
|
EQV |
X |
||
|
ERF |
X |
||
|
ERFC |
X |
||
|
ESI |
X |
||
|
EVENT |
X |
||
|
EXCEPTION |
X |
||
|
EXCEPTIONEVENT |
X |
||
|
EXCEPTIONTASK |
X |
||
|
EXCHANGE |
X |
||
|
EXCLUDE |
X |
||
|
EXISTS |
X |
||
|
EXP |
X |
||
|
EXPONENTOVERFLOW |
X |
||
|
EXPONENTUNDERFLOW |
X |
||
|
EXPORT |
X |
||
|
EXPORTLIBRARY |
X |
||
|
EXTERNAL |
X |
||
|
FALSE |
X |
||
|
FAMILY |
X |
||
|
FILE |
X |
||
|
FILECARDS |
X |
||
|
FILES |
X |
||
|
FILL |
X |
||
|
FIND |
X |
||
|
FIRST |
X |
||
|
FIRSTONE |
X |
||
|
FIRSTWORD |
X |
||
|
FIX |
X |
||
|
FOR |
X |
||
|
FORMAL |
X |
||
|
FORMAT |
X |
||
|
FORMRECORDLIBRARY |
X |
||
|
FORWARD |
X |
||
|
FUNCTIONNAME |
X |
||
|
FREE |
X |
||
|
FREEZE |
X |
||
|
FROM |
X |
||
|
GAMMA |
X |
||
|
GEQ |
X |
||
|
GET |
X |
||
|
GO |
X |
||
|
GTR |
X |
||
|
HAPPENED |
X |
||
|
HEAD |
X |
||
|
HEX |
X |
||
|
HEXTOASCII |
X |
||
|
HEXTOEBCDIC |
X |
||
|
HISTORY |
X |
||
|
IF |
X |
||
|
IMAG |
X |
||
|
IMP |
X |
||
|
IMPORTED |
X |
||
|
IN |
X |
||
|
INCLUDE |
X |
||
|
INITIATOR |
X |
||
|
INPUTHEADER |
X |
||
|
INSERT |
X |
||
|
INSERT_CLIENTQUEUE |
X |
||
|
INTEGER |
X |
||
|
INTEGEROVERFLOW |
X |
||
|
INTEGERT |
X |
||
|
INTERLOCK |
X |
||
|
INTERRUPT |
X |
||
|
INTERRUPTIBLE |
X |
||
|
INTNAME |
X |
||
|
INTERFACENAME |
X |
||
|
INTRINSICINFO |
X |
||
|
INVALIDADDRESS |
X |
||
|
INVALIDINDEX |
X |
||
|
INVALIDOP |
X |
||
|
INVALIDPROGRAMWORD |
X |
||
|
INVERSE |
X |
||
|
IS |
X |
||
|
ISNT |
X |
||
|
ISVALID |
X |
||
|
JOBNUMBER |
X |
||
|
LABEL |
X |
||
|
LAST |
X |
||
|
LB |
X |
||
|
LENGTH |
X |
||
|
LEQ |
X |
||
|
LIBACCESS |
X |
||
|
LIBERATE |
X |
||
|
LIBPARAMETER |
X |
||
|
LIBRARIES |
X |
||
|
LIBRARY |
X |
||
|
LINE |
X |
||
|
LINENUMBER |
X |
||
|
LINKLIB_CLIENTQUEUE |
X |
||
|
LINKLIBRARY |
X |
||
|
LIST |
X |
||
|
LISTLOOKUP |
X |
||
|
LN |
X |
||
|
LNGAMMA |
X |
||
|
LOCK |
X |
||
|
LOCKED |
X |
||
|
LOCKOWNER |
X |
||
|
LOCKSTATUS |
X |
||
|
LOG |
X |
||
|
LONG |
X |
||
|
LOOP |
X |
||
|
LSS |
X |
||
|
MASKSEARCH |
X |
||
|
MAX |
X |
||
|
MAXIOTIME |
X |
||
|
MAXLINES |
X |
||
|
MAXPROCTIME |
X |
||
|
MEMORYPARITY |
X |
||
|
MEMORYPROTECT |
X |
||
|
MERGE |
X |
||
|
MESSAGECOUNT |
X |
||
|
MESSAGESEARCHER |
X |
||
|
MIDTRANSACTION |
X |
||
|
MIDTRANSLATE |
X |
||
|
MIN |
X |
||
|
MLSACCEPT |
X |
||
|
MLSDISPLAY |
X |
||
|
MOD |
X |
||
|
MODIFY |
X |
||
|
MONITOR |
X |
||
|
MUX |
X |
||
|
MYJOB |
X |
||
|
MYSELF |
X |
||
|
NABS |
X |
||
|
NAME |
X |
||
|
NEQ |
X |
||
|
NO |
X |
||
|
NOCR |
X |
||
|
NOLF |
X |
||
|
NONE |
X |
||
|
NORMALIZE |
X |
||
|
NOT |
X |
||
|
NULL |
X |
||
|
NUMBER |
X |
||
|
NUMERIC |
X |
||
|
OF |
X |
||
|
OFFER |
X |
||
|
OFFSET |
X |
||
|
ON |
X |
||
|
ONES |
X |
||
|
OPEN |
X |
||
|
OPTION |
X |
||
|
OR |
X |
||
|
ORDER |
X |
||
|
ORDERLY |
X |
||
|
ORGUNIT |
X |
||
|
OUT |
X |
||
|
OUTPUTHEADER |
X |
||
|
OUTPUTMESSAGE |
X |
||
|
OWN |
X |
||
|
PACK |
X |
||
|
PAGE |
X |
||
|
PAGED |
X |
||
|
PARTICIPATE |
X |
||
|
PARTNER |
X |
||
|
PENDING |
X |
||
|
PERMANENT |
X |
||
|
PICTURE |
X |
||
|
POINTER |
X |
||
|
POTC |
X |
||
|
POTH |
X |
||
|
POTL |
X |
||
|
PRIVATE |
X |
||
|
PRIVATELIBRARIES |
X |
||
|
PROCEDURE |
X |
||
|
PROCESS |
X |
||
|
PROCESSID |
X |
||
|
PROCESSIOTIME |
X |
||
|
PROCESSTIME |
X |
||
|
PROCURE |
X |
||
|
PRODUCTION |
X |
||
|
PROGRAMDUMP |
X |
||
|
PROGRAMMEDOPERATOR |
X |
||
|
PROLOG |
X |
||
|
PUBLIC |
X |
||
|
PURGE |
X |
||
|
PUT |
X |
||
|
QUERY |
X |
||
|
RANDOM |
X |
||
|
RB |
X |
||
|
READ |
X |
||
|
READFORM |
X |
||
|
READLOCK |
X |
||
|
READONLY |
X |
||
|
READWRITE |
X |
||
|
READYCL |
X |
||
|
REAL |
X |
||
|
RECEIVE |
X |
||
|
RECORD |
X |
||
|
RECREATE |
X |
||
|
REEL |
X |
||
|
REFERENCE |
X |
||
|
REJECTCLOSE |
X |
||
|
REJECTOPEN |
X |
||
|
REMAININGCHARS |
X |
||
|
REMOVE |
X |
||
|
REMOVEFILE |
X |
||
|
REPEAT |
X |
||
|
REPLACE |
X |
||
|
RESET |
X |
||
|
RESIDENT |
X |
||
|
RESIZE |
X |
||
|
RESPOND |
X |
||
|
RESPONDTYPE |
X |
||
|
RESTART |
X |
||
|
RETAIN |
X |
||
|
RETRIEVE |
X |
||
|
RETRIEVE_WARNING |
X |
||
|
REWIND |
X |
||
|
RUN |
X |
||
|
SAVETRPOINT |
X |
||
|
SCALELEFT |
X |
||
|
SCALERIGHT |
X |
||
|
SCALERIGHTF |
X |
||
|
SCALERIGHTT |
X |
||
|
SCAN |
X |
||
|
SCANPARITY |
X |
||
|
SDIGITS |
X |
||
|
SECONDWORD |
X |
||
|
SECURE |
X |
||
|
SEEK |
X |
||
|
SELECT |
X |
||
|
SEMANTIC |
X |
||
|
SEND |
X |
||
|
SET |
X |
||
|
SETABSTRACTVALUE |
X |
||
|
SETACTUALNAME |
X |
||
|
SETTOCHILD |
X |
||
|
SETTOPARENT |
X |
||
|
SIBS |
X |
||
|
SIGN |
X |
||
|
SIN |
X |
||
|
SINGLE |
X |
||
|
SINH |
X |
||
|
SIZE |
X |
||
|
SKIP |
X |
||
|
SOME |
X |
||
|
SORT |
X |
||
|
SPACE |
X |
||
|
SQRT |
X |
||
|
STACKER |
X |
||
|
STACKNO |
X |
||
|
STACKSIZE |
X |
||
|
STARTINSERT |
X |
||
|
STARTMODIFY |
X |
||
|
STARTTIME |
X |
||
|
STATION |
X |
||
|
STATUS |
X |
||
|
STEP |
X |
||
|
STOP |
X |
||
|
STOPPOINT |
X |
||
|
STORE |
X |
||
|
STRING |
X |
||
|
STRINGPROTECT |
X |
||
|
STRING4 |
X |
||
|
STRING7 |
X |
||
|
STRING8 |
X |
||
|
STRUCTURE |
X |
||
|
STRUCTURENUMBER |
X |
||
|
SUBFILE |
X |
||
|
SUBROLE |
X |
||
|
SWITCH |
X |
||
|
SYNCHRONIZE |
X |
||
|
TADS |
X |
||
|
TAIL |
X |
||
|
TAKE |
X |
||
|
TAN |
X |
||
|
TANH |
X |
||
|
TARGETTIME |
X |
||
|
TASK |
X |
||
|
TASKATTERR |
X |
||
|
TASKFILE |
X |
||
|
TASKVALUE |
X |
||
|
TERMINAL |
X |
||
|
TEST |
X |
||
|
THEN |
X |
||
|
THIS |
X |
||
|
THISCL |
X |
||
|
THRU |
X |
||
|
TIME |
X |
||
|
TIMELIMIT |
X |
||
|
TIMES |
X |
||
|
TITLE |
X |
||
|
TO |
X |
||
|
TRANSACTION |
X |
||
|
TRANSITIVE |
X |
||
|
TRANSLATE |
X |
||
|
TRANSLATETABLE |
X |
||
|
TRUE |
X |
||
|
TRUTHSET |
X |
||
|
TRY |
X |
||
|
TYPE |
X |
||
|
UNITS |
X |
||
|
UNLOCK |
X |
||
|
UNLOCKED |
X |
||
|
UNPACKED |
X |
||
|
UNREADYCL |
X |
||
|
UNTIL |
X |
||
|
URGENT |
X |
||
|
USERCODE |
X |
||
|
USERDATA |
X |
||
|
USERDATALOCATOR |
X |
||
|
USERDATAREBUILD |
X |
||
|
USING |
X |
||
|
VALUE |
X |
||
|
VIA |
X |
||
|
WAIT |
X |
||
|
WAITANDRESET |
X |
||
|
WAITFORFILE |
X |
||
|
WHEN |
X |
||
|
WHERE |
X |
||
|
WHILE |
X |
||
|
WITH |
X |
||
|
WORDS |
X |
||
|
WRITE |
X |
||
|
WRITEFORM |
X |
||
|
ZERODIVIDE |
X |
||
|
ZIP |
X |

