Add support for decl lists.

This commit is contained in:
David Anderson 2014-07-04 16:37:52 -07:00
parent 3cf9e56a19
commit 7e770908fb
2 changed files with 255 additions and 193 deletions

View File

@ -152,6 +152,8 @@ static int *readwhile(void);
static void inst_datetime_defines(void);
static void inst_binary_name(char *binfname);
static int operatorname(char *name);
static int reparse_old_decl(declinfo_t *decl, int flags);
static int reparse_new_decl(declinfo_t *decl, int flags);
enum {
TEST_PLAIN, /* no parentheses */
@ -1479,6 +1481,8 @@ static void dodecl(const token_t *tok)
parse_decl(&decl, DECLFLAG_MAYBE_FUNCTION|DECLFLAG_VARIABLE|DECLFLAG_ENUMROOT);
if (!decl.opertok && (tok->id == tNEW || decl.has_postdims || !lexpeek('('))) {
if (tok->id == tNEW && decl.is_new)
error(143);
if (decl.type.tag & STRUCTTAG) {
pstruct_t *pstruct = pstructs_find(pc_tagname(decl.type.tag));
declstructvar(decl.name, fpublic, pstruct);
@ -1962,14 +1966,16 @@ static void declglb(declinfo_t *decl,int fpublic,int fstatic,int fstock)
short filenum;
symbol *sym;
constvalue *enumroot;
#if !defined NDEBUG
cell glbdecl=0;
#endif
#if !defined NDEBUG
cell glbdecl=0;
#endif
declinfo_t orig_decl = *decl;
assert(!fpublic || !fstatic); /* may not both be set */
insert_docstring_separator(); /* see comment in newfunc() */
filenum=fcurrent; /* save file number at the start of the declaration */
do {
for (;;) {
typeinfo_t *type = &decl->type;
ispublic=fpublic;
@ -2077,7 +2083,15 @@ static void declglb(declinfo_t *decl,int fpublic,int fstatic,int fstock)
} else {
glb_declared+=glb_incr; /* add total number of cells (if added to the end) */
} /* if */
} while (matchtoken(',')); /* enddo */ /* more? */
if (!matchtoken(','))
break;
if (decl->is_new)
reparse_new_decl(decl, DECLFLAG_VARIABLE|DECLFLAG_ENUMROOT);
else
reparse_old_decl(decl, DECLFLAG_VARIABLE|DECLFLAG_ENUMROOT);
};
needtoken(tTERM); /* if not comma, must be semicolumn */
}
@ -3269,6 +3283,18 @@ static int parse_old_decl(declinfo_t *decl, int flags)
return TRUE;
}
static int reparse_old_decl(declinfo_t *decl, int flags)
{
int usage = decl->type.usage & uCONST;
memset(decl, 0, sizeof(*decl));
decl->type.ident = iVARIABLE;
decl->type.size = 1;
decl->type.usage |= usage;
return parse_old_decl(decl, flags);
}
static int parse_new_decl(declinfo_t *decl, const token_t *first, int flags)
{
token_t tok;
@ -3303,6 +3329,40 @@ static int parse_new_decl(declinfo_t *decl, const token_t *first, int flags)
return TRUE;
}
static int reparse_new_decl(declinfo_t *decl, int flags)
{
token_t tok;
if (expecttoken(tSYMBOL, &tok))
strcpy(decl->name, tok.str);
if (decl->has_postdims) {
// We have something like:
// int x[], y...
//
// Reset the fact that we saw an array.
decl->type.numdim = 0;
decl->type.size = 0;
decl->type.enumroot = NULL;
decl->has_postdims = FALSE;
if (matchtoken('['))
parse_old_array_dims(decl, flags);
} else {
// No post-dimensions means anything here is part of the type.
if (matchtoken('[')) {
if (decl->type.numdim > 0) {
if (lexpeek('['))
error(121);
}
parse_old_array_dims(decl, flags);
} else if (decl->type.numdim) {
// Reset dimension sizes.
memset(decl->type.dim, 0, sizeof(decl->type.dim[0]) * decl->type.numdim);
}
}
return TRUE;
}
// Parse a declaration.
//
// Grammar for named declarations is:

View File

