3 REM Generation of error tables
8 ON ERROR PRINTREPORT$;" ["+STR$ERL+"]":CLOSE #0:END
10 DIM errMsg$(256),errName$(256)
13 REM --- Generate the token table ---
17 READ errMsg$(curr%),errName$(curr%)
18 WHILE errMsg$(curr%)<>"***"
20 READ errMsg$(curr%),errName$(curr%)
23 C=OPENOUT("sh.errTable")
25 BPUT#C,"; errTable.sh"
27 BPUT#C,"; Define error messages table (generated)"
29 BPUT#C,"; © 1995 Straylight"
32 BPUT#C,tab$+tab$+"["+tab$+":LNOT::DEF:errTable__dfn"
33 BPUT#C,tab$+tab$+"GBLL"+tab$+"errTable__dfn"
38 WHILE errMsg$(curr%)<>"***"
39 BPUT#C,tab$+tab$+"DCD"+tab$+"err__msg"+STR$curr%+"-errTable"
45 WHILE errMsg$(curr%)<>"***"
46 BPUT#C,"err__msg"+STR$curr%+tab$+"DCB"+tab$+""""+errMsg$(curr%)+""",0"
52 BPUT#C,tab$+tab$+"END"
54 OSCLI "Settype sh.errTable FFF"
56 REM -- Generate the error numbers ---
59 C=OPENOUT("sh.errNum")
63 BPUT#C,"; Define error numbers (generated)"
65 BPUT#C,"; © 1995 Straylight"
68 BPUT#C,tab$+tab$+"["+tab$+":LNOT::DEF:errNum__dfn"
69 BPUT#C,tab$+tab$+"GBLL"+tab$+"errNum__dfn"
73 BPUT#C,tab$+tab$+"^"+tab$+"0"
74 WHILE errMsg$(curr%)<>"***"
75 BPUT#C,errName$(curr%);
76 IF LEN(errName$(curr%))>7 THEN BPUT#C,tab$; ELSE BPUT#C,tab$+tab$;
83 BPUT#C,tab$+tab$+"END"
85 OSCLI "Settype sh.errNum FFF"
89 DATA "Type mismatch: Number needed",err_numNeeded
90 DATA "Type mismatch: String needed",err_strNeeded
91 DATA "Whole array reference is invalid in this context",err_arrayBad
92 DATA "Missing )",err_expBracket
93 DATA "Missing #",err_expHash
94 DATA "Missing """"",err_expQuote
95 DATA "Missing =",err_expEq
96 DATA "Missing ,",err_expComma
97 DATA "Bad hex",err_badHex
98 DATA "Bad binary",err_badBinary
99 DATA "Unknown or missing variable",err_unknown
100 DATA "Division by zero",err_divZero
101 DATA "Out of memory",err_noMem
102 DATA "Syntax error",err_syntax
103 DATA "Mistake",err_mistake
104 DATA "String too long",err_strTooLong
106 DATA "Missing = in FOR",err_eqInFor
107 DATA "Bad FOR control variable",err_badForVar
108 DATA "Missing TO",err_expTo
109 DATA "The step cannot be zero",err_zStep
110 DATA "Not in a FOR loop",err_noFor
112 DATA "Not in a REPEAT loop",err_noRepeat
114 DATA "Missing ENDWHILE",err_expEndwhile
115 DATA "Not in a WHILE loop",err_noWhile
117 DATA "Missing ENDIF",err_expEndif
119 DATA "Missing OF",err_expOf
120 DATA "CASE..OF statement must be the last thing on a line",err_afterCase
121 DATA "Missing ENDCASE",err_expEndcase
123 DATA "Missing label",err_expLabel
124 DATA "Unknown label",err_noLabel
126 DATA "Bad DIM statement",err_badDim
127 DATA "No end of dimension list )",err_dimKet
128 DATA "Arrays cannot be redimensioned",err_reDim
129 DATA "Incorrect number of subscripts",err_numSubs
130 DATA "Subscript out of range",err_subRange
131 DATA "Unknown array",err_ukArray
133 DATA "Can't use RGET while in a WATCHFOR state",err_rgetInWatch
134 DATA "Can't use RGET$ while in a WATCHFOR state",err_rgetSInWatch
135 DATA "Can't use LGET while in a WATCHFOR state",err_lgetInWatch
136 DATA "Can't use LGET$ while in a WATCHFOR state",err_lgetSInWatch
137 DATA "Can't use RINKEY while in a WATCHFOR state",err_rinkeyInWatch
138 DATA "Can't use RINKEY$ while in a WATCHFOR state",err_rinkeySInWatch
139 DATA "Can't use LINKEY while in a WATCHFOR state",err_linkeyInWatch
140 DATA "Can't use LINKEY$ while in a WATCHFOR state",err_linkeySInWatch
142 DATA "Wrong number of arguments passed to STRING$",err_stringSArgs
143 DATA "Wrong number of arguments passed to LEFT$",err_leftSArgs
144 DATA "Wrong number of arguments passed to RIGHT$",err_rightSArgs
145 DATA "Wrong number of arguments passed to MID$",err_midSArgs
146 DATA "Wrong number of arguments passed to INSTR",err_instrSArgs
148 DATA "Arguments of function/procedure incorrect",err_badArgs
149 DATA "No such function/procedure",err_noProc
150 DATA "Bad call of function/procedure",err_badCall
152 DATA "Not in a subroutine",err_notInSub
153 DATA "Not in a procedure",err_notInProc
154 DATA "Not in a function",err_notInFn
156 DATA "Too many strings passed to WATCHFOR",err_WFTooMany
158 DATA "Too many input parameters to SYS/SYSCALL",err_sysTooManyI
159 DATA "Too many output parameters to SYS/SYSCALL",err_sysTooManyO
161 DATA "Out of DATA",err_outOfDATA
163 DATA "mem_realloc not implemented",err_realloc
164 DATA "Not yet implemented",err_lazy
165 DATA "The script interpreter has gone wrong",err_erk