(* rnf4: segment PROCEDURE writeerrormessages *) PROCEDURE writeerrormessages; VAR i : integer; BEGIN (* writeerrormessages *) FOR i := 1 TO maxerrors DO IF i IN errorset THEN BEGIN write(' >> ',i:2, ': '); CASE i OF 1: write('UNRECOGNIZED SUB-MACRO NAME'); 2: write('Recursive submacro expression.'); 3: write('NON NUMERIC VALUE IN EXPRESSION'); 4: write('ARRAY INDEX OUT OF BOUNDS'); 5: write('UNRECOGNIZED RELATIONAL OPERATOR'); 6: write('ERROR IN EXPRESSION:'); 7: write('TOO MANY P OR LIST LEVELS'); 8: write('TOO MANY POPS'); 9: write('RECURSIVE MACRO CALL TO'); 10: write('UNKNOWN COMMAND'); 11: write('EXPECTING POSITIVE NUMBER; GOT'); 12: write('LM < 0'); 13: write('LM > 136'); 14: write('LM OUT OF RANGE'); 15: write('LM FOLLOWED BY'); 16: write('RM > 136'); 17: write('RM < 1'); 18: write('RM OUT OF RANGE'); 19: write('RM FOLLOWED BY'); 20: write('INVALID PS COLUMN'); 21: write('INVALID PS LINES'); 22: write('PARAGRAPH TP'); 23: write('PARAGRAPH SPACE'); 24: write('PARAGRAPH INDENT'); 25: write('INDENT LESS THAN 0'); 26: write('I FOLLOWED BY'); 27: write('BAD HEADER LEVEL'); 28: write('SP FOLLOWED BY'); 29: write('PAGE NUMBER WAS'); 30: write('LIST SPACING'); 31: write('NO ACTIVE LIST'); 32: write('NO ACTIVE LIST'); 33: write('TOO MANY PENDING FIGS'); 34: write('FIG FOLLOWED BY'); 35: write('MISSING = IN MACRO DEF'); 36: write('NO MACRO NAME'); 37: write('NESTED MACRO DEFS'); 38: write('TOO MANY VARIABLES'); 39: write('NEED VAR NAME; GOT'); 40: write('UNDEDECLARED VAR'); 41: write('INC FOLLOWED BY'); 42: write('UNDECLARED VAR'); 43: write('DEC FOLLOWED BY'); 44: write('NO ROOM FOR ARRAY '); 45: write('BAD ARRAY SIZE'); 46: write('ALREADY DECLARED'); 47: write('NOT A VARIABLE SYMBOL'); 48: write('ILLEGAL NESTED INCLUDE COMMAND '); 49: write('INCLUDE FILE NOT PRESENT'); 50: write('TP FOLLOWED BY'); 51: write('RIGHT SPACE '); 52: write('LINES FOLLOWED BY'); 53: write('Input line truncated'); 54: write('Asis text past right margin.'); 55: write('Unrecognized variable.'); 56: write('Lone period.'); 57: write('Macro stack overflow.'); 58: write('Number too big.'); 59: write('Invalid character constant.'); END; (* case *) writeln; END; END; (* writeerrormessages *) (* 1---------------1 *)