|
|
1.1 ! root 1: -IN80 ! 2: -TITLE MAKEMSG - PRODUCE SPITMSG.MSG FOR VAX/VMS SPITBOL SYSTEM ! 3: -STITL PREAMBLE ! 4: * This is a Macro Spitbol program which generates the ! 5: * error message module (SPITMSG.MSG) for the VAX/VMS Spitbol ! 6: * interpreter. ! 7: * ! 8: * Inputs to this program are: ! 9: * ! 10: * 1. filename.ERR - The list of error numbers and associated ! 11: * text from the Minimal translation. Each record ! 12: * in this file consists of a three digit error message ! 13: * number and the remainder of the record contains the ! 14: * text of the message. This file need not be sorted. ! 15: * It is produced automatically by the XFER program. ! 16: * 2. Standard INPUT channel - The 'template' for SPITMSG.MSG ! 17: * is read using INPUT, and so must immediately follow ! 18: * the END statement of the program. This template is ! 19: * copied to SPITMSG.MSG intact, except that lines beginning ! 20: * with "[[[" followed by a command are used to signal ! 21: * this program to invoke some special action to substitute ! 22: * something at that point. (E.g. Error messages). The ! 23: * appendages in this program which perform these special ! 24: * actions all begin with "REP_" followed by the command ! 25: * used in the template to invoke them. ! 26: * ! 27: * This program creates filename.MSG automatically. ! 28: * ! 29: * Steve Duff for VAX/VMS Spitbol Project April 1980. ! 30: * ! 31: -STITL INITIALIZATION ! 32: * ! 33: * Set Keywords ! 34: * ! 35: &STLIMIT = 1000000; &TRIM = 1; &ANCHOR = 1 ! 36: * ! 37: * Create File Bindings ! 38: * ! 39: TERMINAL = 'Enter name of .ERR file (no extension).' ! 40: TERMINAL = ' Output will be file.MSG.' ! 41: FILENAME = TERMINAL ! 42: INPUT(.INMESS,1,FILENAME '.ERR') :F(NOFILE) ! 43: OUTPUT(.MSG,2,FILENAME '.MSG') ! 44: * ! 45: * Create the Error Message Array ! 46: * ! 47: MESSARY = ARRAY(899) ! 48: -STITL PROCESS THE ERROR MESSAGE FILE ! 49: * ! 50: * This initial piece of code reads the input error message file ! 51: * into the array MESSARY, indexing each message by its number. ! 52: * ! 53: READ_MSGS ! 54: MESS = INMESS :F(MAKE_MSG) ! 55: MESS LEN(3) . MESSID REM . MESSTEXT :F(FORMATBAD) ! 56: MAX_MESSID = GT(MESSID,MAX_MESSID) MESSID ! 57: MESSARY[MESSID] = MESSTEXT :(READ_MSGS) ! 58: -SPACE 3 ! 59: * ! 60: * Now we generate SPITMSG.MSG using the template. ! 61: * ! 62: MAKE_MSG ! 63: EMLINE = INPUT :F(EXIT) ! 64: EMLINE '[[[' REM . CMD :S($('REP_' CMD)) ! 65: MSG = EMLINE :(MAKE_MSG) ! 66: -SPACE 3 ! 67: * ! 68: * Here when finished ! 69: * ! 70: EXIT :(END) ! 71: -STITL SUBSTITUTION APPENDAGES ! 72: * ! 73: * Substitute error messages ! 74: * ! 75: REP_DOERRS ! 76: MESSID = 0 ! 77: RDE.LOOP ! 78: MESSID = LT(MESSID,MAX_MESSID) MESSID + 1 :F(MAKE_MSG) ! 79: MSG = ' ERR' LPAD(MESSID,3,0) ' <' MESSARY[MESSID] '>/WARNING' ! 80: :(RDE.LOOP) ! 81: * ! 82: * Emit definition for maximum error message number ! 83: * ! 84: REP_MAXMSG ! 85: MSG = ' .LITERAL SPITBOL_MAXMSG = ' MAX_MESSID :(MAKE_MSG) ! 86: END ! 87: .TITLE SPITMSG - MACRO SPITBOL Error Message Definitions ! 88: .FACILITY SPITBOL,1000 ! 89: .SEVERITY SEVERE ! 90: EXIT <EXIT Module Saved - !AD>/INFORMATIONAL/FAO=2 ! 91: EXSUP <Execution Suppressed>/INFORMATIONAL ! 92: INSVIRMEM <Insufficient Virtual Memory> ! 93: LINETRUNC <Input Source Line Truncated>/WARNING ! 94: LOADCRC <Load Incompatible, Please Retranslate Source> ! 95: LOADMEM <Insufficient Virtual Memory For LOAD> ! 96: LOADOPEN <Can't Open LOAD File - !AD>/FAO=2 ! 97: LOADMAP <Error Mapping LOAD File - !AD>/FAO=2 ! 98: LOADUNEXCOND <Loaded Function Failed To Handle Condition At PC=!XL>/FAO=1/ERROR ! 99: LOADUNEXTRY <Will Attempt to Recover By Forcing Failure>/WARN ! 100: LOADVERS <Load Versions Incompatible, Please Retranslate Source> ! 101: NOSYSOUT <Output File Not Accessable> ! 102: NOTEXITMOD <File is Not a Saved EXIT File - !AD>/FAO=2 ! 103: OPENOUT <Error Opening !AD as Output>/FAO=2 ! 104: OPENIN <Error Opening !AD as Input>/FAO=2 ! 105: PAUSE <Paused at Statement !ZL>/FAO=1/INFORMATIONAL ! 106: STACKOVFL <Virtual Stack Space Exhausted> ! 107: SYNTAX <Syntax Error In Command Line> ! 108: ! ! 109: ! New in V3.5(BCAB-1131) ! 110: ! ! 111: BADLINK <Incorrectly specified BASE(s) in SPITBOL link> ! 112: LOADBADINT <Loaded function returned invalid integer result pointer>/WARN ! 113: LOADBADREAL <Loaded function returned invalid real number result ptr>/WARN ! 114: LOADBADSTRING <Loaded function returned invalid string descriptor>/WARN ! 115: LOADBADUNCONV <Loaded function returned bad block for unconverted result>/WARN ! 116: .PAGE ! 117: ERR000 <Internal Spitbol System Error - Please Submit SPR>/SEVERE ! 118: [[[DOERRS ! 119: [[[MAXMSG ! 120: .END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.