-- Mesa.Abbreviations
-- last written on April 4, 1982 10:21 am
-- by Bill Paxton
-- module declarations
prog = Name:
PROGRAM ParameterList ReturnsClause
IMPORTS ImportsList
EXPORTS ExportsList
SHARES SharesList = BEGIN
Body
END.
monitor = Name:
MONITOR ParameterList ReturnsClause
LOCKS LocksClause
IMPORTS ImportsList
EXPORTS ExportsList
SHARES SharesList = BEGIN
Body
END.
defs = Name:
DEFINITIONS
LOCKS LocksClause
IMPORTS ImportsList
SHARES SharesList = BEGIN
Body
END.
-- procedure declarations
proc =
Name:
PROCEDURE [Args]
RETURNS [Results] = {
Body
};
pproc =
Name:
PUBLIC PROCEDURE [Args]
RETURNS [Results] = {
Body
};
eproc =
Name:
ENTRY PROCEDURE [Args]
RETURNS [Results] = {
ENABLE UNWIND => RestoreInvariant;
Body
};
iproc =
Name:
INTERNAL PROCEDURE [Args]
RETURNS [Results] = {
Body
};
-- conditional statements and select statements
if = IF Test THEN TruePart
else = ELSE FalsePart
select =
SELECT Item
FROM
TestList => Statement;
ENDCASE => Statement
with =
WITH Item
SELECT
FROM
ChoiceList => Statement;
ENDCASE => Statement
-- block related statments
exits =
EXITS
LabelList => Statement
goto = GO TO Label
-- loop control statements
for =
FOR ControlVariable ← InitialExpr, NextExpr
DO
Body
ENDLOOP
in =
FOR ControlVariable
IN LoopRange
DO
Body
ENDLOOP
through =
THROUGH LoopRange
DO
Body
ENDLOOP
until =
UNTIL Test
DO
Body
ENDLOOP
while =
WHILE Test
DO
Body
ENDLOOP
repeat =
REPEAT
LabelList => Statement;
FINISHED => Statement
exit = EXIT
-- miscellaneous
return = RETURN [results]