|
|
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.