home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / dev / obero / oberon-a / source / oel / errormessages.mod < prev    next >
Text File  |  1994-08-19  |  30KB  |  519 lines

  1. MODULE ErrorMessages;
  2. (****************************************************************
  3.    This file was created automatically by `FlexCat V1.3'
  4.    Do NOT edit by hand!
  5.    Oberon-A source description by Albert Weinert
  6.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  7. ****************************************************************)
  8.  
  9. (* $P- *)
  10.  
  11. IMPORT
  12.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  13.  
  14. CONST
  15.   builtinlanguage = "english";
  16.   version = 1;
  17.  
  18. CONST
  19.   msgErr0* = 1;
  20.   msgErr1* = 2;
  21.   msgErr2* = 3;
  22.   msgErr3* = 4;
  23.   msgErr4* = 5;
  24.   msgErr5* = 6;
  25.   msgErr9* = 10;
  26.   msgErr10* = 11;
  27.   msgErr12* = 13;
  28.   msgErr13* = 14;
  29.   msgErr14* = 15;
  30.   msgErr15* = 16;
  31.   msgErr16* = 17;
  32.   msgErr17* = 18;
  33.   msgErr18* = 19;
  34.   msgErr19* = 20;
  35.   msgErr20* = 21;
  36.   msgErr22* = 23;
  37.   msgErr23* = 24;
  38.   msgErr24* = 25;
  39.   msgErr25* = 26;
  40.   msgErr26* = 27;
  41.   msgErr27* = 28;
  42.   msgErr28* = 29;
  43.   msgErr29* = 30;
  44.   msgErr33* = 34;
  45.   msgErr34* = 35;
  46.   msgErr38* = 39;
  47.   msgErr40* = 41;
  48.   msgErr43* = 44;
  49.   msgErr45* = 46;
  50.   msgErr46* = 47;
  51.   msgErr47* = 48;
  52.   msgErr48* = 49;
  53.   msgErr49* = 50;
  54.   msgErr50* = 51;
  55.   msgErr51* = 52;
  56.   msgErr52* = 53;
  57.   msgErr53* = 54;
  58.   msgErr54* = 55;
  59.   msgErr55* = 56;
  60.   msgErr56* = 57;
  61.   msgErr57* = 58;
  62.   msgErr58* = 59;
  63.   msgErr59* = 60;
  64.   msgErr60* = 61;
  65.   msgErr61* = 62;
  66.   msgErr62* = 63;
  67.   msgErr63* = 64;
  68.   msgErr64* = 65;
  69.   msgErr65* = 66;
  70.   msgErr66* = 67;
  71.   msgErr67* = 68;
  72.   msgErr68* = 69;
  73.   msgErr81* = 82;
  74.   msgErr83* = 84;
  75.   msgErr84* = 85;
  76.   msgErr85* = 86;
  77.   msgErr86* = 87;
  78.   msgErr87* = 88;
  79.   msgErr91* = 92;
  80.   msgErr92* = 93;
  81.   msgErr93* = 94;
  82.   msgErr94* = 95;
  83.   msgErr95* = 96;
  84.   msgErr96* = 97;
  85.   msgErr97* = 98;
  86.   msgErr98* = 99;
  87.   msgErr100* = 101;
  88.   msgErr101* = 102;
  89.   msgErr102* = 103;
  90.   msgErr103* = 104;
  91.   msgErr104* = 105;
  92.   msgErr105* = 106;
  93.   msgErr106* = 107;
  94.   msgErr107* = 108;
  95.   msgErr108* = 109;
  96.   msgErr109* = 110;
  97.   msgErr110* = 111;
  98.   msgErr111* = 112;
  99.   msgErr112* = 113;
  100.   msgErr113* = 114;
  101.   msgErr114* = 115;
  102.   msgErr115* = 116;
  103.   msgErr116* = 117;
  104.   msgErr117* = 118;
  105.   msgErr118* = 119;
  106.   msgErr119* = 120;
  107.   msgErr120* = 121;
  108.   msgErr121* = 122;
  109.   msgErr122* = 123;
  110.   msgErr123* = 124;
  111.   msgErr124* = 125;
  112.   msgErr125* = 126;
  113.   msgErr126* = 127;
  114.   msgErr127* = 128;
  115.   msgErr129* = 130;
  116.   msgErr130* = 131;
  117.   msgErr131* = 132;
  118.   msgErr132* = 133;
  119.   msgErr150* = 151;
  120.   msgErr151* = 152;
  121.   msgErr152* = 153;
  122.   msgErr153* = 154;
  123.   msgErr155* = 156;
  124.   msgErr156* = 157;
  125.   msgErr157* = 158;
  126.   msgErr202* = 203;
  127.   msgErr203* = 204;
  128.   msgErr205* = 206;
  129.   msgErr209* = 210;
  130.   msgErr212* = 213;
  131.   msgErr214* = 215;
  132.   msgErr215* = 216;
  133.   msgErr216* = 217;
  134.   msgErr219* = 220;
  135.   msgErr221* = 222;
  136.   msgErr224* = 225;
  137.   msgErr226* = 227;
  138.   msgErr227* = 228;
  139.   msgErr228* = 229;
  140.   msgErr229* = 230;
  141.   msgErr230* = 231;
  142.   msgErr231* = 232;
  143.   msgErr233* = 234;
  144.   msgErr300* = 301;
  145.   msgErr301* = 302;
  146.   msgErr302* = 303;
  147.   msgErr303* = 304;
  148.   msgErr304* = 305;
  149.   msgErr305* = 306;
  150.   msgErr306* = 307;
  151.   msgErr307* = 308;
  152.   msgErr308* = 309;
  153.   msgErr310* = 311;
  154.   msgErr311* = 312;
  155.   msgErr312* = 313;
  156.   msgErr313* = 314;
  157.   msgErr314* = 315;
  158.   msgErr315* = 316;
  159.   msgErr316* = 317;
  160.   msgErr317* = 318;
  161.   msgErr318* = 319;
  162.   msgErr319* = 320;
  163.   msgErr320* = 321;
  164.   msgErr322* = 323;
  165.   msgErr323* = 324;
  166.   msgErr324* = 325;
  167.   msgErr325* = 326;
  168.   msgErr326* = 327;
  169.   msgErr327* = 328;
  170.   msgErr328* = 329;
  171.   msgErr329* = 330;
  172.   msgErr330* = 331;
  173.   msgErr331* = 332;
  174.   msgErr332* = 333;
  175.   msgErr333* = 334;
  176.   msgErr334* = 335;
  177.   msgErr335* = 336;
  178.   msgErr336* = 337;
  179.   msgErr337* = 338;
  180.   msgErr338* = 339;
  181.   msgErr339* = 340;
  182.   msgErr340* = 341;
  183.   msgErr341* = 342;
  184.   msgErr342* = 343;
  185.   msgErr343* = 344;
  186.   msgErr344* = 345;
  187.   msgErr345* = 346;
  188.   msgErr900* = 901;
  189.   msgErr901* = 902;
  190.   msgErr902* = 903;
  191.   msgErr903* = 904;
  192.   msgErr904* = 905;
  193.   msgErr905* = 906;
  194.   msgErr906* = 907;
  195.   msgErr907* = 908;
  196.   msgErr915* = 916;
  197.   msgErr916* = 917;
  198.   msgErr917* = 918;
  199.   msgErr918* = 919;
  200.   msgErr919* = 920;
  201.   msgErr920* = 921;
  202.   msgErr922* = 923;
  203.   msgErr950* = 951;
  204.   msgErr951* = 952;
  205.   msgErr952* = 953;
  206.   msgErr953* = 954;
  207.   msgErr954* = 955;
  208.   msgErr955* = 956;
  209.   msgErr956* = 957;
  210.   msgErr957* = 958;
  211.   msgErr958* = 959;
  212.   msgErr959* = 960;
  213.   msgErr960* = 961;
  214.   msgErr961* = 962;
  215.   msgErr962* = 963;
  216.   msgErr963* = 964;
  217.   msgErr964* = 965;
  218.   msgErr965* = 966;
  219.   msgErr966* = 967;
  220.   msgErr967* = 968;
  221.   msgErr1000* = 1001;
  222.   msgErr1001* = 1002;
  223.   msgErr1002* = 1003;
  224.   msgErr1003* = 1004;
  225.   msgErr1004* = 1005;
  226.   msgErr1005* = 1006;
  227.   msgErr1006* = 1007;
  228.   msgErr1007* = 1008;
  229.   msgErr1008* = 1009;
  230.   msgErr1009* = 1010;
  231.   msgErr1010* = 1011;
  232.   msgErr1011* = 1012;
  233.   msgErr1012* = 1013;
  234.   msgErr1013* = 1014;
  235.   msgErr1014* = 1015;
  236.   msgErr1015* = 1016;
  237.   msgErr1016* = 1017;
  238.  
  239. TYPE
  240.   AppString = RECORD;
  241.      id  : LONGINT;
  242.      str : e.STRPTR;
  243.   END;
  244.   AppStringArray = ARRAY 219 OF AppString;
  245.  
  246. VAR
  247.   AppStrings : AppStringArray;
  248.   catalog : lo.CatalogPtr;
  249.  
  250.   PROCEDURE SetStrings;
  251.     BEGIN
  252.       AppStrings[0].id := msgErr0; AppStrings[0].str := y.ADR( "Undeclared identifier" );
  253.       AppStrings[1].id := msgErr1; AppStrings[1].str := y.ADR( "Multiply defined identifier" );
  254.       AppStrings[2].id := msgErr2; AppStrings[2].str := y.ADR( "Illegal character in number" );
  255.       AppStrings[3].id := msgErr3; AppStrings[3].str := y.ADR( "Illegal character in string" );
  256.       AppStrings[4].id := msgErr4; AppStrings[4].str := y.ADR( "Identifier does not match procedure name" );
  257.       AppStrings[5].id := msgErr5; AppStrings[5].str := y.ADR( "Comment not closed" );
  258.       AppStrings[6].id := msgErr9; AppStrings[6].str := y.ADR( "\"=\" expected" );
  259.       AppStrings[7].id := msgErr10; AppStrings[7].str := y.ADR( "Identifier expected" );
  260.       AppStrings[8].id := msgErr12; AppStrings[8].str := y.ADR( "Type definition starts with incorrect symbol" );
  261.       AppStrings[9].id := msgErr13; AppStrings[9].str := y.ADR( "Factor starts with incorrect symbol" );
  262.       AppStrings[10].id := msgErr14; AppStrings[10].str := y.ADR( "Statement starts with incorrect symbol" );
  263.       AppStrings[11].id := msgErr15; AppStrings[11].str := y.ADR( "Declaration followed by incorrect symbol" );
  264.       AppStrings[12].id := msgErr16; AppStrings[12].str := y.ADR( "MODULE expected" );
  265.       AppStrings[13].id := msgErr17; AppStrings[13].str := y.ADR( "Integer constant expected" );
  266.       AppStrings[14].id := msgErr18; AppStrings[14].str := y.ADR( "\".\" missing" );
  267.       AppStrings[15].id := msgErr19; AppStrings[15].str := y.ADR( "\",\" missing" );
  268.       AppStrings[16].id := msgErr20; AppStrings[16].str := y.ADR( "\":\" missing" );
  269.       AppStrings[17].id := msgErr22; AppStrings[17].str := y.ADR( "\")\" missing" );
  270.       AppStrings[18].id := msgErr23; AppStrings[18].str := y.ADR( "\"]\" missing" );
  271.       AppStrings[19].id := msgErr24; AppStrings[19].str := y.ADR( "\"}\" missing" );
  272.       AppStrings[20].id := msgErr25; AppStrings[20].str := y.ADR( "OF missing" );
  273.       AppStrings[21].id := msgErr26; AppStrings[21].str := y.ADR( "THEN missing" );
  274.       AppStrings[22].id := msgErr27; AppStrings[22].str := y.ADR( "DO missing" );
  275.       AppStrings[23].id := msgErr28; AppStrings[23].str := y.ADR( "TO missing" );
  276.       AppStrings[24].id := msgErr29; AppStrings[24].str := y.ADR( "\"(\" missing" );
  277.       AppStrings[25].id := msgErr33; AppStrings[25].str := y.ADR( "\":=\" missing" );
  278.       AppStrings[26].id := msgErr34; AppStrings[26].str := y.ADR( "\",\" or OF expected" );
  279.       AppStrings[27].id := msgErr38; AppStrings[27].str := y.ADR( "\";\" missing" );
  280.       AppStrings[28].id := msgErr40; AppStrings[28].str := y.ADR( "END missing" );
  281.       AppStrings[29].id := msgErr43; AppStrings[29].str := y.ADR( "UNTIL missing" );
  282.       AppStrings[30].id := msgErr45; AppStrings[30].str := y.ADR( "EXIT not within loop statement" );
  283.       AppStrings[31].id := msgErr46; AppStrings[31].str := y.ADR( "Non-global objects cannot be exported" );
  284.       AppStrings[32].id := msgErr47; AppStrings[32].str := y.ADR( "Illegally marked identifier" );
  285.       AppStrings[33].id := msgErr48; AppStrings[33].str := y.ADR( "Forward declared pointer unsatisfied" );
  286.       AppStrings[34].id := msgErr49; AppStrings[34].str := y.ADR( "Attempting to import self" );
  287.       AppStrings[35].id := msgErr50; AppStrings[35].str := y.ADR( "Expression should be constant" );
  288.       AppStrings[36].id := msgErr51; AppStrings[36].str := y.ADR( "Constant not an integer" );
  289.       AppStrings[37].id := msgErr52; AppStrings[37].str := y.ADR( "Identifier does not denote a type" );
  290.       AppStrings[38].id := msgErr53; AppStrings[38].str := y.ADR( "Identifier does not denote a record type" );
  291.       AppStrings[39].id := msgErr54; AppStrings[39].str := y.ADR( "Result type of procedure is not a basic type" );
  292.       AppStrings[40].id := msgErr55; AppStrings[40].str := y.ADR( "Procedure call of a function" );
  293.       AppStrings[41].id := msgErr56; AppStrings[41].str := y.ADR( "Assignment to non-variable" );
  294.       AppStrings[42].id := msgErr57; AppStrings[42].str := y.ADR( "Pointer not bound to record or array type" );
  295.       AppStrings[43].id := msgErr58; AppStrings[43].str := y.ADR( "Recursive type definition" );
  296.       AppStrings[44].id := msgErr59; AppStrings[44].str := y.ADR( "Illegal open array parameter" );
  297.       AppStrings[45].id := msgErr60; AppStrings[45].str := y.ADR( "Wrong type of case label" );
  298.       AppStrings[46].id := msgErr61; AppStrings[46].str := y.ADR( "Inadmissible type of case label" );
  299.       AppStrings[47].id := msgErr62; AppStrings[47].str := y.ADR( "Case label defined more than once" );
  300.       AppStrings[48].id := msgErr63; AppStrings[48].str := y.ADR( "Index out of bounds" );
  301.       AppStrings[49].id := msgErr64; AppStrings[49].str := y.ADR( "More actual than formal parameters" );
  302.       AppStrings[50].id := msgErr65; AppStrings[50].str := y.ADR( "Fewer actual than formal parameters                  " );
  303.       AppStrings[51].id := msgErr66; AppStrings[51].str := y.ADR( "Element types of actual array and formal open array differ" );
  304.       AppStrings[52].id := msgErr67; AppStrings[52].str := y.ADR( "Actual parameter corresponding to open array is not an array" );
  305.       AppStrings[53].id := msgErr68; AppStrings[53].str := y.ADR( "Array bound out of range" );
  306.       AppStrings[54].id := msgErr81; AppStrings[54].str := y.ADR( "Index out of specified bounds" );
  307.       AppStrings[55].id := msgErr83; AppStrings[55].str := y.ADR( "Undefined record field" );
  308.       AppStrings[56].id := msgErr84; AppStrings[56].str := y.ADR( "Dereferenced variable is not a pointer" );
  309.       AppStrings[57].id := msgErr85; AppStrings[57].str := y.ADR( "Guard or test type is not an extension of variable type" );
  310.       AppStrings[58].id := msgErr86; AppStrings[58].str := y.ADR( "Guard or test type is not a pointer" );
  311.       AppStrings[59].id := msgErr87; AppStrings[59].str := y.ADR( "Guarded or tested variable is neither a pointer nor a VAR-parameter record" );
  312.       AppStrings[60].id := msgErr91; AppStrings[60].str := y.ADR( "x IN y : constant x is out of range (0 <= p < 32)" );
  313.       AppStrings[61].id := msgErr92; AppStrings[61].str := y.ADR( "Operand of IN not an integer, or not a set" );
  314.       AppStrings[62].id := msgErr93; AppStrings[62].str := y.ADR( "Set element type is not an integer" );
  315.       AppStrings[63].id := msgErr94; AppStrings[63].str := y.ADR( "Operand of & is not of type BOOLEAN" );
  316.       AppStrings[64].id := msgErr95; AppStrings[64].str := y.ADR( "Operand of OR is not of type BOOLEAN" );
  317.       AppStrings[65].id := msgErr96; AppStrings[65].str := y.ADR( "Operand not applicable to (unary) +" );
  318.       AppStrings[66].id := msgErr97; AppStrings[66].str := y.ADR( "Operand not applicable to (unary) -" );
  319.       AppStrings[67].id := msgErr98; AppStrings[67].str := y.ADR( "Operand of ~ is not of type BOOLEAN         " );
  320.       AppStrings[68].id := msgErr100; AppStrings[68].str := y.ADR( "Incompatible operands of dyadic operator" );
  321.       AppStrings[69].id := msgErr101; AppStrings[69].str := y.ADR( "Operand type inapplicable to *" );
  322.       AppStrings[70].id := msgErr102; AppStrings[70].str := y.ADR( "Operand type inapplicable to /" );
  323.       AppStrings[71].id := msgErr103; AppStrings[71].str := y.ADR( "Operand type inapplicable to DIV" );
  324.       AppStrings[72].id := msgErr104; AppStrings[72].str := y.ADR( "Operand type inapplicable to MOD" );
  325.       AppStrings[73].id := msgErr105; AppStrings[73].str := y.ADR( "Operand type inapplicable to +" );
  326.       AppStrings[74].id := msgErr106; AppStrings[74].str := y.ADR( "Operand type inapplicable to -" );
  327.       AppStrings[75].id := msgErr107; AppStrings[75].str := y.ADR( "Operand type inapplicable to = or #" );
  328.       AppStrings[76].id := msgErr108; AppStrings[76].str := y.ADR( "Operand type inapplicable to relation      " );
  329.       AppStrings[77].id := msgErr109; AppStrings[77].str := y.ADR( "Arithmetic overflow in constant expression" );
  330.       AppStrings[78].id := msgErr110; AppStrings[78].str := y.ADR( "Operand is not a type" );
  331.       AppStrings[79].id := msgErr111; AppStrings[79].str := y.ADR( "Operand inapplicable to (this) function" );
  332.       AppStrings[80].id := msgErr112; AppStrings[80].str := y.ADR( "Operand is not a variable" );
  333.       AppStrings[81].id := msgErr113; AppStrings[81].str := y.ADR( "Incompatible assignment" );
  334.       AppStrings[82].id := msgErr114; AppStrings[82].str := y.ADR( "String too long to be assigned" );
  335.       AppStrings[83].id := msgErr115; AppStrings[83].str := y.ADR( "Parameter doesn't match" );
  336.       AppStrings[84].id := msgErr116; AppStrings[84].str := y.ADR( "Number of parameters doesn't match" );
  337.       AppStrings[85].id := msgErr117; AppStrings[85].str := y.ADR( "Number of parameters doesn't match" );
  338.       AppStrings[86].id := msgErr118; AppStrings[86].str := y.ADR( "Result type doesn't match" );
  339.       AppStrings[87].id := msgErr119; AppStrings[87].str := y.ADR( "Assigned procedure is not global" );
  340.       AppStrings[88].id := msgErr120; AppStrings[88].str := y.ADR( "Type of expression following IF, WHILE, UNTIL, or ASSERT is not BOOLEAN" );
  341.       AppStrings[89].id := msgErr121; AppStrings[89].str := y.ADR( "Called object is not a procedure (or is an interrupt procedure)" );
  342.       AppStrings[90].id := msgErr122; AppStrings[90].str := y.ADR( "Actual VAR-parameter is not a variable" );
  343.       AppStrings[91].id := msgErr123; AppStrings[91].str := y.ADR( "Type of actual parameter is not identical with that of formal VAR-parameter" );
  344.       AppStrings[92].id := msgErr124; AppStrings[92].str := y.ADR( "Type of result expression differs from that of procedure" );
  345.       AppStrings[93].id := msgErr125; AppStrings[93].str := y.ADR( "Type of case expression is neither INTEGER nor CHAR" );
  346.       AppStrings[94].id := msgErr126; AppStrings[94].str := y.ADR( "Illegal mode of operand" );
  347.       AppStrings[95].id := msgErr127; AppStrings[95].str := y.ADR( "Illegal mode of addressed operand" );
  348.       AppStrings[96].id := msgErr129; AppStrings[96].str := y.ADR( "Forward declared procedure not implemented" );
  349.       AppStrings[97].id := msgErr130; AppStrings[97].str := y.ADR( "WITH clause does not specify a variable" );
  350.       AppStrings[98].id := msgErr131; AppStrings[98].str := y.ADR( "LEN not applied to array" );
  351.       AppStrings[99].id := msgErr132; AppStrings[99].str := y.ADR( "Dimension in LEN too large or negative" );
  352.       AppStrings[100].id := msgErr150; AppStrings[100].str := y.ADR( "Key inconsistency of imported module" );
  353.       AppStrings[101].id := msgErr151; AppStrings[101].str := y.ADR( "Incorrect symbol file" );
  354.       AppStrings[102].id := msgErr152; AppStrings[102].str := y.ADR( "Symbol file of imported module not found" );
  355.       AppStrings[103].id := msgErr153; AppStrings[103].str := y.ADR( "Object or symbol file not opened (disk full?)" );
  356.       AppStrings[104].id := msgErr155; AppStrings[104].str := y.ADR( "Generation of new symbol file not allowed" );
  357.       AppStrings[105].id := msgErr156; AppStrings[105].str := y.ADR( "String in symbol file" );
  358.       AppStrings[106].id := msgErr157; AppStrings[106].str := y.ADR( "Symbol file tag illegal" );
  359.       AppStrings[107].id := msgErr202; AppStrings[107].str := y.ADR( "Set element greater than MAX(SET) or less than 0" );
  360.       AppStrings[108].id := msgErr203; AppStrings[108].str := y.ADR( "Number too large" );
  361.       AppStrings[109].id := msgErr205; AppStrings[109].str := y.ADR( "Division by zero" );
  362.       AppStrings[110].id := msgErr209; AppStrings[110].str := y.ADR( "Too much variable space needed" );
  363.       AppStrings[111].id := msgErr212; AppStrings[111].str := y.ADR( "Buffer for identifiers and strings full" );
  364.       AppStrings[112].id := msgErr214; AppStrings[112].str := y.ADR( "Too many exit statements" );
  365.       AppStrings[113].id := msgErr215; AppStrings[113].str := y.ADR( "Not enough registers: simplify expression" );
  366.       AppStrings[114].id := msgErr216; AppStrings[114].str := y.ADR( "Object is not a register item" );
  367.       AppStrings[115].id := msgErr219; AppStrings[115].str := y.ADR( "Illegal value of parameter  (0 <= p < 15)" );
  368.       AppStrings[116].id := msgErr221; AppStrings[116].str := y.ADR( "String cannot be exported / too many pointers in a record" );
  369.       AppStrings[117].id := msgErr224; AppStrings[117].str := y.ADR( "Too many pointer types" );
  370.       AppStrings[118].id := msgErr226; AppStrings[118].str := y.ADR( "Too many exported procedures" );
  371.       AppStrings[119].id := msgErr227; AppStrings[119].str := y.ADR( "Too many imported modules" );
  372.       AppStrings[120].id := msgErr228; AppStrings[120].str := y.ADR( "Too many exported structures" );
  373.       AppStrings[121].id := msgErr229; AppStrings[121].str := y.ADR( "Too many nested records for import" );
  374.       AppStrings[122].id := msgErr230; AppStrings[122].str := y.ADR( "Too many constants (strings) in module" );
  375.       AppStrings[123].id := msgErr231; AppStrings[123].str := y.ADR( "Code buffer overflow" );
  376.       AppStrings[124].id := msgErr233; AppStrings[124].str := y.ADR( "Type descriptor buffer overflow" );
  377.       AppStrings[125].id := msgErr300; AppStrings[125].str := y.ADR( "Parameter must be an exportable procedure or procedure variable" );
  378.       AppStrings[126].id := msgErr301; AppStrings[126].str := y.ADR( "Procedure must be paramaterless and typeless" );
  379.       AppStrings[127].id := msgErr302; AppStrings[127].str := y.ADR( "Parameter must be a procedure variable" );
  380.       AppStrings[128].id := msgErr303; AppStrings[128].str := y.ADR( "Library procedure must have a receiver parameter." );
  381.       AppStrings[129].id := msgErr304; AppStrings[129].str := y.ADR( "Library procedure receiver cannot be VAR parameter." );
  382.       AppStrings[130].id := msgErr305; AppStrings[130].str := y.ADR( "Receiver cannot be an imported type." );
  383.       AppStrings[131].id := msgErr306; AppStrings[131].str := y.ADR( "Receiver type must be a pointer type." );
  384.       AppStrings[132].id := msgErr307; AppStrings[132].str := y.ADR( "Receiver type must be a record type." );
  385.       AppStrings[133].id := msgErr308; AppStrings[133].str := y.ADR( "Receiver type must be a C pointer type." );
  386.       AppStrings[134].id := msgErr310; AppStrings[134].str := y.ADR( "Name buffer overflow" );
  387.       AppStrings[135].id := msgErr311; AppStrings[135].str := y.ADR( "Library procedure cannot be used in this manner" );
  388.       AppStrings[136].id := msgErr312; AppStrings[136].str := y.ADR( "Global variables too large to zero (> 260kB)" );
  389.       AppStrings[137].id := msgErr313; AppStrings[137].str := y.ADR( "Union type cannot have a base type" );
  390.       AppStrings[138].id := msgErr314; AppStrings[138].str := y.ADR( "Control variable of FOR loop must be an integer type" );
  391.       AppStrings[139].id := msgErr315; AppStrings[139].str := y.ADR( "Start and end values of FOR loop must be integers" );
  392.       AppStrings[140].id := msgErr316; AppStrings[140].str := y.ADR( "Step value of FOR loop must be non-zero" );
  393.       AppStrings[141].id := msgErr317; AppStrings[141].str := y.ADR( "Start, end or step value(s) too large for control variable of FOR loop" );
  394.       AppStrings[142].id := msgErr318; AppStrings[142].str := y.ADR( "Sign of step value is wrong for given start and end values." );
  395.       AppStrings[143].id := msgErr319; AppStrings[143].str := y.ADR( "ASSERT (x,n): constant x evaluates to FALSE, should be HALT (n)" );
  396.       AppStrings[144].id := msgErr320; AppStrings[144].str := y.ADR( "ASSERT (x,n): constant x evaluates to TRUE, statement is meaningless" );
  397.       AppStrings[145].id := msgErr322; AppStrings[145].str := y.ADR( "Illegal mode in array index calculation" );
  398.       AppStrings[146].id := msgErr323; AppStrings[146].str := y.ADR( "Cannot alias imported strings > 1 character" );
  399.       AppStrings[147].id := msgErr324; AppStrings[147].str := y.ADR( "Operations that modify read-only variables are not allowed" );
  400.       AppStrings[148].id := msgErr325; AppStrings[148].str := y.ADR( "Open arrays are restricted to pointer base types, element types of open arrays and formal parameter types" );
  401.       AppStrings[149].id := msgErr326; AppStrings[149].str := y.ADR( "CPointers and BPointers to open arrays are not yet implemented" );
  402.       AppStrings[150].id := msgErr327; AppStrings[150].str := y.ADR( "Control variable must be a simple variable local to the procedure or module" );
  403.       AppStrings[151].id := msgErr328; AppStrings[151].str := y.ADR( "Integer expression expected" );
  404.       AppStrings[152].id := msgErr329; AppStrings[152].str := y.ADR( "Type-bound procedure has the same name as a record field" );
  405.       AppStrings[153].id := msgErr330; AppStrings[153].str := y.ADR( "Redefined procedure must be exported" );
  406.       AppStrings[154].id := msgErr331; AppStrings[154].str := y.ADR( "Cannot assign a type-bound procedure" );
  407.       AppStrings[155].id := msgErr332; AppStrings[155].str := y.ADR( "Super-call only allowed for receiver parameter" );
  408.       AppStrings[156].id := msgErr333; AppStrings[156].str := y.ADR( "Super-call not defined for base type" );
  409.       AppStrings[157].id := msgErr334; AppStrings[157].str := y.ADR( "Module name too long (limit 26 characters)" );
  410.       AppStrings[158].id := msgErr335; AppStrings[158].str := y.ADR( "RETURN statement missing in function procedure" );
  411.       AppStrings[159].id := msgErr336; AppStrings[159].str := y.ADR( "Vararg parameter must be a value register parameter" );
  412.       AppStrings[160].id := msgErr337; AppStrings[160].str := y.ADR( "Vararg parameter must be the last parameter" );
  413.       AppStrings[161].id := msgErr338; AppStrings[161].str := y.ADR( "Parameter does not denote a pointer or record type" );
  414.       AppStrings[162].id := msgErr339; AppStrings[162].str := y.ADR( "SYSTEM.NEW cannot be used to allocate this type, use NEW instead" );
  415.       AppStrings[163].id := msgErr340; AppStrings[163].str := y.ADR( "Formal parameter must include a register specification" );
  416.       AppStrings[164].id := msgErr341; AppStrings[164].str := y.ADR( "Cannot assign a foreign procedure" );
  417.       AppStrings[165].id := msgErr342; AppStrings[165].str := y.ADR( "Foreign procedure's symbol expected" );
  418.       AppStrings[166].id := msgErr343; AppStrings[166].str := y.ADR( "Foreign procedures cannot be forward declared" );
  419.       AppStrings[167].id := msgErr344; AppStrings[167].str := y.ADR( "Foreign procedure cannot be bound to a type" );
  420.       AppStrings[168].id := msgErr345; AppStrings[168].str := y.ADR( "Cannot copy open arrays when $A switch set" );
  421.       AppStrings[169].id := msgErr900; AppStrings[169].str := y.ADR( "Not implemented yet" );
  422.       AppStrings[170].id := msgErr901; AppStrings[170].str := y.ADR( "Register parameters only allowed in LibCall procedure" );
  423.       AppStrings[171].id := msgErr902; AppStrings[171].str := y.ADR( "Illegal type for register specification" );
  424.       AppStrings[172].id := msgErr903; AppStrings[172].str := y.ADR( "Illegal register number" );
  425.       AppStrings[173].id := msgErr904; AppStrings[173].str := y.ADR( "Parameter type is too big for register" );
  426.       AppStrings[174].id := msgErr905; AppStrings[174].str := y.ADR( "LibCallSpec only allowed for library procedure" );
  427.       AppStrings[175].id := msgErr906; AppStrings[175].str := y.ADR( "Function offset must be integer" );
  428.       AppStrings[176].id := msgErr907; AppStrings[176].str := y.ADR( "Library base variable must be pointer type" );
  429.       AppStrings[177].id := msgErr915; AppStrings[177].str := y.ADR( "Language extensions not allowed when portableCode switch is on" );
  430.       AppStrings[178].id := msgErr916; AppStrings[178].str := y.ADR( "String constants not allowed when createObj switch is off" );
  431.       AppStrings[179].id := msgErr917; AppStrings[179].str := y.ADR( "Tagged record types not allowed when createObj switch is off" );
  432.       AppStrings[180].id := msgErr918; AppStrings[180].str := y.ADR( "Variables not allowed when createObj switch is off" );
  433.       AppStrings[181].id := msgErr919; AppStrings[181].str := y.ADR( "Procedure or module body not allowed when createObj switch is off" );
  434.       AppStrings[182].id := msgErr920; AppStrings[182].str := y.ADR( "Cannot import module with object code when createObj switch is off" );
  435.       AppStrings[183].id := msgErr922; AppStrings[183].str := y.ADR( "Too many search paths specified" );
  436.       AppStrings[184].id := msgErr950; AppStrings[184].str := y.ADR( "Internal error - " );
  437.       AppStrings[185].id := msgErr951; AppStrings[185].str := y.ADR( "attempt to free an unused register" );
  438.       AppStrings[186].id := msgErr952; AppStrings[186].str := y.ADR( "illegal reference type" );
  439.       AppStrings[187].id := msgErr953; AppStrings[187].str := y.ADR( "wrong number of operands for opcode" );
  440.       AppStrings[188].id := msgErr954; AppStrings[188].str := y.ADR( "address alignment error" );
  441.       AppStrings[189].id := msgErr955; AppStrings[189].str := y.ADR( "branch too large" );
  442.       AppStrings[190].id := msgErr956; AppStrings[190].str := y.ADR( "addressing mode error" );
  443.       AppStrings[191].id := msgErr957; AppStrings[191].str := y.ADR( "data size error" );
  444.       AppStrings[192].id := msgErr958; AppStrings[192].str := y.ADR( "error in operand" );
  445.       AppStrings[193].id := msgErr959; AppStrings[193].str := y.ADR( "illegal reference size specified" );
  446.       AppStrings[194].id := msgErr960; AppStrings[194].str := y.ADR( "block length must be a constant" );
  447.       AppStrings[195].id := msgErr961; AppStrings[195].str := y.ADR( "patching past end of code buffer" );
  448.       AppStrings[196].id := msgErr962; AppStrings[196].str := y.ADR( "addressing string not in constant buffer" );
  449.       AppStrings[197].id := msgErr963; AppStrings[197].str := y.ADR( "no pointer to open array descriptor" );
  450.       AppStrings[198].id := msgErr964; AppStrings[198].str := y.ADR( "reference name missing" );
  451.       AppStrings[199].id := msgErr965; AppStrings[199].str := y.ADR( "type-bound procedure missing" );
  452.       AppStrings[200].id := msgErr966; AppStrings[200].str := y.ADR( "dereferencing NIL pointer" );
  453.       AppStrings[201].id := msgErr967; AppStrings[201].str := y.ADR( "procedure return overlaps allocated registers" );
  454.       AppStrings[202].id := msgErr1000; AppStrings[202].str := y.ADR( "Internal error - unrecognised case in CASE statement: " );
  455.       AppStrings[203].id := msgErr1001; AppStrings[203].str := y.ADR( "OCS.Get" );
  456.       AppStrings[204].id := msgErr1002; AppStrings[204].str := y.ADR( "OCT.Import / CASE obj.typ.form" );
  457.       AppStrings[205].id := msgErr1003; AppStrings[205].str := y.ADR( "OCT.Import / CASE class (far inner)" );
  458.       AppStrings[206].id := msgErr1004; AppStrings[206].str := y.ADR( "OCT.Import / CASE class (inner)" );
  459.       AppStrings[207].id := msgErr1005; AppStrings[207].str := y.ADR( "OCT.Import / CASE class (outer)" );
  460.       AppStrings[208].id := msgErr1006; AppStrings[208].str := y.ADR( "OCT.OutStr" );
  461.       AppStrings[209].id := msgErr1007; AppStrings[209].str := y.ADR( "OCT.OutObj" );
  462.       AppStrings[210].id := msgErr1008; AppStrings[210].str := y.ADR( "OCC.PutArg" );
  463.       AppStrings[211].id := msgErr1009; AppStrings[211].str := y.ADR( "OCE.RealMath" );
  464.       AppStrings[212].id := msgErr1010; AppStrings[212].str := y.ADR( "OCE.MOp" );
  465.       AppStrings[213].id := msgErr1011; AppStrings[213].str := y.ADR( "OCE.CheckOverflow" );
  466.       AppStrings[214].id := msgErr1012; AppStrings[214].str := y.ADR( "OCE.Op / CASE f" );
  467.       AppStrings[215].id := msgErr1013; AppStrings[215].str := y.ADR( "OCE.Op / CASE op" );
  468.       AppStrings[216].id := msgErr1014; AppStrings[216].str := y.ADR( "OCP.StPar1" );
  469.       AppStrings[217].id := msgErr1015; AppStrings[217].str := y.ADR( "OCP.StPar2" );
  470.       AppStrings[218].id := msgErr1016; AppStrings[218].str := y.ADR( "OCH.Assign" );
  471.     END SetStrings;
  472.  
  473.   PROCEDURE CloseCatalog*();
  474.     BEGIN
  475.       IF catalog # NIL THEN lo.base.CloseCatalog (catalog); catalog:=NIL END;
  476.    END CloseCatalog;
  477.  
  478.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  479.     VAR Tag : ARRAY 4 OF u.TagItem;
  480.     BEGIN
  481.       CloseCatalog();
  482.       IF (catalog = NIL) & (lo.base # NIL) THEN
  483.         Tag[0].tag := lo.ocBuiltInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  484.         Tag[1].tag := u.tagSkip;  Tag[1].data := y.ADR( language );
  485.         Tag[2].tag := lo.ocVersion; Tag[2].data := version;
  486.         Tag[3].tag := u.tagDone;
  487.  
  488.         IF language # "" THEN
  489.           Tag[1].tag:= lo.ocLanguage;
  490.         END;
  491.         catalog := lo.base.OpenCatalogA (loc, "ErrorMessages.catalog", Tag);
  492.       END;
  493.     END OpenCatalog;
  494.  
  495.   PROCEDURE GetString* (num: LONGINT): e.STRPTR;
  496.     VAR
  497.       i: LONGINT;
  498.       default: e.STRPTR;
  499.     BEGIN
  500.       i := 0; WHILE (i < 219) & (AppStrings[i].id # num) DO INC (i) END;
  501.  
  502.       IF i # 219 THEN
  503.         default := AppStrings[i].str;
  504.       ELSE
  505.         default := NIL;
  506.       END;
  507.  
  508.       IF catalog # NIL THEN
  509.         RETURN lo.base.GetCatalogStr (catalog, num, default^);
  510.       ELSE
  511.         RETURN default;
  512.       END;
  513.     END GetString;
  514.  
  515. BEGIN
  516.   catalog := NIL;
  517.   SetStrings;
  518. END ErrorMessages.
  519.