-- 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
begin = BEGIN
Body
END
exits = EXITS
LabelList => Statement
goto = GO TO Label
-- loop control statements
do = DO
Body
ENDLOOP
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]