@ -32,13 +32,13 @@ SC_FUNC int strexpand(char *dest, unsigned char *source, int maxlen, unsigned ch
/*-*SCPACK start of pair table, do not change or remove this line */
unsigned char errstr_table [][2] = {
{101,32}, {116,32}, {111,110}, {115,32}, {100,32}, {105,110}, {97,114}, {116,105}, {37,115}, {101,114}, {110,111}, {97,110}, {101,110}, {97,108}, {135,130}, {114,101},
{34,136}, {144,34}, {111,114}, {117,110}, {121,32}, {138,129}, {115,105}, {97,116}, {115,116}, {100,101}, {101,132}, {109,140}, {32,145}, {41,10}, {109,98}, {116,104},
{34,136}, {144,34}, {111,114}, {117,110}, {121,32}, {138,129}, {115,105}, {115,116}, {97,116}, {100,101}, {101,132}, {109,140}, {32,145}, {41,10}, {109,98}, {116,104},
{114,97}, {147,99}, {117,115}, {146,32}, {98,108}, {161,142}, {102,165}, {111,108}, {101,120}, {118,141}, {97,32}, {115,121}, {116,121}, {99,139}, {171,158}, {134,160},
{174,167}, {112,101}, {173,149}, {115,10}, {103,32}, {103,117}, {181,155}, {137,32}, {134,182}, {116,111}, {102,133}, {105,132}, {115,150}, {99,104}, {97,164}, {169,187},
{111,102}, {105,131}, {162,129}, {44,32}, {166,32}, {133,191}, {109,194}, {104,97}, {109,101}, {99,116}, {175,148}, {109,97}, {101,100}, {99,130}, {37,131}, {176,156},
{192,32}, {117,108}, {99,111}, {98,128}, {101,131}, {118,134}, {112,143}, {97,142}, {130,32}, {105,190}, {213,217}, {110,32}, {153,186}, {102,105}, {118,128}, {184,129},
{100,105}, {111,112}, {97,115}, {136,10}, {156,10}, {128,145}, {152,151}, {109,151}, {116,97}, {119,105}, {99,108}, {97,131}, {225,137}, {101,10}, {207,157}, {34,32},
{40,238}, {172,112}, {150,122}, {108,128}, {205,152}, {139,32}, {141,32}, {172,177}, {199,222}, {110,97}, {101,108}, {241,128}, {139,132}, {102,146}, {133,32}
{174,167}, {112,101}, {173,149}, {115,10}, {103,32}, {103,117}, {181,155}, {137,32}, {134,182}, {116,111}, {102,133}, {105,132}, {115,150}, {104,97}, {169,187}, {111,102},
{99,104}, {105,131}, {162,129}, {44,32}, {166,32}, {97,164}, {133,190}, {109,194}, {109,101}, {99,116}, {175,148}, {109,97}, {101,100}, {117,108}, {99,130}, {37,131},
{97,142}, {176,156}, {191,32}, {99,111}, {98,128}, {101,131}, {118,134}, {112,143}, {130,32}, {105,197}, {214,217}, {118,128}, {110,32}, {153,186}, {102,105}, {184,129},
{100,105}, {99,108}, {111,112}, {97,115}, {136,10}, {156,10}, {128,145}, {109,152}, {151,152}, {116,97}, {119,105}, {108,128}, {97,131}, {226,137}, {101,10}, {209,157},
{34,32}, {189,219}, {40,239}, {172,112}, {150,122}, {206,151}, {139,32}, {141,32}, {172,177}, {110,97}, {101,108}, {243,128}, {139,132}, {102,146}, {133,32}
};
/*-*SCPACK end of pair table, do not change or remove this line */
@ -186,149 +186,151 @@ static char *errmsg[] = {
/*140*/ "new-style array types cannot specify dimension sizes as part of their type\n",
/*141*/ "natives, forwards, and public functions cannot return arrays\n",
/*142*/ "invalid type declaration\n",
/*143*/ "new-style declarations should not have \"new\"\n",
#else
"\250\261\311\232\271k\214:\234\303bu\201fo\223\204\221\012",
"\202l\224\252s\205g\363\346e\233\201(\243\250\326\274\202) \255 f\247low ea\275 \042c\342e\042\012",
"\231\352\206\327 \320\252loc\366\332\200\306ap\261\206 \376\252\322mpo\223\204\244ock\012",
"\202l\224\252s\205g\353\350e\233\201(\243\250\327\274\202) \255 f\247low ea\300 \042c\343e\042\012",
"\231\341\206\320 \322\252loc\367\332\200\307ap\261\206 \376\252\323mpo\223\204\244ock\012",
"\246\234 \301\225imple\233t\314\012",
"\304\313\224\225\370\270t\263",
"\306\323a\274gn\232\271 \365\257y\012",
"\354\227\243\262\323\217\334\314\012",
"\306\323\252\364\213\201\250\326\274\202; \342sum\232z\211o\012",
"\305\312\362\200(nega\207ve\303z\211o \243ou\201\320bo\223ds\235",
"\305\304\243\231\352\206\327\012",
"\305out\226d\200\246\263",
"\305\304c\215l\303\225\252\277add\217s\263",
"\304\313\224\225\361\270t\263",
"\307\324a\274gn\232\271 \366\257y\012",
"\355\230\243\262\324\217\335\314\012",
"\307\324\252\365\213\201\250\327\274\202; \343sum\232z\211o\012",
"\306\312\364\200(nega\207ve\303z\211o \243ou\201\322bo\223ds\235",
"\306\304\243\231\341\206\320\012",
"\306out\226d\200\246\263",
"\306\304c\215l\303\225\252\276add\217s\263",
"\212 \214tr\224po\205\201(\212 pu\244ic \246s\235",
"\305\346e\233t; \225\376s\351t\275\012",
"\042\231fa\321t\357c\342\200\306\323\237\200l\342\201c\342\200\376s\351t\275 \346e\233t\012",
"m\321\207p\363\231fa\321t\203\376\042s\351t\275\042\012",
"\223\334\232\317\012",
"\205i\207\215iz\327 d\227\252\250ce\314\203\231\352\206\232\362\355",
"\225\252lab\372:\344",
"\305\260 \371m\345\012",
"\260 \215\217ad\224\334\314:\344",
"\306\323l\251u\200(n\202-\364\213t\235",
"\312a\274gn\233\201\306\323\226mp\363a\274gn\233t\012",
"\042b\217ak\357\243\042\315t\205ue\357\301ou\201\320\315t\250t\012",
"\304head\205\264\340ff\211\203from pro\271\367\012",
"\212 \347\275\205\264\042#if...\042\012",
"\305\275\206a\311\267\364\213t\012",
"\305subscrip\201(\225\365\312\243\271o m\213\224subscripts):\344",
"\305\250\326\274\202\303\342sum\232z\211o\012",
"\322mpo\223\204\346e\233\201\225\352os\232a\201\237\200\214\204\320\335\363(\230\206t\232a\201l\205\200%d\235",
"\223k\212w\333\340\217c\207v\355",
"\312\205\231x ou\201\320bo\223d\203(\332\345\235",
"\312\306\323\205\231x\232(\332\345\235",
"\337do\324\225\370\252\231fa\321\201\251u\200(\337%d\235",
"\337\373mis\347\275 (\337%d\235",
"empt\224\346e\233t\012",
"\305\230r\205\264(po\274\244\224n\202-t\211m\205\227\232\230r\205g\235",
"\250t\240 \275\206a\311\211\203\330l\205\355",
"\364\213\201\260 \307\203\212 \362\355",
"duplic\227\200\042c\342e\357lab\372 (\251u\200%d\235",
"\305\372lip\226s\303\312\362\200\301\225k\212wn\012",
"\305\322\236\205\327 \320\352\342\203s\261ci\335\211\263",
"\275\206a\311\267\364\213\201\250ce\314\203r\213g\200f\243pack\232\230r\205g\012",
"po\226\216\366p\206a\310t\211\203\306\326c\314\200\215l \371m\232p\206a\310t\211\263",
"\306\350e\233t; \225\376s\352t\300\012",
"\042\231fa\315t\360c\343\200\307\324\237\200l\343\201c\343\200\376s\352t\300 \350e\233t\012",
"m\315\207p\353\231fa\315t\203\376\042s\352t\300\042\012",
"\223\335\232\321\012",
"\205i\207\215iz\320 d\230\252\250ce\314\203\231\341\206\232\364\356",
"\225\252lab\372:\345",
"\306\260 \371m\346\012",
"\260 \215\217ad\224\335\314:\345",
"\307\324l\251u\200(n\202-\365\213t\235",
"\312a\274gn\233\201\307\324\226mp\353a\274gn\233t\012",
"\042b\217ak\360\243\042\316t\205ue\360\301ou\201\322\316t\250t\012",
"\304head\205\264\340ff\211\203from pro\271\370\012",
"\212 \347\300\205\264\042#if...\042\012",
"\306\300\206a\311\267\365\213t\012",
"\306subscrip\201(\225\366\312\243\271o m\213\224subscripts):\345",
"\306\250\327\274\202\303\343sum\232z\211o\012",
"\323mpo\223\204\350e\233\201\225\341os\232a\201\237\200\214\204\322\336\353(\227\206t\232a\201l\205\200%d\235",
"\223k\212w\334\340\217c\207v\356",
"\312\205\231x ou\201\322bo\223d\203(\332\346\235",
"\312\307\324\205\231x\232(\332\346\235",
"\337do\325\225\361\252\231fa\315\201\251u\200(\337%d\235",
"\337\373mis\347\300 (\337%d\235",
"empt\224\350e\233t\012",
"\306\227r\205\264(po\274\244\224n\202-t\211m\205\230\232\227r\205g\235",
"\250t\240 \300\206a\311\211\203\330l\205\356",
"\365\213\201\260 \275\203\212 \364\356",
"duplic\230\200\042c\343e\360lab\372 (\251u\200%d\235",
"\306\372lip\226s\303\312\364\200\301\225k\212wn\012",
"\306\323\236\205\320 \322\341\343\203s\261ci\336\211\263",
"\300\206a\311\267\365\213\201\250ce\314\203r\213g\200f\243pack\232\227r\205g\012",
"po\226\216\367p\206a\310t\211\203\307\327c\314\200\215l \371m\232p\206a\310t\211\263",
"\271o m\213\224\304\270t\263",
"\223k\212w\333\312\362\200(\332\345\235",
"\312\362\324do \225\347\275\303\243\231\230\205\327 \312\301\271o sm\215l\012",
"\312(\203do \225\347\275\012",
"\305l\205\200\315t\205u\327\012",
"\305r\213g\355",
"\305subscript\303\242\200\042[ ]\357\354\227\222\203\330\313j\243\340\233\226\202\263",
"m\321\207-\340\233\226\202\366\257y\203\306\323f\321l\224\205i\207\215iz\314\012",
"\250ce\314\205\264\313ximum nu\236\267\320\340\233\226\202\263",
"\223\347\275\232\352os\205\264b\240c\200(\042}\042\235",
"\230\206\201\320\304bod\224\351\237ou\201\304head\211\012",
"\257ys\303loc\366\332\324\374\304\270t\203\262\323pu\244ic (\332\345\235",
"\223\272ish\232\250\326\274\330be\375\200\322mpil\267\340\217c\207v\355",
"duplic\227\200\270t; sam\200\337\301p\342s\232t\351c\355",
"\304\337\313\224\225\370\252\231fa\321\201\251u\200(\332\345\235",
"m\321\207p\363\042#\372se\357\340\217c\207v\324betwe\214 \042#if ... #\214\340f\042\012",
"\042#\372seif\357\340\217c\207\336f\247low\203\365\042#\372se\357\340\217c\207v\355",
"nu\236\267\320\354\213d\203do\324\225\335\201\237\200\354\227\222\012",
"\304\217s\321\201\350\264\320\354\227\222\234 \306\323\221\012",
"\262\275\213g\200\326\334\232\354\227\222\263",
"\304\337\313\224\202l\224\370\252s\205g\363\350\264(\337%d\235",
"\304\337\313\224\225\323\252\217f\211\214c\200\337\243\365\312(\337\221\235",
"\332\200\262\323bo\237 \252\217f\211\214c\200\374\365\312(\332\345\235",
"\305\240\216\366nu\236\267\326ci\226\330\376#p\240g\313\012",
"\240\216\366nu\236\267\375\313\201\215\217ad\224\334\314\012",
"\240\216\366nu\236\267supp\222\201w\353\225\214\276\314\012",
"\242\211-\334\232\354\227\243\306\323\231\352\206\232be\375\200\242\200(\246\234\235",
"\042\362e\300\357\354\227\243\301\305\330\042\246\357\260\263",
"\304\337\306\323\365\312(\337\221\235",
"#\334\200p\227t\211\333\306\230\206\201\351\237 \365\215p\307be\207c \275\206a\311\211\012",
"\223k\212w\334\312\364\200(\332\346\235",
"\312\364\325do \225\347\300\303\243\231\227\205\320 \312\301\271o sm\215l\012",
"\312(\203do \225\347\300\012",
"\306l\205\200\316t\205u\320\012",
"\306r\213g\356",
"\306subscript\303\242\200\042[ ]\360\355\230\222\203\330\313j\243\340\233\226\202\263",
"m\315\207-\340\233\226\202\367\257y\203\307\324f\315l\224\205i\207\215iz\314\012",
"\250ce\314\205\264\313ximum nu\236\267\322\340\233\226\202\263",
"\223\347\300\232\341os\205\264b\240c\200(\042}\042\235",
"\227\206\201\322\304bod\224\352\237ou\201\304head\211\012",
"\257ys\303loc\367\332\325\374\304\270t\203\262\324pu\244ic (\332\346\235",
"\223\272ish\232\250\327\274\330be\375\200\323mpil\267\340\217c\207v\356",
"duplic\230\200\270t; sam\200\337\301p\343s\232t\352c\356",
"\304\337\313\224\225\361\252\231fa\315\201\251u\200(\332\346\235",
"m\315\207p\353\042#\372se\360\340\217c\207v\325betwe\214 \042#if ... #\214\340f\042\012",
"\042#\372seif\360\340\217c\207\333f\247low\203\366\042#\372se\360\340\217c\207v\356",
"nu\236\267\322\355\213d\203do\325\225\336\201\237\200\355\230\222\012",
"\304\217s\315\201\351\264\322\355\230\222\234 \307\324\221\012",
"\262\300\213g\200\327\335\232\355\230\222\263",
"\304\337\313\224\202l\224\361\252s\205g\353\351\264(\337%d\235",
"\304\337\313\224\225\324\252\217f\211\214c\200\337\243\366\312(\337\221\235",
"\332\200\262\324bo\237 \252\217f\211\214c\200\374\366\312(\332\346\235",
"\306\240\216\367nu\236\267\327ci\226\330\376#p\240g\313\012",
"\240\216\367nu\236\267\375\313\201\215\217ad\224\335\314\012",
"\240\216\367nu\236\267supp\222\201w\354\225\214\305\314\012",
"\242\211-\335\232\355\230\243\307\324\231\341\206\232be\375\200\242\200(\246\234\235",
"\042\364e\277\360\355\230\243\301\306\330\042\246\360\260\263",
"\304\337\307\324\366\312(\337\221\235",
"#\335\200p\230t\211\334\307\227\206\201\352\237 \366\215p\275be\207c \300\206a\311\211\012",
"\205pu\201l\205\200\271o l\202\264(aft\267subs\207tu\216s\235",
"\253n\350x \211r\243\376\237\200\250\326\274\202\303\243\305\304c\215l\012",
"m\215\375m\232UTF-8 \214\322d\205g\303\243c\222rupt\232\335le: \343",
"\304\242\324bo\237 \042\217turn\357\374\042\217tur\333<\251ue>\042\012",
"\205\315\226\230\214\201\217tur\333\367\203(\312& n\202-\257y\235",
"\223k\212w\333\260\303\243\225\252\364\213\201\260 \360",
"\262\350k\200\252\350\264\353\252\231fa\321\201\251u\200f\243\365\205\231x\232\312p\206a\310t\267\360",
"\242\211-\334\232\354\227\222\203\374\371\207\336\246\203\313\224\225\370\346e\263",
"\252\304\243\332\200\313\224\202l\224b\372\202\264\271 \252s\205g\363au\271\347\330\360",
"\346\200\315fli\311: \202\200\320\237\200\346\324\301\215\217ad\224a\274gn\232\271 a\212\237\267imple\233t\327 \360",
"\212 \346\324\206\200\334\232f\243\317\012",
"\223k\212w\333au\271\347\202\344",
"\223k\212w\333\346\345 f\243au\271\347\202\344",
"pu\244ic \332\324\374loc\366\332\324\313\224\225\370\346\324\360",
"\346\200\332\324\313\224\225\323\205i\207\215iz\232\360",
"pu\244ic \246\203\313\224\225\217tur\333\257y\203\360",
"a\236i\265ou\203\364\213t; \350\264ov\211rid\200\301\217qui\217\204\360",
"nu\236\267\320\270t\203do\324\225\347\275 \334i\216\012",
"\250\261\311\232\350\264\371m\200id\214\207\335\211\012",
"\304\214um\211\327 \217qui\217\203\223iqu\200\350g\012",
"\262\370\217qui\217\204p\206a\310t\211\203aft\267\341\216\366p\206a\310t\211\263",
"\322\321\204\225\272\204\310\236\211\234 \376\230ruc\201\221\012",
"\317 do\324\225\370\252\347\275\205\264\367\012",
"\361\345 sho\321\204\323\221 \376new-\230y\363\231\352\206\327\263",
"\316sho\321\204\225\370\365\250plici\201\217tur\333\367\012",
"\304pro\271\367\203do \225\347\275\012",
"s\261cif\224ei\237\267\215l \340\233\226\202\203\243\202l\224\237\200l\342\201\340\233\226\202\012",
"\262\272\204\316\343",
"\316w\353\215\217ad\224\334\232\330\237\301\343",
"\262\272\204\213\224\310\237od\203f\243\343",
"\262\272\204\310\237o\204\243pr\354t\224\210.\343",
"\262c\215l \310\237od\203\330\365\257y\012",
"\253n\351x \211r\243\376\237\200\250\327\274\202\303\243\306\304c\215l\012",
"m\215\375m\232UTF-8 \214\323d\205g\303\243c\222rupt\232\336le: \344",
"\304\242\325bo\237 \042\217turn\360\374\042\217tur\334<\251ue>\042\012",
"\205\316\226\227\214\201\217tur\334\370\203(\312& n\202-\257y\235",
"\223k\212w\334\260\303\243\225\252\365\213\201\260 \362",
"\262\351k\200\252\351\264\354\252\231fa\315\201\251u\200f\243\366\205\231x\232\312p\206a\310t\267\362",
"\242\211-\335\232\355\230\222\203\374\371\207\333\246\203\313\224\225\361\350e\263",
"\252\304\243\332\200\313\224\202l\224b\372\202\264\271 \252s\205g\353au\271\347\330\362",
"\350\200\316fli\311: \202\200\322\237\200\350\325\301\215\217ad\224a\274gn\232\271 a\212\237\267imple\233t\320 \362",
"\212 \350\325\206\200\335\232f\243\321\012",
"\223k\212w\334au\271\347\202\345",
"\223k\212w\334\350\346 f\243au\271\347\202\345",
"pu\244ic \332\325\374loc\367\332\325\313\224\225\361\350\325\362",
"\350\200\332\325\313\224\225\324\205i\207\215iz\232\362",
"pu\244ic \246\203\313\224\225\217tur\334\257y\203\362",
"a\236i\265ou\203\365\213t; \351\264ov\211rid\200\301\217qui\217\204\362",
"nu\236\267\322\270t\203do\325\225\347\300 \335i\216\012",
"\250\261\311\232\351\264\371m\200id\214\207\336\211\012",
"\304\214um\211\320 \217qui\217\203\223iqu\200\351g\012",
"\262\361\217qui\217\204p\206a\310t\211\203aft\267\342\216\367p\206a\310t\211\263",
"\323\315\204\225\272\204\310\236\211\234 \376\227ruc\201\221\012",
"\321 do\325\225\361\252\347\300\205\264\370\012",
"\363\346 sho\315\204\324\221 \376new-\227y\353\231\341\206\320\263",
"\317sho\315\204\225\361\366\250plici\201\217tur\334\370\012",
"\304pro\271\370\203do \225\347\300\012",
"s\261cif\224ei\237\267\215l \340\233\226\202\203\243\202l\224\237\200l\343\201\340\233\226\202\012",
"\262\272\204\317\344",
"\317w\354\215\217ad\224\335\232\330\237\301\344",
"\262\272\204\213\224\310\237od\203f\243\344",
"\262\272\204\310\237o\204\243pr\355t\224\210.\344",
"\262c\215l \310\237od\203\330\366\257y\012",
"\262c\215l \310\237od\203\330\252\246\012",
"\310\237o\204\306\370\252\335rs\201\337\322mpa\207\244\200\351\237 \237\200\316\373(\210\235",
"\316\371m\200\306\230\206\201\351\237 \365upp\211c\342\200lett\211\012",
"\316\307\203\215\217ad\224be\214 \334\232(\326vio\242l\224se\214 \353\210\235",
"\250\261\311\232id\214\207\335\267- d\273you \375ge\201\252\367?\012",
"\364ru\311\243\304\306\217tur\333\350\264\343",
"\262\334\200\364ru\311\243\375\234; \215\217ad\224\250i\230\203\353\252\343",
"miss\205\264\367\303\243\316\306\370\237\200sam\200\371m\200\353\316\221\012",
"\262\242\200\231lete\303\316\316\307\203\212 \231\230ru\311\222\012",
"\212 \310\237od\313p \243\352\342\203w\353fo\223\204f\243\343",
"\212 \231\230ru\311\243w\353fo\223\204f\243\316\343",
"\231\230ru\311\222\203\306\323\371\207\336\246\263",
"\231\230ru\311\222\203\262\370\250t\240 \270t\263",
"\310\237od\313p \374\352\342\203\226gn\227u\217\203\306\242\200new-\230y\363\373\231\352\206\327\263",
"\310\237o\204\307\361\252\336rs\201\337\323mpa\207\244\200\352\237 \237\200\317\373(\210\235",
"\317\371m\200\307\227\206\201\352\237 \366upp\211c\343\200lett\211\012",
"\317\275\203\215\217ad\224be\214 \335\232(\327vio\242l\224se\214 \354\210\235",
"\250\261\311\232id\214\207\336\267- d\273you \375ge\201\252\370?\012",
"\365ru\311\243\304\307\217tur\334\351\264\344",
"\262\335\200\365ru\311\243\375\234; \215\217ad\224\250i\227\203\354\252\344",
"miss\205\264\370\303\243\317\307\361\237\200sam\200\371m\200\354\317\221\012",
"\262\242\200\231lete\303\317\317\275\203\212 \231\227ru\311\222\012",
"\212 \310\237od\313p \243\341\343\203w\354fo\223\204f\243\344",
"\212 \231\227ru\311\243w\354fo\223\204f\243\317\344",
"\231\227ru\311\222\203\307\324\371\207\333\246\263",
"\231\227ru\311\222\203\262\361\250t\240 \270t\263",
"\310\237od\313p \374\341\343\203\226gn\230u\217\203\307\242\200new-\227y\353\373\231\341\206\320\263",
"\262s\261cif\224\312\340\233\226\202\203\330bo\237 \373\374\371\310\012",
"\250\261\311\232\373\250\326\274\202\012",
"f\321ly-qu\215i\335\232\371m\345 \301\271o l\202g\303wo\321\204\323tr\241\227\232\271\344",
"\223\250\261\311\232\271k\214\303\250\261\311\232\310\237o\204\243pr\354\254\012",
"\250\261\311\232\042\371\207ve\357\243\042get\042\012",
"\316f\243\316\215\217ad\224\250i\230\263",
"pr\354t\224gett\211\203\262accep\201\250t\240 \270t\263",
"\316\306\370\237\200sam\200\217tur\333\373\353pr\354t\224\316(\210\235",
"\262mix \310\237od\313p\203\374\352\342s\324\351\237 \205h\211it\213c\355",
"\262\322\211c\200\246\203\271 \251ue\263",
"\262\322\211c\200objec\201\373\316\271 n\202-objec\201\373\343",
"\262\322\211c\200n\202-objec\201\373\316\271 objec\201\373\343",
"\262\322\211c\200\223\217l\227\232objec\201\367\203\316\374\343",
"\373mis\347\275 (\316\374\210\235",
"\262\242\200\365objec\201\376\252m\321\207-\350\264s\372e\311\222\012",
"\257y\203\206\200\225supp\222t\232\353\217tur\333\367\263",
"\262mix \217f\211\214c\200\374\312\367\263",
"\315s\201w\353s\261ci\335\232t\351c\355",
"\322\321\204\225\272\204\361\345\012",
"new-\230y\363\312\367\203\262s\261cif\224\340\233\226\330\362\324\353p\206\201\320\237eir \367\012",
"\371\207ves\303\375w\206ds\303\374pu\244ic \246\203\262\217tur\333\257y\263",
"\305\373\231\352\206\327\012"
"\250\261\311\232\373\250\327\274\202\012",
"f\315ly-qu\215i\336\232\371m\346 \301\271o l\202g\303wo\315\204\324tr\241\230\232\271\345",
"\223\250\261\311\232\271k\214\303\250\261\311\232\310\237o\204\243pr\355\254\012",
"\250\261\311\232\042\371\207ve\360\243\042get\042\012",
"\317f\243\317\215\217ad\224\250i\227\263",
"pr\355t\224gett\211\203\262accep\201\250t\240 \270t\263",
"\317\307\361\237\200sam\200\217tur\334\373\354pr\355t\224\317(\210\235",
"\262mix \310\237od\313p\203\374\341\343s\325\352\237 \205h\211it\213c\356",
"\262\323\211c\200\246\203\271 \251ue\263",
"\262\323\211c\200objec\201\373\317\271 n\202-objec\201\373\344",
"\262\323\211c\200n\202-objec\201\373\317\271 objec\201\373\344",
"\262\323\211c\200\223\217l\230\232objec\201\370\203\317\374\344",
"\373mis\347\300 (\317\374\210\235",
"\262\242\200\366objec\201\376\252m\315\207-\351\264s\372e\311\222\012",
"\257y\203\206\200\225supp\222t\232\354\217tur\334\370\263",
"\262mix \217f\211\214c\200\374\312\370\263",
"\316s\201w\354s\261ci\336\232t\352c\356",
"\323\315\204\225\272\204\363\346\012",
"new-\227y\353\312\370\203\262s\261cif\224\340\233\226\330\364\325\354p\206\201\322\237eir \370\012",
"\371\207ves\303\375w\206ds\303\374pu\244ic \246\203\262\217tur\334\257y\263",
"\306\373\231\341\206\320\012",
"new-\227y\353\231\341\206\320\203sho\315\204\225\361\042new\042\012"
#endif
};
@ -353,18 +355,18 @@ static char *fatalmsg[] = {
/*170*/ "assertion failed: %s\n",
/*171*/ "user error: %s\n",
#else
"\262\217a\204from \335le:\344",
"\262writ\200\271 \335le:\344",
"t\276\200ov\211flow:\344",
"\205suf\335ci\214\201\310m\222y\012",
"\305\342se\236l\267\205\230ruc\216\344",
"\262\217a\204from \336le:\345",
"\262writ\200\271 \336le:\345",
"t\305\200ov\211flow:\345",
"\205suf\336ci\214\201\310m\222y\012",
"\306\343se\236l\267\205\227ruc\216\345",
"num\211ic ov\211flow\303\250ce\314\205\264capaci\254\012",
"\322mpil\232scrip\201\250ce\314\203\237\200\313ximum \310m\222\224\362\200(%l\204bytes\235",
"\271o m\213\224\211r\243\310ssag\324\330\202\200l\205\355",
"\322\231pag\200\313pp\205\264\335\363\225fo\223d\012",
"\305p\227h:\344",
"\342s\211\216 fail\314: \343",
"\242\267\211r\222: \343"
"\323mpil\232scrip\201\250ce\314\203\237\200\313ximum \310m\222\224\364\200(%l\204bytes\235",
"\271o m\213\224\211r\243\310ssag\325\330\202\200l\205\356",
"\323\231pag\200\313pp\205\264\336\353\225fo\223d\012",
"\306p\230h:\345",
"\343s\211\216 fail\314: \344",
"\242\267\211r\222: \344"
#endif
};
@ -408,43 +410,43 @@ static char *warnmsg[] = {
/*235*/ "public function lacks forward declaration (symbol \"%s\")\n",
/*236*/ "unknown parameter in substitution (incorrect #define pattern)\n"
#else
"\317 \301tr\241\227\232\271 %\204\275\206a\311\211\263",
"\217\334i\216 \320\364\213t/\313cro \360",
"nu\236\267\320\270t\203do\324\225\347\275 \334i\216\012",
"\260 \301nev\267\242\314:\344",
"\260 \301a\274gn\232\252\251u\200\237a\201\301nev\267\242\314:\344",
"\217d\223d\213\201\322\231: \364\213\201\250\326\274\330\301z\211o\012",
"\217d\223d\213\201te\230: \364\213\201\250\326\274\330\301n\202-z\211o\012",
"\223k\212w\333#p\240g\313\012",
"\304\351\237 \350\264\217s\321\201\242\232be\375\200\334i\216\303\375c\205\264\217p\206s\355",
"\246\234 sho\321\204\217tur\333\252\251u\355",
"po\274\244\200\242\200\320\260 be\375\200\205i\207\215iz\327:\344",
"\321 \301tr\241\230\232\271 %\204\300\206a\311\211\263",
"\217\335i\216 \322\365\213t/\313cro \362",
"nu\236\267\322\270t\203do\325\225\347\300 \335i\216\012",
"\260 \301nev\267\242\314:\345",
"\260 \301a\274gn\232\252\251u\200\237a\201\301nev\267\242\314:\345",
"\217d\223d\213\201\323\231: \365\213\201\250\327\274\330\301z\211o\012",
"\217d\223d\213\201te\227: \365\213\201\250\327\274\330\301n\202-z\211o\012",
"\223k\212w\334#p\240g\313\012",
"\304\352\237 \351\264\217s\315\201\242\232be\375\200\335i\216\303\375c\205\264\217p\206s\356",
"\246\234 sho\315\204\217tur\334\252\251u\356",
"po\274\244\200\242\200\322\260 be\375\200\205i\207\215iz\320:\345",
"po\274\244\224\223\205t\214\231\204a\274gn\233t\012",
"po\274\244\224\223\205t\214\231\204bit\351s\200\354\327\012",
"\350\264mis\347\275\012",
"po\274\244\224\252\042\364\357\312\337w\353\205t\214\231d:\344",
"\250\326\274\330\307\203\212 effe\311\012",
"ne\230\232\322m\233t\012",
"loos\200\205d\214t\327\012",
"\247\204\230y\363pro\271\367\203\242\232\351\237 \341\216\366semic\247umn\263",
"loc\366\332\345 s\307dow\203\252\332\200a\201\252\326c\314\205\264lev\372\012",
"\250\326\274\330\351\237 \350\264ov\211rid\200\306ap\261\206 betwe\214 p\206\214\237ese\263",
"lab\372 \371m\345 s\307dow\203\350\264\371\310\012",
"nu\236\267\320\340git\203\250ce\314\203\240\216\366nu\236\267\326ci\226\202\012",
"\217d\223d\213\201\042\362e\300\042: \337\362\200\301\215way\2031 \360",
"\205\231t\211m\205\227\200\312\362\200\376\042\362e\300\357\250\326\274\330\360",
"\223\217a\275\276\200\322\231\012",
"\252\332\200\301a\274gn\232\271 its\372f \360",
"m\222\200\205i\207\215iz\211\203\237\365\214um \335\372d\263",
"l\214g\237 \320\205i\207\215iz\267\250ce\314\203\362\200\320\237\200\214um \335\372d\012",
"\205\231x \350\264mis\347\275 \360",
"\212 imple\233t\327 f\243\346\345 \376\246\234\303\212 f\215l-back\012",
"\346\200s\261ci\335c\327 \330\375w\206\204\231\352\206\327 \301ig\212\217d\012",
"outpu\201\335\363\301writt\214\303bu\201\351\237 \322mpac\201\214\322d\205\264\340s\276\314\012",
"\346\200\332\345 s\307dow\203\252glob\366\332\355",
"\317 \301m\206k\232\353\231\326c\227\314: \343",
"pu\244ic \304lack\203\375w\206\204\231\352\206\327 \360",
"\223k\212w\333p\206a\310t\267\376subs\207tu\216 (\205c\222\217c\201#\334\200p\227t\211n\235"
"po\274\244\224\223\205t\214\231\204bit\352s\200\355\320\012",
"\351\264mis\347\300\012",
"po\274\244\224\252\042\365\360\312\337w\354\205t\214\231d:\345",
"\250\327\274\330\275\203\212 effe\311\012",
"ne\227\232\323m\233t\012",
"loos\200\205d\214t\320\012",
"\247\204\227y\353pro\271\370\203\242\232\352\237 \342\216\367semic\247umn\263",
"loc\367\332\346 s\275dow\203\252\332\200a\201\252\327c\314\205\264lev\372\012",
"\250\327\274\330\352\237 \351\264ov\211rid\200\307ap\261\206 betwe\214 p\206\214\237ese\263",
"lab\372 \371m\346 s\275dow\203\351\264\371\310\012",
"nu\236\267\322\340git\203\250ce\314\203\240\216\367nu\236\267\327ci\226\202\012",
"\217d\223d\213\201\042\364e\277\042: \337\364\200\301\215way\2031 \362",
"\205\231t\211m\205\230\200\312\364\200\376\042\364e\277\360\250\327\274\330\362",
"\223\217ac\275\244\200\323\231\012",
"\252\332\200\301a\274gn\232\271 its\372f \362",
"m\222\200\205i\207\215iz\211\203\237\366\214um \336\372d\263",
"l\214g\237 \322\205i\207\215iz\267\250ce\314\203\364\200\322\237\200\214um \336\372d\012",
"\205\231x \351\264mis\347\300 \362",
"\212 imple\233t\320 f\243\350\346 \376\246\234\303\212 f\215l-back\012",
"\350\200s\261ci\336c\320 \330\375w\206\204\231\341\206\320 \301ig\212\217d\012",
"outpu\201\336\353\301writt\214\303bu\201\352\237 \323mpac\201\214\323d\205\264\340s\305\314\012",
"\350\200\332\346 s\275dow\203\252glob\367\332\356",
"\321 \301m\206k\232\354\231\327c\230\314: \344",
"pu\244ic \304lack\203\375w\206\204\231\341\206\320 \362",
"\223k\212w\334p\206a\310t\267\376subs\207tu\216 (\205c\222\217c\201#\335\200p\230t\211n\235"
#endif
};