/* * File: message.c * * This file is generated automatically by the '../compmess/compmess' program * * It should never be edited; rather, alter the message file then * rerun '../compmess/compmess' * */ #include /********************************************************************** * Outputs an error message stored in a compressed format * * * * 1 %REPEAT is not required * * 2 Label & has already been set in this block * * 4 & is not a Switch name at current textual level * * 5 Switch name & in expression or assignment * * 6 Switch label &(#) set a second time * * 7 Name & has already been declared * * 8 Routine or fn & has more parameters than specified * * 9 Parameter # of & differs in type from specification * * 10 Routine or fn & has fewer parameters than specified * * 11 Label & referenced at line # has not been set * * 12 %CYCLE at line # has two control clauses * * 13 %REPEAT for %CYCLE at line # is missing * * 14 %END is not required * * 15 # %ENDs are missing * * 16 Name & has not been declared * * 17 Name & does not require parameters or subscripts * * 18 # too few parameters provided for & * * 19 # too many parameters provided for & * * 20 # too few subscripts provided for array & * * 21 # too many subscripts provided for array & * * 22 Actual parameter # of & conflicts with specification * * 23 Routine name & in an expression * * 24 Integer operator has Real operands * * 25 Real expression in integer context * * 26 # is not a valid %EVENT number * * 27 & is not a routine name * * 28 Routine or fn & has specification but no body * * 29 %FUNCTION name & not in expression * * 30 %RETURN outwith routine body * * 31 %RESULT outwith fn or map body * * 34 Too many textual levels * * 37 Array & has too many dimensions * * 38 Array & has upper bound # less than lower bound * * 39 Size of Array & is more than X'FFFFFF' bytes * * 40 Declaration is not at head of block * * 41 Constant cannot be evaluated at compile time * * 42 # is an invalid repetition factor * * 43 %CONSTANT name & not in expression * * 44 Invalid constant initialising & after # items * * 45 Array initialising items expected ##, items given # * * 46 Invalid %EXTERNAL, %EXTRINSIC or variable %SPEC * * 47 %ELSE already given at line # * * 48 %ELSE invalid after %ON %EVENT * * 49 Attempt to initialise %EXTRINSIC or %FORMAT & * * 50 Subscript of # is outwith the bounds of & * * 51 %FINISH is not required * * 52 %REPEAT instead of %FINISH for %START at line # * * 53 %FINISH for %START at line # is missing * * 54 %EXIT outwith %CYCLE %REPEAT body * * 55 %CONTINUE outwith %CYCLE %REPEAT body * * 56 %EXTERNAL or %DYNAMIC %ROUTINE & at wrong textual level * * 57 Executable statement found at textual level zero * * 58 Program among external routines * * 59 %FINISH instead of %REPEAT for %CYCLE at line # * * 61 Name & has already been used in this %FORMAT * * 62 & is not a %RECORD or %RECORD %FORMAT name * * 63 %RECORD length is greater than # bytes * * 64 Name & requires a subname in this context * * 65 Subname & is not in the %RECORD %FORMAT * * 66 Expression assigned to record & * * 67 Records && and & have different formats * * 69 Subname && is attached to &, which is not of type %RECORD * * 70 String declaration has invalid max length of # * * 71 & is not a String variable * * 72 Arithmetic operator in a String expression * * 73 Arithmetic constant in a String expression * * 74 Resolution is not the correct format * * 75 String expression contains a sub expression * * 76 String variable & in arithmetic expression * * 77 String constant in arithmetic expression * * 78 String operator '.' in arithmetic expression * * 80 Pointer variable & compared with expression * * 81 Pointer variable & equivalenced to expression * * 82 & is not a pointer name * * 83 && and & are not equivalent in type * * 86 Global pointer && equivalenced to local & * * 87 %FORMAT name & used in expression * * 90 Untyped name & used in expression * * 91 %FOR control variable & not integer * * 92 %FOR clause has zero step * * 93 %FOR clause has noninteger number of traverses * * 95 Name & not valid in assembler * * 96 Operand # not valid in assembler * * 97 Assembler construction not valid * * 98 %MAINEP not valid in current context * * 101 Source line has too many continuations * * 102 Workfile of # Kbytes is too small * * 103 Dictionary completely full * * 104 Dictionary completely full * * 105 Too many textual levels * * 106 String constant too long * * 107 Compiler tables are completely full * * 108 Condition too complicated * * 109 Compiler inconsistent * * 110 Input ended * * 111 %INCLUDE file exceeds maximum nesting depth of # * * 201 Long integers are inefficient as subscripts * * 202 Name & not used * * 203 Label & not used * * 204 Global %FOR control variable & * * 205 Name & not addressable * * 206 Semicolon in comment text * * 207 %CONSTANT variable & not initialised * * 208 Unproductive logical operation noted * * 209 %SHORT not available - %INTEGER substituted * * 255 Contact Advisory Service * * * **********************************************************************/ #define MWORDMAX 784 #define DEFAULT 780 const unsigned char outtt[64] = { '?','A','B','C','D','E','F','G', 'H','I','J','K','L','M','N', 'O','P','Q','R','S','T','U', 'V','W','X','Y','Z','&','-', '/','\'','(',')', 'a','b','c','d','e','f','g', 'h','i','j','k','l','m','n', 'o','p','q','r','s','t','u', 'v','w','x','y','z','.','%', '#',',','?' }; const unsigned short mword[MWORDMAX+1] = { 0, 0x0001,0x8000,0x8002,0x8003,0x8004,0x0002,0x8006,0x8007, 0x8008,0x8009,0x800b,0x800c,0x800d,0x800e,0x800f,0x0004, 0x8007,0x8002,0x8003,0x8010,0x8011,0x8013,0x8014,0x8015, 0x8017,0x8019,0x0005,0x8011,0x8013,0x8007,0x800d,0x801a, 0x801c,0x801d,0x0006,0x8011,0x801f,0x8020,0x800c,0x8010, 0x8021,0x8023,0x0007,0x8024,0x8007,0x8008,0x8009,0x800b, 0x8025,0x0008,0x8027,0x801c,0x8029,0x8007,0x8008,0x802a, 0x802b,0x802d,0x802e,0x0009,0x8030,0x8032,0x8033,0x8007, 0x8034,0x800d,0x8036,0x8037,0x8038,0x000a,0x8027,0x801c, 0x8029,0x8007,0x8008,0x803b,0x802b,0x802d,0x802e,0x000b, 0x8006,0x8007,0x803c,0x8014,0x803e,0x8032,0x8008,0x8003, 0x800b,0x800c,0x000c,0x803f,0x8014,0x803e,0x8032,0x8008, 0x8041,0x8042,0x8044,0x000d,0x8000,0x8046,0x803f,0x8014, 0x803e,0x8032,0x8002,0x8047,0x000e,0x8049,0x8002,0x8003, 0x8004,0x000f,0x8032,0x804a,0x804b,0x8047,0x0010,0x8024, 0x8007,0x8008,0x8003,0x800b,0x8025,0x0011,0x8024,0x8007, 0x804c,0x8003,0x804d,0x802b,0x801c,0x804f,0x0012,0x8032, 0x8051,0x8052,0x802b,0x8053,0x8046,0x8007,0x0013,0x8032, 0x8051,0x8055,0x802b,0x8053,0x8046,0x8007,0x0014,0x8032, 0x8051,0x8052,0x804f,0x8053,0x8046,0x8056,0x8007,0x0015, 0x8032,0x8051,0x8055,0x804f,0x8053,0x8046,0x8056,0x8007, 0x0016,0x8057,0x8059,0x8032,0x8033,0x8007,0x805b,0x805d, 0x8038,0x0017,0x8027,0x8013,0x8007,0x800d,0x805e,0x801a, 0x0018,0x805f,0x8061,0x8008,0x8063,0x8064,0x0019,0x8063, 0x801a,0x800d,0x8066,0x8068,0x001a,0x8032,0x8002,0x8003, 0x8010,0x806a,0x806b,0x806d,0x001b,0x8007,0x8002,0x8003, 0x8010,0x806f,0x8013,0x001c,0x8027,0x801c,0x8029,0x8007, 0x8008,0x8038,0x8071,0x8072,0x8073,0x001d,0x8074,0x8013, 0x8007,0x8003,0x800d,0x801a,0x001e,0x8076,0x8078,0x806f, 0x8073,0x001f,0x807a,0x8078,0x8029,0x801c,0x807c,0x8073, 0x0022,0x807d,0x8055,0x8017,0x807e,0x0025,0x8080,0x8007, 0x8008,0x8051,0x8055,0x8081,0x0026,0x8080,0x8007,0x8008, 0x8083,0x8084,0x8032,0x8085,0x802d,0x8086,0x8084,0x0027, 0x8087,0x8033,0x8080,0x8007,0x8002,0x802a,0x802d,0x8088, 0x808a,0x0028,0x808b,0x8002,0x8003,0x8014,0x808e,0x8033, 0x800f,0x0029,0x808f,0x8091,0x8093,0x8094,0x8014,0x8096, 0x8023,0x002a,0x8032,0x8002,0x805e,0x8098,0x809a,0x809c, 0x002b,0x809e,0x8013,0x8007,0x8003,0x800d,0x801a,0x002c, 0x80a0,0x80a2,0x80a4,0x8007,0x80a7,0x8032,0x80a8,0x002d, 0x8080,0x80a4,0x80a8,0x80a9,0x80ab,0x80a8,0x80ac,0x8032, 0x002e,0x80a0,0x80ad,0x80af,0x801c,0x80b1,0x80b3,0x002f, 0x80b4,0x8009,0x80ac,0x8014,0x803e,0x8032,0x0030,0x80b4, 0x8098,0x80a7,0x80b5,0x806b,0x0031,0x80b6,0x80b8,0x80b9, 0x80af,0x801c,0x80bb,0x8007,0x0032,0x80bd,0x8033,0x8032, 0x8002,0x8078,0x80bf,0x80c0,0x8033,0x8007,0x0033,0x80c2, 0x8002,0x8003,0x8004,0x0034,0x8000,0x80c4,0x8033,0x80c2, 0x8046,0x80c6,0x8014,0x803e,0x8032,0x0035,0x80c2,0x8046, 0x80c6,0x8014,0x803e,0x8032,0x8002,0x8047,0x0036,0x80c8, 0x8078,0x803f,0x8000,0x8073,0x0037,0x80c9,0x8078,0x803f, 0x8000,0x8073,0x0038,0x80cb,0x801c,0x80cd,0x80cf,0x8007, 0x8014,0x80d1,0x8017,0x8019,0x0039,0x80d2,0x80d4,0x80d6, 0x8014,0x8017,0x8019,0x80d7,0x003a,0x80d8,0x80da,0x80db, 0x80dd,0x003b,0x80c2,0x80c4,0x8033,0x8000,0x8046,0x803f, 0x8014,0x803e,0x8032,0x003d,0x8024,0x8007,0x8008,0x8009, 0x800b,0x80df,0x800d,0x800e,0x80bb,0x003e,0x8007,0x8002, 0x8003,0x8010,0x80e0,0x801c,0x80e0,0x80bb,0x8013,0x003f, 0x80e0,0x80e2,0x8002,0x80e4,0x802d,0x8032,0x808a,0x0040, 0x8024,0x8007,0x80e6,0x8010,0x80e8,0x800d,0x800e,0x8068, 0x0041,0x80ea,0x8007,0x8002,0x8003,0x800d,0x80bf,0x80e0, 0x80bb,0x0042,0x80ec,0x80ee,0x80b8,0x80f0,0x8007,0x0043, 0x80f2,0x80f4,0x80f5,0x8007,0x80f6,0x80f7,0x80f9,0x0045, 0x80ea,0x80f4,0x8002,0x80fb,0x80b8,0x80fd,0x80fe,0x8002, 0x8003,0x8033,0x8036,0x80e0,0x0046,0x80ff,0x8101,0x8008, 0x8098,0x8104,0x80e2,0x8033,0x8032,0x0047,0x8007,0x8002, 0x8003,0x8010,0x80ff,0x80b1,0x0048,0x8105,0x8061,0x800d, 0x8010,0x80ff,0x801a,0x0049,0x8105,0x80a2,0x800d,0x8010, 0x80ff,0x801a,0x004a,0x8107,0x8002,0x8003,0x80bf,0x8109, 0x810b,0x004b,0x80ff,0x801a,0x810d,0x8010,0x810f,0x801a, 0x004c,0x80ff,0x80b1,0x8007,0x800d,0x8110,0x801a,0x004d, 0x80ff,0x80a2,0x800d,0x8110,0x801a,0x004e,0x80ff,0x8061, 0x8112,0x800d,0x8110,0x801a,0x0050,0x8113,0x80b1,0x8007, 0x8115,0x805d,0x801a,0x0051,0x8113,0x80b1,0x8007,0x8117, 0x80b8,0x801a,0x0052,0x8007,0x8002,0x8003,0x8010,0x811a, 0x8013,0x0053,0x80f4,0x80f5,0x8007,0x804b,0x8003,0x811c, 0x800d,0x8036,0x0056,0x811e,0x811a,0x80f4,0x8117,0x80b8, 0x8120,0x8007,0x0057,0x80bb,0x8013,0x8007,0x80df,0x800d, 0x801a,0x005a,0x8121,0x8013,0x8007,0x80df,0x800d,0x801a, 0x005b,0x8123,0x8042,0x80b1,0x8007,0x8003,0x8066,0x005c, 0x8123,0x8124,0x8008,0x80d7,0x8126,0x005d,0x8123,0x8124, 0x8008,0x8127,0x806d,0x8033,0x8129,0x005a,0x8121,0x8013, 0x8007,0x80df,0x812b,0x80b1,0x005f,0x8024,0x8007,0x8003, 0x806a,0x800d,0x812c,0x0060,0x812e,0x8032,0x8003,0x806a, 0x800d,0x812c,0x0061,0x8130,0x8132,0x8003,0x806a,0x0062, 0x8135,0x8003,0x806a,0x800d,0x8015,0x8068,0x0065,0x8137, 0x803e,0x8008,0x8051,0x8055,0x8139,0x0066,0x813c,0x8033, 0x8032,0x813e,0x8002,0x8051,0x8140,0x0067,0x8141,0x8143, 0x8145,0x0068,0x8141,0x8143,0x8145,0x0069,0x807d,0x8055, 0x8017,0x807e,0x006a,0x80ff,0x80a2,0x8051,0x8146,0x006b, 0x8147,0x8149,0x804b,0x8143,0x8145,0x006c,0x814b,0x8051, 0x814d,0x006d,0x8147,0x8150,0x006e,0x8153,0x8154,0x006f, 0x8155,0x8157,0x8158,0x815a,0x815c,0x815e,0x8033,0x8032, 0x00c9,0x815f,0x8160,0x804b,0x8162,0x812b,0x804f,0x00ca, 0x8024,0x8007,0x8003,0x80df,0x00cb,0x8006,0x8007,0x8003, 0x80df,0x00cc,0x811e,0x8123,0x8042,0x80b1,0x8007,0x00cd, 0x8024,0x8007,0x8003,0x8165,0x00ce,0x8168,0x800d,0x816a, 0x816c,0x00cf,0x809e,0x80b1,0x8007,0x8003,0x816d,0x00d0, 0x8170,0x8173,0x8175,0x8177,0x00d1,0x8178,0x8003,0x817a, 0x817c,0x817d,0x817f,0x00ff,0x8182,0x8184,0x8186,0x0000 }; const int mlett[393] = { 0, 0x7890a80b,0x02a00000,0x53980000,0x5d7e8000, 0x652e3ad3,0x652c8000,0x190c52d8,0x36000000, 0x510e6000,0x436652c3,0x49c80000,0x452cb700, 0x672e8000,0x53700000,0x69453980,0x4565f1d6, 0x42000000,0x27bd3a47,0x50000000,0x5d0db280, 0x43a00000,0x47ae594b,0x5da00000,0x692f1a6b, 0x43600000,0x592ed2d8,0x4bc6194b,0x679d37dc, 0x5f900000,0x439e74cf,0x5d6cb768,0x590c52d8, 0x36ffb000,0x672c77dd,0x48000000,0x694db280, 0x1d0db280,0x492c7643,0x652c8000,0x257eba53, 0x5d280000,0x4d700000,0x5b7e5280,0x610e50db, 0x4ba4b966,0x69443700,0x6784b1d3,0x4d4cb200, 0x210e50db,0x4ba4b900,0x7a000000,0x5f300000, 0x494cd34b,0x65980000,0x69ce1280,0x4d95f680, 0x6784b1d3,0x4d4c70e9,0x537dc000,0x4d2ef2e4, 0x652cd2e5,0x4b7472c8,0x594dd280,0x781b2199, 0x0a000000,0x69bde000,0x477dda65,0x5f600000, 0x47643ae7,0x4b980000,0x4d7e4000,0x5b4e79d3, 0x5d380000,0x7829c200,0x7829c266,0x4394a000, 0x497cb980,0x652e3ad3,0x65280000,0x67ac59c7, 0x654e1a66,0x697de000,0x4d2ee000,0x6195fb53, 0x492c8000,0x5b0ddc80,0x439650f2,0x031e9ac3, 0x58000000,0x610e50db,0x4ba4b900,0x477dd359, 0x531e9980,0x6f4e9400,0x43700000,0x137692cf, 0x4b900000,0x5f84b943,0x697e4000,0x252c3600, 0x5f84b943,0x5d266000,0x537692cf,0x4b900000, 0x477dda4b,0x71a00000,0x6d0d94c8,0x782ac29d, 0x28000000,0x5dadb14b,0x64000000,0x657eba53, 0x5d280000,0x45ae8000,0x5d780000,0x457c9c80, 0x7832a707,0x2849e700,0x7890aa2b,0x24700000, 0x5fae9bd3,0x69400000,0x7890a9ab,0x18a00000, 0x5b0e0000,0x297de000,0x592ed2d9,0x66000000, 0x039650f2,0x494db2dd,0x674df766,0x6b8612e4, 0x457eb748,0x592e7980,0x597ef2e4,0x274f5280, 0x30f0c30d,0x0c30cf00,0x45ce92e6,0x092c7643, 0x650e94df,0x5c000000,0x512c3200,0x077dd9e9, 0x43768000,0x470dd75f,0x68000000,0x45280000, 0x4bb4366b,0x43a4b200,0x477db853,0x59280000, 0x5376d0d9,0x53200000,0x652e12e9,0x53a537dc, 0x4d0c7a5f,0x64000000,0x7819e727,0x2809ca00, 0x1376d0d9,0x53200000,0x477dd9e9,0x43768000, 0x53753a53,0x436539d3,0x5d380000,0x433692e4, 0x53a4b6e6,0x4bc612c7,0x692c8000,0x7befc000, 0x4f4ed2dc,0x782b0a0b,0x2470267c,0x782b0a25, 0x12726486,0x6d0e54c3,0x4564a000,0x789a0286, 0x7829898a,0x7879c000,0x03a692db,0x61a00000, 0x69780000,0x53753a53,0x436539ca,0x7831e91b, 0x02a00000,0x27ac59c7,0x654e1a00,0x6944a000, 0x457eb749,0x66000000,0x78312713,0x26400000, 0x53767a4b,0x43200000,0x789a80a5,0x28000000, 0x782b04a8,0x7819e729,0x1272a280,0x782b0a0b, 0x24702600,0x78232703,0x1a486000,0x7891eaa9, 0x1270a000,0x6f95f74e,0x0bc4b1eb,0x690c564a, 0x67a43a4b,0x5b2dda00,0x4d7eb748,0x752e5780, 0x2195f3e5,0x43680000,0x436df74e,0x4bc692e5, 0x5d0d8000,0x657eba53,0x5d2e6000,0x6b9cb200, 0x7890a19f,0x24200000,0x592dd3e9,0x50000000, 0x4f94b0e9,0x4b900000,0x652e3ad3,0x652e6000, 0x67ac5743,0x5b280000,0x27ac5743,0x5b280000, 0x0bc6194b,0x679d37dc,0x439e74cf,0x5d2c8000, 0x652c77e5,0x48000000,0x252c77e5,0x49980000, 0x36d80000,0x43748000,0x510ed280,0x494cd34b, 0x652dda00,0x4d7e56c3,0x69980000,0x43a690c7, 0x512c8000,0x37f00000,0x6f4531d0,0x27a654dd, 0x4e000000,0x492c7643,0x650e94df,0x5c000000, 0x5b0f0000,0x03953a51,0x5b2e94c6,0x252e77d9, 0x6ba537dc,0x477e594b,0x47a00000,0x4d7e56c3, 0x68000000,0x477dda43,0x53766000,0x67ac4000, 0x43953a51,0x5b2e94c6,0x3ddbc000,0x217d3769, 0x4b900000,0x477db843,0x652c8000,0x4b8eb4ed, 0x4364b747,0x4b200000,0x617d3769,0x4b900000, 0x4b8eb4ed,0x4364b768,0x0f65f143,0x58000000, 0x597c70d8,0x2b769ce1,0x4b200000,0x7831e900, 0x47643ae7,0x4a000000,0x67a4b800,0x5d7dd4dd, 0x692cf2e4,0x69943b4b,0x659cb980,0x43980000, 0x439e72db,0x4564b900,0x1f84b943,0x5d200000, 0x039e72db,0x4564b900,0x477dd9e9,0x65ac7a53, 0x5f700000,0x7868249d,0x0a800000,0x277eb947, 0x4a000000,0x477dda53,0x5dac3a53,0x5f766000, 0x2f7e55cd,0x5364a000,0x17173a4b,0x66000000, 0x676c3658,0x094c7a53,0x5f743972,0x477db859, 0x4ba4b672,0x4dad9600,0x597dd380,0x077db853, 0x592e4000,0x690c564b,0x66000000,0x077dd253, 0x694df700,0x477db859,0x531c3a4b,0x48000000, 0x537477dd,0x674e7a4b,0x5da00000,0x13761ae8, 0x4b7492c8,0x7849c199,0x2a20a000,0x4d4d9280, 0x4bc472cb,0x49980000,0x5b0f14db,0x6b680000, 0x5d2e7a53,0x5d380000,0x492e1a50,0x197dd380, 0x537692cf,0x4b966000,0x5374b34d,0x531d32dd, 0x68000000,0x4324994b,0x679c3159,0x4a000000, 0x272db4c7,0x5f65f700,0x477db6cb,0x5da00000, 0x692f1a00,0x53753a53,0x436539cb,0x48000000, 0x2b76195f,0x49ac7a53,0x6d280000,0x597cf4c7, 0x43600000,0x5f84b943,0x694df700,0x5d7e92c8, 0x789907a5,0x28000000,0x43b434d9,0x43159280, 0x38000000,0x7849ca0b,0x0e2a4000,0x67ac59e9, 0x53a6ba4b,0x48000000,0x077dda43,0x47a00000, 0x0326d4e7,0x5f972000,0x272e5b53,0x47280000 }; void message(unsigned char *mes, int n) { int i, j, k, q; int m, sh; *mes++ = ' '; *mes = '\0'; j = 0; for(i = 0; i < MWORDMAX+1; i++) { if(n == mword[i]) { j = 1; break; } } if(j == 0) { i = DEFAULT; j = 1; } for(;;) { k = mword[i+j]; if((k & 0x8000) == 0) break; k &= 0x7fff; if(j != 1) *mes++ = ' '; do { m = mlett[k+1]; sh = 25; do { q = (int) ((m >> sh) & 0x3f); if(q != 0) *mes++ = outtt[q]; sh -= 6; } while(sh >= 0); k++; } while((m & 1) != 0); j++; } *mes = '\0'; /* Terminate string */ } /* * End of file: message.c * */