The MLR MACRO Language, V2.3 The MLR MACRO Language is a set of macros which implement structured programming in MACRO-32. These include: MODULE PROCEDURE BEGIN IF-THEN-ELSEIF-ELSE CASE DO FOR LOOP WHILE REPEAT-UNTIL REPEAT-FOREVER BREAK CONTINUE GOTO STRUCT UNION MAP DESCRIPTOR_S DESCRIPTOR_D and others Documentation is included on tape in VAX Standard Runoff format. This version of MLR replaces the Spring 1986 [VAX86A.ELDR] VAX SIG tape submission. This updated version of MLR also replaces "VAX-186, The MLR MACRO Language, Version: Spring 1986" (V1.0) in the DECUS Program Library. There are four files on this tape: README.1ST (this file) MLR.HISTORY (short history of MLR development) SOURCE.BCK (source macros and libraries) RUNOFF.BCK (runoff documentation) Use the BACKUP utility to restore the .BCK files. See next page for a listing of these directories. Please send corrections and comments to: Rod Eldridge 104 Computer Science Iowa State University Ames, Iowa 50011 (515) 294-7498 GVROD@ISUEVAX.BITNET GVROD@ISUVAX.BITNET Directory [SOURCE.MLR] MLR.MACROS;1 94 MLR.MLB;1 111 MLR1.MACROS;1 8 MLR1.MLB;1 19 MLR2.MACROS;1 170 MLR2.MLB;1 250 MLR3.MACROS;1 6 MLR3.MLB;1 17 Total of 8 files, 675 blocks. Directory [RUNOFF.MLR] MLR.INDEX;1 1 MLR.MEM;16 382 MLR.RNO;16 18 REQ.DIR;1 7 REQ1.DIR;1 1 REQ2.DIR;1 1 REQ3.DIR;1 1 Total of 7 files, 410 blocks. Directory [RUNOFF.MLR.REQ] ARRAY.RNO;1 2 BEGIN.RNO;6 1 BRANCH.RNO;13 3 BREAK.RNO;8 2 CASE.RNO;31 5 CLEAR.RNO;16 2 CONST.RNO;9 1 CONTINUE.RNO;8 2 DATA.RNO;2 2 DEFAULT.RNO;5 1 DESCRIPTOR.RNO;9 4 DO.RNO;6 2 ELSE.RNO;5 1 ELSEIF.RNO;8 1 END.RNO;12 4 ERRORS.RNO;8 30 EXIT.RNO;9 2 EXTERNAL.RNO;5 1 EXTERNAL_MODULE.RNO;15 3 EXTERNAL_PROCEDURE.RNO;15 2 FLAG.RNO;23 3 FOR.RNO;16 3 FOREVER.RNO;5 1 FORWARD.RNO;5 1 FORWARD_MODULE.RNO;13 3 FORWARD_PROCEDURE.RNO;15 2 GLOBAL.RNO;5 1 GLOBAL_MODULE.RNO;15 5 GLOBAL_PROCEDURE.RNO;13 4 GOTO.RNO;15 2 IF.RNO;17 6 ITEM.RNO;5 3 LOOP.RNO;12 3 MAP.RNO;6 1 MODULE.RNO;12 5 NOT.RNO;2 1 PROCEDURE.RNO;13 4 PSECT.RNO;12 2 PUSHQ.RNO;11 1 REPEAT.RNO;5 1 REPEAT_FOREVER.RNO;9 1 REPEAT_UNTIL.RNO;10 2 RETURN.RNO;6 1 SET.RNO;14 2 STRUCT.RNO;3 2 THEN.RNO;5 1 TRACE.RNO;2 1 UNION.RNO;6 2 UNTIL.RNO;8 1 VAR.RNO;9 1 WARNINGS.RNO;6 1 WHILE.RNO;12 1 Total of 52 files, 139 blocks. Directory [RUNOFF.MLR.REQ1] DESCR.RNO;2 4 D_DESCR.RNO;2 4 D_STDESCR.RNO;2 4 EXIT_IF_ERROR.RNO;2 1 GOTO_IF_ERROR.RNO;2 2 ITEM.RNO;2 3 OF.RNO;3 5 OTHERWISE.RNO;1 1 RECORD.RNO;2 2 RETURN_IF_ERROR.RNO;2 1 STDESCR.RNO;2 4 Total of 11 files, 31 blocks. Directory [RUNOFF.MLR.REQ2] ACL.RNO;4 1 CLI.RNO;4 1 CONV.RNO;3 2 DCX.RNO;1 2 DTK.RNO;1 3 EDT.RNO;1 2 FDL.RNO;1 2 LBR.RNO;1 4 LIB.RNO;1 16 MTH.RNO;1 8 OTS.RNO;1 6 PSM.RNO;1 1 RMS.RNO;3 3 SMB.RNO;1 2 SMG.RNO;1 17 SOR.RNO;1 2 STR.RNO;1 5 SYS.RNO;1 14 TPU.RNO;1 2 Total of 19 files, 93 blocks. Directory [RUNOFF.MLR.REQ3] ADDQ.RNO;1 3 CMPQ.RNO;1 2 DIVQ.RNO;1 3 MULQ.RNO;1 3 SUBQ.RNO;1 3 TSTQ.RNO;1 2 Total of 6 files, 16 blocks.