REM >ErrorGen REM REM Generation of error tables REM REM © 1995 Straylight REM ON ERROR PRINTREPORT$;" ["+STR$ERL+"]":CLOSE #0:END DIM errMsg$(256),errName$(256) tab$=CHR$(9) REM --- Generate the token table --- RESTORE curr%=0 READ errMsg$(curr%),errName$(curr%) WHILE errMsg$(curr%)<>"***" curr%+=1 READ errMsg$(curr%),errName$(curr%) ENDWHILE C=OPENOUT("sh.errTable") BPUT#C,";" BPUT#C,"; errTable.sh" BPUT#C,";" BPUT#C,"; Define error messages table (generated)" BPUT#C,";" BPUT#C,"; © 1995 Straylight" BPUT#C,";" BPUT#C,"" BPUT#C,tab$+tab$+"["+tab$+":LNOT::DEF:errTable__dfn" BPUT#C,tab$+tab$+"GBLL"+tab$+"errTable__dfn" BPUT#C,"" curr%=0 BPUT#C,"errTable" WHILE errMsg$(curr%)<>"***" BPUT#C,tab$+tab$+"DCD"+tab$+"err__msg"+STR$curr%+"-errTable" curr%+=1 ENDWHILE BPUT#C,"" curr%=0 WHILE errMsg$(curr%)<>"***" BPUT#C,"err__msg"+STR$curr%+tab$+"DCB"+tab$+""""+errMsg$(curr%)+""",0" curr%+=1 ENDWHILE BPUT#C,"" BPUT#C,tab$+tab$+"]" BPUT#C,"" BPUT#C,tab$+tab$+"END" CLOSE#C OSCLI "Settype sh.errTable FFF" REM -- Generate the error numbers --- RESTORE C=OPENOUT("sh.errNum") BPUT#C,";" BPUT#C,"; errNum.sh" BPUT#C,";" BPUT#C,"; Define error numbers (generated)" BPUT#C,";" BPUT#C,"; © 1995 Straylight" BPUT#C,";" BPUT#C,"" BPUT#C,tab$+tab$+"["+tab$+":LNOT::DEF:errNum__dfn" BPUT#C,tab$+tab$+"GBLL"+tab$+"errNum__dfn" BPUT#C,"" curr%=0 BPUT#C,tab$+tab$+"^"+tab$+"0" WHILE errMsg$(curr%)<>"***" BPUT#C,errName$(curr%); IF LEN(errName$(curr%))>7 THEN BPUT#C,tab$; ELSE BPUT#C,tab$+tab$; BPUT#C,"#"+tab$+"1" curr%+=1 ENDWHILE BPUT#C,"" BPUT#C,tab$+tab$+"]" BPUT#C,"" BPUT#C,tab$+tab$+"END" CLOSE#C OSCLI "Settype sh.errNum FFF" END DATA "Type mismatch: Number needed",err_numNeeded DATA "Type mismatch: String needed",err_strNeeded DATA "Whole array reference is invalid in this context",err_arrayBad DATA "Missing )",err_expBracket DATA "Missing #",err_expHash DATA "Missing """"",err_expQuote DATA "Missing =",err_expEq DATA "Missing ,",err_expComma DATA "Bad hex",err_badHex DATA "Bad binary",err_badBinary DATA "Unknown or missing variable",err_unknown DATA "Division by zero",err_divZero DATA "Out of memory",err_noMem DATA "Syntax error",err_syntax DATA "Mistake",err_mistake DATA "String too long",err_strTooLong DATA "Missing = in FOR",err_eqInFor DATA "Bad FOR control variable",err_badForVar DATA "Missing TO",err_expTo DATA "The step cannot be zero",err_zStep DATA "Not in a FOR loop",err_noFor DATA "Not in a REPEAT loop",err_noRepeat DATA "Missing ENDWHILE",err_expEndwhile DATA "Not in a WHILE loop",err_noWhile DATA "Missing ENDIF",err_expEndif DATA "Missing OF",err_expOf DATA "CASE..OF statement must be the last thing on a line",err_afterCase DATA "Missing ENDCASE",err_expEndcase DATA "Missing label",err_expLabel DATA "Unknown label",err_noLabel DATA "Bad DIM statement",err_badDim DATA "No end of dimension list )",err_dimKet DATA "Arrays cannot be redimensioned",err_reDim DATA "Incorrect number of subscripts",err_numSubs DATA "Subscript out of range",err_subRange DATA "Unknown array",err_ukArray DATA "Can't use RGET while in a WATCHFOR state",err_rgetInWatch DATA "Can't use RGET$ while in a WATCHFOR state",err_rgetSInWatch DATA "Can't use LGET while in a WATCHFOR state",err_lgetInWatch DATA "Can't use LGET$ while in a WATCHFOR state",err_lgetSInWatch DATA "Can't use RINKEY while in a WATCHFOR state",err_rinkeyInWatch DATA "Can't use RINKEY$ while in a WATCHFOR state",err_rinkeySInWatch DATA "Can't use LINKEY while in a WATCHFOR state",err_linkeyInWatch DATA "Can't use LINKEY$ while in a WATCHFOR state",err_linkeySInWatch DATA "Wrong number of arguments passed to STRING$",err_stringSArgs DATA "Wrong number of arguments passed to LEFT$",err_leftSArgs DATA "Wrong number of arguments passed to RIGHT$",err_rightSArgs DATA "Wrong number of arguments passed to MID$",err_midSArgs DATA "Wrong number of arguments passed to INSTR",err_instrSArgs DATA "Arguments of function/procedure incorrect",err_badArgs DATA "No such function/procedure",err_noProc DATA "Bad call of function/procedure",err_badCall DATA "Not in a subroutine",err_notInSub DATA "Not in a procedure",err_notInProc DATA "Not in a function",err_notInFn DATA "Too many strings passed to WATCHFOR",err_WFTooMany DATA "Too many input parameters to SYS/SYSCALL",err_sysTooManyI DATA "Too many output parameters to SYS/SYSCALL",err_sysTooManyO DATA "Out of DATA",err_outOfDATA DATA "mem_realloc not implemented",err_realloc DATA "Not yet implemented",err_lazy DATA "The script interpreter has gone wrong",err_erk DATA ***,***