amxmodx/compiler/libpc300/sc5.scp
2005-11-19 09:16:27 +00:00

329 lines
18 KiB
Plaintext
Executable File

/* Pawn compiler - Error message strings (plain and compressed formats)
*
* Copyright (c) ITB CompuPhase, 2000-2005
*
* This software is provided "as-is", without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from
* the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software in
* a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*
* Version: $Id$
*/
SC_FUNC int strexpand(char *dest, unsigned char *source, int maxlen, unsigned char pairtable[128][2]);
#define SCPACK_TABLE errstr_table
/*-*SCPACK start of pair table, do not change or remove this line */
unsigned char errstr_table[][2] = {
{101,32}, {111,110}, {116,32}, {105,110}, {97,114}, {116,105}, {100,32}, {115,32}, {101,110}, {101,114}, {97,108}, {133,129}, {37,115}, {34,140}, {141,34}, {117,110},
{115,105}, {110,111}, {114,101}, {121,32}, {97,110}, {111,114}, {97,116}, {109,136}, {100,101}, {139,32}, {115,116}, {101,134}, {109,98}, {41,10}, {118,138}, {114,97},
{143,99}, {145,130}, {32,142}, {102,160}, {117,115}, {98,108}, {111,108}, {97,32}, {115,144}, {163,153}, {105,134}, {132,159}, {149,32}, {158,170}, {115,121}, {117,151},
{174,156}, {103,32}, {176,166}, {103,175}, {131,173}, {132,179}, {116,104}, {101,120}, {137,32}, {101,100}, {111,102}, {99,104}, {105,135}, {171,147}, {152,102}, {116,111},
{186,32}, {97,165}, {99,129}, {181,130}, {101,10}, {115,10}, {112,146}, {164,130}, {98,128}, {162,10}, {44,32}, {109,199}, {109,97}, {193,128}, {34,32}, {129,32},
{116,97}, {100,105}, {144,122}, {190,131}, {118,132}, {101,135}, {154,150}, {102,105}, {212,105}, {101,108}, {117,108}, {99,111}, {109,150}, {58,201}, {216,205}, {132,97},
{119,105}, {111,112}, {97,115}, {225,137}, {194,154}, {178,162}, {110,32}, {138,32}, {148,32}, {198,168}, {131,177}, {203,200}, {104,97}, {183,233}, {108,111}, {109,112},
{148,130}, {108,128}, {229,157}, {142,157}, {40,242}, {110,117}, {118,128}, {116,137}, {116,10}, {102,149}, {227,150}, {101,151}, {245,156}, {111,32}, {145,32}
};
/*-*SCPACK end of pair table, do not change or remove this line */
static char *errmsg[] = {
#ifdef SCPACK
/*001*/ "expected token: \"%s\", but found \"%s\"\n",
/*002*/ "only a single statement (or expression) can follow each \"case\"\n",
/*003*/ "declaration of a local variable must appear in a compound block\n",
/*004*/ "function \"%s\" is not implemented\n",
/*005*/ "function may not have arguments\n",
/*006*/ "must be assigned to an array\n",
/*007*/ "operator cannot be redefined\n",
/*008*/ "must be a constant expression; assumed zero\n",
/*009*/ "invalid array size (negative or zero)\n",
/*010*/ "invalid function or declaration\n",
/*011*/ "invalid outside functions\n",
/*012*/ "invalid function call, not a valid address\n",
/*013*/ "no entry point (no public functions)\n",
/*014*/ "invalid statement; not in switch\n",
/*015*/ "\"default\" case must be the last case in switch statement\n",
/*016*/ "multiple defaults in \"switch\"\n",
/*017*/ "undefined symbol \"%s\"\n",
/*018*/ "initialization data exceeds declared size\n",
/*019*/ "not a label: \"%s\"\n",
/*020*/ "invalid symbol name \"%s\"\n",
/*021*/ "symbol already defined: \"%s\"\n",
/*022*/ "must be lvalue (non-constant)\n",
/*023*/ "array assignment must be simple assignment\n",
/*024*/ "\"break\" or \"continue\" is out of context\n",
/*025*/ "function heading differs from prototype\n",
/*026*/ "no matching \"#if...\"\n",
/*027*/ "invalid character constant\n",
/*028*/ "invalid subscript (not an array or too many subscripts): \"%s\"\n",
/*029*/ "invalid expression, assumed zero\n",
/*030*/ "compound statement not closed at the end of file\n",
/*031*/ "unknown directive\n",
/*032*/ "array index out of bounds (variable \"%s\")\n",
/*033*/ "array must be indexed (variable \"%s\")\n",
/*034*/ "argument does not have a default value (argument %d)\n",
/*035*/ "argument type mismatch (argument %d)\n",
/*036*/ "empty statement\n",
/*037*/ "invalid string (possibly non-terminated string)\n",
/*038*/ "extra characters on line\n",
/*039*/ "constant symbol has no size\n",
/*040*/ "duplicate \"case\" label (value %d)\n",
/*041*/ "invalid ellipsis, array size is not known\n",
/*042*/ "invalid combination of class specifiers\n",
/*043*/ "character constant exceeds range for packed string\n",
/*044*/ "positional parameters must precede all named parameters\n",
/*045*/ "too many function arguments\n",
/*046*/ "unknown array size (variable \"%s\")\n",
/*047*/ "array sizes do not match, or destination array is too small\n",
/*048*/ "array dimensions do not match\n",
/*049*/ "invalid line continuation\n",
/*050*/ "invalid range\n",
/*051*/ "invalid subscript, use \"[ ]\" operators on major dimensions\n",
/*052*/ "multi-dimensional arrays must be fully initialized\n",
/*053*/ "exceeding maximum number of dimensions\n",
/*054*/ "unmatched closing brace\n",
/*055*/ "start of function body without function header\n",
/*056*/ "arrays, local variables and function arguments cannot be public (variable \"%s\")\n",
/*057*/ "unfinished expression before compiler directive\n",
/*058*/ "duplicate argument; same argument is passed twice\n",
/*059*/ "function argument may not have a default value (variable \"%s\")\n",
/*060*/ "multiple \"#else\" directives between \"#if ... #endif\"\n",
/*061*/ "\"#elseif\" directive follows an \"#else\" directive\n",
/*062*/ "number of operands does not fit the operator\n",
/*063*/ "function result tag of operator \"%s\" must be \"%s\"\n",
/*064*/ "cannot change predefined operators\n",
/*065*/ "function argument may only have a single tag (argument %d)\n",
/*066*/ "function argument may not be a reference argument or an array (argument \"%s\")\n",
/*067*/ "variable cannot be both a reference and an array (variable \"%s\")\n",
/*068*/ "invalid rational number precision in #pragma\n",
/*069*/ "rational number format already defined\n",
/*070*/ "rational number support was not enabled\n",
/*071*/ "user-defined operator must be declared before use (function \"%s\")\n",
/*072*/ "\"sizeof\" operator is invalid on \"function\" symbols\n",
/*073*/ "function argument must be an array (argument \"%s\")\n",
/*074*/ "#define pattern must start with an alphabetic character\n",
/*075*/ "input line too long (after substitutions)\n",
/*076*/ "syntax error in the expression, or invalid function call\n",
/*077*/ "malformed UTF-8 encoding, or corrupted file: %s\n",
/*078*/ "function uses both \"return\" and \"return <value>\"\n",
/*079*/ "inconsistent return types (array & non-array)\n",
/*080*/ "unknown symbol, or not a constant symbol (symbol \"%s\")\n",
/*081*/ "cannot take a tag as a default value for an indexed array parameter (symbol \"%s\")\n",
/*082*/ "user-defined operators and native functions may not have states\n",
/*083*/ "a function may only belong to a single automaton (symbol \"%s\")\n",
/*084*/ "state conflict: one of the states is already assigned to another implementation (symbol \"%s\")\n",
/*085*/ "no states are defined for function \"%s\"\n",
/*086*/ "unknown automaton \"%s\"\n",
/*087*/ "unknown state \"%s\" for automaton \"%s\"\n",
/*088*/ "number of arguments does not match definition\n"
#else
"\267pect\233\277k\210:\242\312bu\202fo\217\206\216\012",
"\201l\223\247s\203g\361\326\373\202(\254\355\201) c\350f\246\356w ea\273 \042c\342e\042\012",
"\230cl\337\231\300\247\356c\347\336\313appe\204 \203 \247\333\357o\217\206\245ock\012",
"\251\216 \274\241i\357l\373t\271\012",
"\251\314\223\241\354\366\265t\305",
"\353a\250gn\233\277 \350\253y\012",
"\372\254c\224\241\310\222\323\271\012",
"\353\247\344\360\355\201; \342sum\233z\211o\012",
"\264\275\322\200(nega\205\366\254z\211o\235",
"\264\251\254\230cl\337\213\012",
"\264out\220d\200\243\213\305",
"\264\251c\212l\312\241\247\255add\222s\305",
"\376\210tr\223po\203\202(\376pu\245ic \243\213s\235",
"\264\326\373t; \241\203 s\340t\273\012",
"\042\276a\332t\316c\342\200\353\266\200l\342\202c\342\200\203 s\340t\273 \326\373\370",
"m\332\205p\361\276a\332t\207\203 \042s\340t\273\042\012",
"\217\323\233\262\311",
"\203i\205\212iza\231d\226\247\267ce\271\207\230cl\204\233\322\304",
"\241\247lab\331\335",
"\264\262 nam\200\216\012",
"\262 \212\222ad\223\323\271\335",
"\353l\236u\200(n\201-\344\224t\235",
"\275a\250gn\227\202\353\220\357\361a\250gn\227\370",
"\042b\222ak\316\254\042\302t\203ue\316\274ou\202\300\302t\267\370",
"\251head\352\321ff\211\207from pro\277typ\304",
"\376\334\273\352\042#if...\042\012",
"\264\273\337ct\270\344\224\370",
"\264subscrip\202(\241\350\275\254\277\375m\224\223subscripts)\335",
"\264\355\201\312\342sum\233z\211o\012",
"\333\357o\217\206\326\373\202\241c\356s\233a\202\266\200\210\206\300\327l\304",
"\217k\221w\346\321\222c\205v\304",
"\275\203\230x ou\202\300bo\217d\207(\336\363",
"\275\353\203\230x\233(\336\363",
"\303do\325\241\354\366\247\276a\332\202\236u\200(\303%d\235",
"\303typ\200mis\334\273 (\303%d\235",
"e\357t\223\326\373\370",
"\264\232r\352(po\250\245\223n\201-\367m\203\226\233\232r\203g\235",
"\267t\237 \273\337c\367\207\317l\203\304",
"\344\360\262 \354\207\376\322\304",
"duplic\226\200\042c\342e\316lab\331 (\236u\200%d\235",
"\264\331lip\220s\312\275\322\200\274\241k\221wn\012",
"\264\333\234\203a\231\300cl\342\207speci\327\211\305",
"\273\337ct\270\344\360\267ce\271\207r\224g\200f\254pack\233\232r\203g\012",
"po\220\213\347p\337me\367\207\313\306c\271\200\212l nam\233p\337me\367\305",
"\277\375m\224\223\251\265t\305",
"\217k\221w\346\275\322\200(\336\363",
"\275\322\325d\375\241\334\273\312\254\230\232\203a\231\275\274\277\375sm\212l\012",
"\275\321\227\220\201\207d\375\241\334\273\012",
"\264l\203\200\302t\203ua\213\012",
"\264r\224g\304",
"\264subscript\312\244\200\042[ ]\316\372\225\207\317\314j\254\321\227\220\201\305",
"m\332\205-\321\227\220\201\347\253y\207\353f\332l\223\203i\205\212iz\271\012",
"\267ce\271\352\314ximum \374\270\300\321\227\220\201\305",
"\217\334\273\233c\356s\352b\237c\304",
"\232\204\202\300\251bod\223\340\266ou\202\251head\211\012",
"\253ys\312\356c\347\330\301\325\224\206\251\265t\207c\224\241\310pu\245ic (\336\363",
"\217f\203ish\233\355\317be\371\200\333\357il\270\321\222c\205v\304",
"duplic\226\200\265t; sam\200\303\274p\342s\233t\340c\304",
"\251\303\314\223\241\354\366\247\276a\332\202\236u\200(\336\363",
"m\332\205p\361\042#\331se\316\321\222c\205v\325betwe\210 \042#if ... #\210\321f\042\012",
"\042#\331seif\316\321\222c\205\366f\246\356w\207\350\042#\331se\316\321\222c\205v\304",
"\374\270\300\343\224d\207do\325\241\327\202\266\200\372\225\012",
"\251\222s\332\202\320\261\300\372\225\242 \353\216\012",
"c\224\241\273\224g\200\306\323\233\372\225\305",
"\251\303\314\223\201l\223\354\366\247s\203g\361\320\261(\303%d\235",
"\251\303\314\223\241\310\247\222f\211\210c\200\303\254\350\275(\303\363",
"\336c\224\241\310bo\266 \247\222f\211\210c\200\224\206\350\275(\336\363",
"\264\237\213\347\374\270\306ci\220\317\203 #p\237g\314\012",
"\237\213\347\374\270\371\314\202\212\222ad\223\323\271\012",
"\237\213\347\374\270supp\225\202wa\207\241\210\301\271\012",
"\244\211-\323\233\372\254\353\230cl\204\233be\371\200\244\200(\251\363",
"\042\322e\272\316\372\254\274\264\317\042\243\213\316\262\305",
"\251\303\353\350\275(\303\363",
"#\323\200p\226\367\346\313\232\204\202\340\266 \350\212p\354be\205c \273\337c\367\012",
"\203pu\202l\203\200\277\375l\201\261(aft\270subs\205tu\213s\235",
"\256n\320x \211r\254\203 \266\200\355\201\312\254\264\251c\212l\012",
"m\212\371m\233UTF-8 \210\333d\203g\312\254c\225rupt\233\327le: \214\012",
"\251\244\325bo\266 \042\222turn\316\224\206\042\222tur\346<\236ue>\042\012",
"\203\302\220\232\210\202\222tur\346typ\325(\275& n\201-\253y\235",
"\217k\221w\346\262\312\254\241\247\344\360\262 \364",
"c\224\241\320k\200\247\320\261a\207\247\276a\332\202\236u\200f\254\350\203\230x\233\275p\337met\270\364",
"\244\211-\323\233\372\225\207\224\206na\205\366\243\213\207\314\223\241\354\366\326e\305",
"\247\251\314\223\201l\223b\331\201\261\277 \247s\203g\361au\277\334\317\364",
"\326\200\302flict: \201\200\300\266\200\326\325\274\212\222ad\223a\250gn\233\277 a\221\266\270i\357l\373\320\231\364",
"\376\326\325\204\200\323\233f\254\251\216\012",
"\217k\221w\346au\277\334\201\311",
"\217k\221w\346\326\200\216 f\254au\277\334\201\311",
"\374\270\300\265t\207do\325\241\334\273 \323i\213\012"
#endif
};
static char *fatalmsg[] = {
#ifdef SCPACK
/*100*/ "cannot read from file: \"%s\"\n",
/*101*/ "cannot write to file: \"%s\"\n",
/*102*/ "table overflow: \"%s\"\n",
/* table can be: loop table
* literal table
* staging buffer
* option table (response file)
* peephole optimizer table
*/
/*103*/ "insufficient memory\n",
/*104*/ "invalid assembler instruction \"%s\"\n",
/*105*/ "numeric overflow, exceeding capacity\n",
/*106*/ "compiled script exceeds the maximum memory size (%ld bytes)\n",
/*107*/ "too many error messages on one line\n",
/*108*/ "codepage mapping file not found\n",
/*109*/ "invalid path: \"%s\"\n",
/*110*/ "assertion failed: %s\n",
/*111*/ "user error: %s\n",
#else
"c\224\241\222a\206from \327le\335",
"c\224\241writ\200\277 \327le\335",
"t\315ov\211f\356w\335",
"\203suf\327ci\210\202mem\225y\012",
"\264\342se\234l\270\203\232ruc\231\216\012",
"\365m\211ic ov\211f\356w\312\267ce\271\352capacity\012",
"\333\357il\233scrip\202\267ce\271\207\266\200\314ximum mem\225\223\322\200(%l\206bytes\235",
"\277\375m\224\223\211r\254messag\325\317\201\200l\203\304",
"\333\230pag\200\314pp\352\327\361\241fo\217d\012",
"\264p\226h\335",
"\342s\211\231fail\271: \214\012",
"\244\270\211r\225: \214\012"
#endif
};
static char *warnmsg[] = {
#ifdef SCPACK
/*200*/ "symbol \"%s\" is truncated to %d characters\n",
/*201*/ "redefinition of constant/macro (symbol \"%s\")\n",
/*202*/ "number of arguments does not match definition\n",
/*203*/ "symbol is never used: \"%s\"\n",
/*204*/ "symbol is assigned a value that is never used: \"%s\"\n",
/*205*/ "redundant code: constant expression is zero\n",
/*206*/ "redundant test: constant expression is non-zero\n",
/*207*/ "unknown #pragma\n",
/*208*/ "function with tag result used before definition, forcing reparse\n",
/*209*/ "function \"%s\" should return a value\n",
/*210*/ "possible use of symbol before initialization: \"%s\"\n",
/*211*/ "possibly unintended assignment\n",
/*212*/ "possibly unintended bitwise operation\n",
/*213*/ "tag mismatch\n",
/*214*/ "possibly a \"const\" array argument was intended: \"%s\"\n",
/*215*/ "expression has no effect\n",
/*216*/ "nested comment\n",
/*217*/ "loose indentation\n",
/*218*/ "old style prototypes used with optional semicolumns\n",
/*219*/ "local variable \"%s\" shadows a variable at a preceding level\n",
/*220*/ "expression with tag override must appear between parentheses\n",
/*221*/ "label name \"%s\" shadows tag name\n",
/*222*/ "number of digits exceeds rational number precision\n",
/*223*/ "redundant \"sizeof\": argument size is always 1 (symbol \"%s\")\n",
/*224*/ "indeterminate array size in \"sizeof\" expression (symbol \"%s\")\n",
/*225*/ "unreachable code\n",
/*226*/ "a variable is assigned to itself (symbol \"%s\")\n",
/*227*/ "more initiallers than enum fields\n",
/*228*/ "length of initialler exceeds size of the enum field\n",
/*229*/ "index tag mismatch (symbol \"%s\")\n",
/*230*/ "no implementation for state \"%s\" / function \"%s\", no fall-back\n",
/*231*/ "state specification on forward declaration is ignored\n",
/*232*/ "output file is written, but with compact encoding disabled\n"
#else
"\345 \274tr\240\226\233\277 %\206\273\337c\367\305",
"\222\323i\231\300\344\224t/\314cr\375\364",
"\374\270\300\265t\207do\325\241\334\273 \323i\213\012",
"\262 \274nev\270\244\271\335",
"\262 \274a\250gn\233\247\236u\200\266a\202\274nev\270\244\271\335",
"\222d\217d\360\333\230: \344\360\355\317\274z\211o\012",
"\222d\217d\360te\232: \344\360\355\317\274n\201-z\211o\012",
"\217k\221w\346#p\237g\314\012",
"\251\340\266 \320\261\222s\332\202\244\233be\371\200\323i\213\312\371c\352\222p\204s\304",
"\251\216 sho\332\206\222tur\346\247\236u\304",
"po\250\245\200\244\200\300\262 be\371\200\203i\205\212iza\213\335",
"po\250\245\223\217\203t\210\230\206a\250gn\227\370",
"po\250\245\223\217\203t\210\230\206bit\340s\200\343a\213\012",
"\320\261mis\334\273\012",
"po\250\245\223\247\042\344\316\275\303wa\207\203t\210\230d\335",
"\355\317\354\207\376effec\370",
"ne\232\233\333m\227\370",
"\356os\200\203d\210\320\213\012",
"\246\206\232y\361pro\277typ\325\244\233\340\266 \341\213\347semic\246umn\305",
"\356c\347\336\216 s\354dow\207\247\336a\202\247\306c\271\352lev\331\012",
"\355\317\340\266 \320\261ov\211rid\200\313appe\204 betwe\210 p\204\210\266ese\305",
"lab\331 nam\200\216 s\354dow\207\320\261nam\304",
"\374\270\300\321git\207\267ce\271\207\237\213\347\374\270\306ci\220\201\012",
"\222d\217d\360\042\322e\272\042: \303\322\200\274\212way\2071 \364",
"\203\230\367m\203\226\200\275\322\200\203 \042\322e\272\316\355\317\364",
"\217\222a\273\315\333\230\012",
"\247\336\274a\250gn\233\277 its\331f \364",
"m\225\200\203i\205\212l\211\207\266\350\210um \327\331d\305",
"l\210g\266 \300\203i\205\212l\270\267ce\271\207\322\200\300\266\200\210um \327\331d\012",
"\203\230x \320\261mis\334\273 \364",
"\376i\357l\373\320\231f\254\326\200\216 / \251\216\312\376f\212l-back\012",
"\326\200speci\327ca\231\317\371w\204\206\230cl\337\231\274ig\221\222d\012",
"outpu\202\327\361\274writt\210\312bu\202\340\266 \333\357ac\202\210\333d\352\321s\301\271\012"
#endif
};