# 1 "yacc.m" struct _PRIVATE { struct _PRIVATE *isa; }; typedef struct _PRIVATE *id; struct _SHARED { id isa; id clsSuper; char *clsName; char *clsTypes; short clsSizInstance; short clsSizDict; struct _SLT *clsDispTable; long clsStatus; struct modDescriptor *clsMod; unsigned clsVersion; id clsCats; id *clsGlbl; }; extern id (* _imp(id,char*))(); extern id (* _impSuper(id,char*))(); extern struct modDescriptor *_OBJCBIND_yacc(void); static char **selTransTbl; struct _SLT {char *_cmd;id (*_imp)();}; struct modDescriptor { char *modName; char *modVersion; long modStatus; char *modMinSel; char *modMaxSel; id *modClsLst; short modSelRef; char **modSelTbl; struct methodDescriptor *modMapTbl; }; extern struct modDescriptor yacc_modDesc; # 2 "yacc.m" static char yysccsid[]="@(#)yaccpar 1.9 (Berkeley) 02/21/93"; # 1 "../../util/stdarg.h" #include # 1 "../../util/stdlib.h" #include # 1 "../../util/assert.h" #include # 1 "../../util/string.h" #include # 1 "../../util/stdio.h" #include # 1 "../../util/stdio.h" #include # 1 "../../util/stddef.h" #include # 53 "../../include/objcrt/objcrt.h" typedef char*SEL; typedef char*STR; typedef char BOOL; typedef FILE*IOD; typedef id SHR; # 62 "../../include/objcrt/objcrt.h" typedef id(*IMP)(); typedef void(*ARGIMP)(id,SEL,void*); # 85 "../../include/objcrt/objcrt.h" extern BOOL msgFlag; extern FILE*msgIOD; extern FILE*dbgIOD; extern BOOL allocFlag; extern BOOL dbgFlag; extern BOOL noCacheFlag; extern BOOL noNilRcvr; # 98 "../../include/objcrt/objcrt.h" SEL selUid(STR); STR selName(SEL); void dbg(char*fmt,...); void prnstack(FILE*file); void loadobjc(void*modPtr); void unloadobjc(void*modPtr); # 107 "../../include/objcrt/objcrt.h" IMP fwdimp(id,SEL,IMP); IMP fwdimpSuper(id,SEL,IMP); void fwdmsg(id,SEL,void*,ARGIMP); id selptrfwd(id,SEL,id,id,id,id); id idincref(id obj); id idassign(id*lhs,id rhs); id iddecref(id obj); extern id(*_fileIn)(FILE*); extern BOOL(*_fileOut)(FILE*,id); extern BOOL(*_storeOn)(STR,id); extern id(*_readFrom)(STR); void setfilein(id(*f)(FILE*)); void setfileout(BOOL(*f)(FILE*,id)); extern id(*_showOn)(id,unsigned); void*OC_Malloc(size_t); void*OC_MallocAtomic(size_t); void*OC_Calloc(size_t); void*OC_Realloc(void*,size_t); void*OC_Free(void*data); # 1 "../../util/string.h" #include # 32 "../../include/objpak/ocstring.h" typedef struct objstr { int count; int capacity; char*ptr; }* objstr_t; # 22 "../oclib/options.h" void defoptions(void); extern int o_warnings; extern int o_gnu; extern int o_hpux; extern int o_vms; extern int o_refcnt; extern int o_ppi; extern int o_watcom; extern int o_ibmvac; extern int o_msdos; extern int o_enableasm; extern int o_nolinetags; extern int o_buffered; extern int o_quiet; extern int o_outputcode; extern int o_version; extern int o_otb; extern int o_llkeyw; extern int o_comments; extern int o_duptypedefs; extern int o_seltranslation; extern int o_categories; extern int o_blocks; extern int o_fwd; extern int o_selptr; extern int o_cache; extern int o_filer; extern int o_selfassign; extern char*o_bind; extern char*o_browsedir; extern int o_refbind; extern int o_inlinecache; extern int o_cplus; extern int o_gencode; extern int o_st80; extern int o_selfassign; extern int o_nilrcvr; extern int o_shareddata; extern int o_oneperfile; extern int o_cvars; extern int o_warnlex; extern int o_warnfwd; extern int o_warnsuggest; extern int o_warnintvar; extern int o_warnclasstype; extern int o_warntypeconflict; extern int o_warnundefined; extern int o_warnlocalnst; extern int o_warnnotfound; extern int o_warnmissingmethods; extern int o_postlink; extern char*o_infile; extern char*o_outfile; extern char*o_srcfilename; extern char*o_initcall; extern char*o_tagformat; extern char*o_mainfun; extern char*o_pathsep; extern int o_debuginfo; extern int o_checkbind; extern int o_linemax; extern int o_structassign; extern id o_stepbreak; extern int o_stepnext; # 22 "../oclib/node.h" extern FILE*gfile; extern int inlineno; extern id infilename; extern int outlineno; extern char*outfilename; extern int exitstatus; extern id loadedmodules; void gc(char c); void gextc(void); void gcom(char*cm); void gvarlist(id c,char*sp,char*iz); void gcommalist(id c); void gs(char*str); void gf(char*fmt,...); void gl(int no,char*fn); void g_otbvars(void); void gstderr(void); void gnormal(void); char*browsepath(char*filename); void warn(char*fmt,...); void warnat(id sym,char*fmt,...); void fatal(char*fmt,...); void fatalat(id sym,char*fmt,...); # 23 "../oclib/util.h" extern FILE*yyin; extern int yyparse(); FILE*openfile(STR name,STR modfs); FILE*reopenfile(STR name,STR modfs,FILE*of); extern int okblock; id mkcppdirect(char*s); id mkexprstmt(id expr); id mklabeledstmt(id label,id stmt); id mkcasestmt(id keyw,id expr,id stmt); id mkdefaultstmt(id keyw,id stmt); id mkifstmt(id keyw,id expr,id stmt); id mkifelsestmt(id keyw,id expr,id stmt,id ekeyw,id estmt); id mkswitchstmt(id keyw,id expr,id stmt); id mkwhilestmt(id keyw,id expr,id stmt); id mkdostmt(id keyw,id stmt,id wkeyw,id expr); id mkforstmt(id keyw,id a,id b,id c,id stmt); id mkgotostmt(id keyw,id label); id mkcontinuestmt(id keyw); id mkbreakstmt(id keyw); id mkreturnstmt(id keyw,id expr); id mkcastexpr(id a,id b); id mkcondexpr(id a,id b,id c); id mkunaryexpr(STR op,id a); id mksizeof(id a); id mktypeof(id kw,id a); id mkaddressof(id a); id mkdereference(id a); id mkbinexpr(id a,STR op,id b); id mkcommaexpr(id a,id b); id mkrelexpr(id a,STR op,id b); id mkassignexpr(id a,STR op,id b); id mkfuncall(id funname,id args); id mkbuiltincall(id funname,id args); id mkfunbody(id datadefs,id compound); void declarefun(id specs,id decl); void declaremeth(BOOL factory,id decl); id mkfundef(id specs,id decl,id body); id mkmethdef(BOOL factory,id decl,id body); id mkmesgexpr(id receiver,id args); id mkdecl(id ident); id mkprecdecl(id tquals,id decl); id mkarraydecl(id lhs,id ix); id mkfundecl(id lhs,id args); id mkprefixdecl(id lhs,id rhs); id mkpostfixdecl(id lhs,id rhs); id mkpointer(id specs,id pointer); id mkbitfielddecl(id decl,id expr); id mkstardecl(id pointer,id decl); id mkasmop(id string,id expr); id mkasmstmt(id keyw,id tqual,id expr,id asmop1,id asmop2,id clobbers); id mkcompstmt(id lb,id datadefs,id stmtlist,id subblock,id rb); id mklist(id c,id s); id mklist2(id c,id s,id t); id atdefsaddall(id c,id n); id mkblockexpr(id lb,id parms,id datadefs,id stmts,id expr,id rb); id mkclassdef(id keyw,id name,id sname,id ivars,id cvars); id mkdatadef(id datadef,id specs,id decl,id initializer); id mkencodeexpr(id name); id mkenumspec(id keyw,id name,id lb,id list,id rb); id mkenumerator(id name,id value); id mkgnuattrib(id anyword,id exprlist); id mkgnuattribdecl(id keyw,id list); id mklistexpr(id lb,id x,id rb); id mktypename(id specs,id decl); id mkcomponentdef(id cdef,id specs,id decl); id mkstructspec(id keyw,id name,id lb,id defs,id rb); id mkkeywarg(id sel,id arg); id mkkeywdecl(id sel,id cast,id arg); id mkmethproto(id cast,id usel,id ksel,BOOL varargs); id mkidentexpr(id name); id mkconstexpr(id name,id schain); id mkprecexpr(id expr); id mkbracedgroup(id expr); id mkarrowexpr(id array,id ix); id mkdotexpr(id array,id ix); id mkindexexpr(id array,id ix); id mkpostfixexpr(id expr,id pf); id mkparmdef(id parmdef,id specs,id decl); id mkparmdeflist(id idents,id parmdefs,BOOL varargs); id mkselarg(id selarg,id usel,int ncols); id mkselectorexpr(id expr); void procextdef(id def); void finclassdef(void); void datadefokblock(id datadef,id specs,id decl); id mkfileinmeth(id classdef,id ivarnames,id ivartypes); id mkfileoutmeth(id classdef,id ivarnames,id ivartypes); id mkincrefsmeth(id classdef,id ivarnames,id ivartypes); id mkdecrefsmeth(id classdef,id ivarnames,id ivartypes); # 86 "y.tab.c" short yylhs[]={ -1, 1,1,1,1,1,5,5,3,3,3, 3,3,3,10,10,12,12,12,12,9, 15,15,15,16,18,18,19,19,22,19, 23,23,24,24,26,26,26,26,26,26, 26,26,26,26,26,26,26,27,27,30, 30,32,32,33,33,21,21,21,21,36, 36,36,36,36,36,38,38,38,38,38, 20,20,20,41,42,42,42,42,29,29, 43,43,43,43,43,43,48,44,49,44, 46,46,46,46,50,50,50,50,50,50, 50,51,11,11,53,53,53,53,53,54, 54,54,55,55,55,17,17,56,56,57, 57,57,57,57,57,57,57,61,62,61, 63,63,64,58,65,58,60,60,60,60, 4,25,25,25,67,67,67,67,67,35, 35,68,68,37,37,70,70,73,71,74, 71,75,75,75,75,76,76,77,77,40, 40,59,59,80,59,81,59,79,79,79, 79,79,79,82,82,84,85,83,39,39, 39,86,86,87,87,88,88,7,7,47, 47,66,66,8,8,8,8,8,78,78, 90,90,90,92,93,93,94,94,94,94, 94,94,94,94,94,94,94,94,94,94, 94,94,94,94,89,89,96,96,96,96, 96,96,2,2,2,2,52,52,45,99, 99,99,99,99,99,99,99,99,99,99, 99,99,99,99,99,99,100,100,100,95, 98,98,101,101,101,101,101,101,102,102, 69,69,69,69,103,103,103,104,104,105, 105,105,106,107,107,107,107,107,107,107, 107,107,107,107,107,107,107,107,107,107, 107,107,28,28,14,14,91,91,91,91, 0,0,31,31,13,13,13,13,13,13, 97,97,6,6,34,34,34,34,34,34, 34,34,34,34,34,34,34,72,72,72, 72 }; short yylen[]={2, 1,1,2,2,3,1,2,3,3,4, 4,2,2,1,3,1,1,1,1,4, 0,1,3,4,1,3,1,3,0,4, 1,1,1,3,2,5,5,6,5,6, 7,3,3,4,3,4,5,2,3,1, 1,1,3,1,3,1,4,6,7,3, 5,2,4,5,7,2,3,3,4,5, 1,5,4,1,2,2,1,1,1,2, 1,2,1,2,3,1,0,4,0,5, 1,2,2,3,1,3,4,4,4,2, 2,4,1,3,5,6,4,5,2,1, 2,3,1,3,1,1,3,1,3,1, 1,1,1,1,1,1,1,3,0,5, 1,2,0,3,0,4,6,8,10,12, 6,0,1,4,1,3,3,3,4,1, 3,1,3,2,3,1,2,0,4,0, 3,3,6,2,5,1,2,1,3,1, 3,3,3,0,4,0,4,4,4,6, 1,1,3,1,1,0,0,6,1,2, 3,0,1,0,1,0,1,0,1,0, 2,0,1,0,1,1,1,3,1,3, 1,3,3,1,1,3,1,1,1,1, 3,3,4,4,4,3,3,3,3,2, 1,1,1,1,1,3,1,2,2,3, 2,3,1,2,2,3,1,3,3,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,2,3,4, 1,3,5,5,4,2,2,2,0,1, 1,2,4,5,2,2,1,2,3,1, 2,3,1,2,1,3,4,3,5,7, 5,5,7,9,3,2,2,2,3,1, 1,1,1,2,1,2,1,3,3,3, 1,2,1,2,1,1,1,1,1,4, 1,2,1,2,1,2,2,2,2,2, 2,2,2,2,4,4,2,1,1,1, 1 }; short yydefred[]={0, 95,325,81,326,0,77,0,0,0,0, 31,124,0,329,0,32,0,0,0,0, 125,0,0,0,83,0,122,121,0,0, 78,133,0,328,321,120,123,126,127,0, 0,0,0,0,0,0,203,0,0,214, 215,0,0,348,351,350,266,250,251,252, 253,254,255,256,257,258,259,260,261,262, 263,264,265,0,0,0,166,0,0,349, 0,245,331,0,333,0,0,322,0,0, 93,0,82,75,0,84,0,0,76,0, 0,0,0,100,101,278,128,0,0,0, 115,0,110,0,0,287,0,0,0,0, 281,0,0,217,218,315,0,0,220,0, 0,0,0,0,0,0,0,0,0,0, 0,0,186,0,14,0,0,116,27,0, 231,0,56,0,234,0,0,0,232,0, 0,0,233,247,0,249,0,164,0,0, 0,0,0,0,167,172,0,173,0,246, 332,334,0,96,94,0,0,0,85,0, 0,89,86,0,0,131,79,0,134,0, 152,0,205,0,0,0,235,0,0,74, 317,199,0,0,0,0,107,111,0,0, 0,0,282,0,286,0,288,275,0,285, 0,0,0,344,336,0,0,0,77,0, 0,0,0,0,0,0,0,0,0,0, 311,0,0,35,0,0,0,0,295,310, 0,313,293,347,340,342,343,341,338,339, 337,0,0,0,0,0,316,0,330,0, 29,0,0,0,0,0,0,0,0,0, 0,0,0,0,230,0,0,0,0,216, 16,17,19,0,18,0,33,0,0,0, 0,324,0,0,0,162,0,183,175,177, 97,0,154,0,0,0,88,136,0,66, 0,0,0,132,80,87,0,0,99,0, 0,0,239,0,0,241,98,130,0,105, 114,108,112,273,274,0,0,291,0,289, 0,0,51,52,50,0,0,0,267,0, 0,0,0,0,312,0,0,0,0,0, 307,306,308,0,0,48,42,0,0,43, 0,314,45,0,294,221,0,222,0,15, 117,28,0,0,0,0,0,0,248,0, 0,0,0,0,318,320,319,228,229,226, 227,118,0,0,0,0,0,0,0,0, 0,0,6,0,0,0,0,0,0,0, 12,13,4,0,0,155,61,0,0,0, 145,201,90,67,68,0,20,240,242,153, 208,236,0,0,106,283,0,292,0,0, 22,137,0,346,345,268,270,0,102,296, 0,0,0,0,0,0,298,309,305,49, 0,0,0,44,46,0,0,57,0,30, 73,0,225,0,224,223,0,34,141,165, 0,8,7,9,5,0,0,0,0,0, 0,0,150,69,0,0,284,0,0,0, 0,53,269,0,0,0,0,0,297,36, 37,0,39,0,47,0,160,0,156,0, 0,72,119,144,180,11,10,163,65,146, 147,0,148,0,70,0,23,0,138,0, 302,0,0,301,38,40,0,0,58,0, 157,0,158,188,149,151,191,24,0,0, 0,0,0,41,59,0,0,0,0,139, 300,303,0,0,0,0,0,0,140,304 }; short yydgoto[]={22, 433,23,314,24,434,86,209,204,105,144, 145,304,83,146,470,471,331,599,148,149, 150,403,26,306,307,151,256,257,195,364, 365,366,152,153,522,27,188,259,526,154, 212,197,198,30,31,32,327,190,329,33, 155,156,34,112,113,424,35,36,37,260, 39,108,199,100,191,48,523,205,118,548, 549,76,597,580,77,78,157,158,79,177, 179,551,159,275,499,367,261,425,206,160, 161,51,52,162,163,207,171,164,80,370, 40,120,121,122,227,262,263 }; short yysindex[]={2389, 0,0,0,0, -47,0, -66,192, -193,77, 0,0, -169,0,87,0,1536,1536,746, -28, 0,2389, -25,122,0, -99,0,0,758,197, 0,0,70,0,0,0,0,0,0, -100, 58,101, -119,135,148,1173,0,171,2442,0, 0,252,182,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0, -8,864,206,0,4005,221,0, 225,0,0,746,0,74,250,0,122,70, 0,40,0,0,469,0,0,122,0,440, 263,294,2442,0,0,0,0,2389, -119,246, 0,10,0,1173,1173,0,292,1196,2340,232, 0,338,2442,0,0,0,334,2512,0,2442, 346,364,586,2442,2442,2442,2442,2442,2442,2442, 2442,1882,0,360,0,157,264,0,0, -41, 0,318,0, -52,0, -229,161,302,0, -35, 527, -24,0,0, -169,0,1187,0,864,407, 1116, -6,177,206,0,0,347,0,347,0, 0,0,437,0,0,226,816,426,0,424, 440,0,0,702,440,0,0,758,0,239, 0,864,0,458,456,460,0,139,415,0, 0,0,771,64,2442, -38,0,0,400,402, 277,497,0,2442,0,481,0,0, -9,0, 447,1949,1882,0,0,1276,864,485,0,507, 517,1835,535,546,2442,508,528,529,1601,335, 0,2442,341,0,50, -11,1393,966,0,0, 544,0,0,0,0,0,0,0,0,0, 0,350,563,564,2442,2442,0,2442,0,2442, 0,2442,2442,2269,2442,2442,2442,2442,2442,2442, 2442,2442,2442,2442,0, -79, -56,2316,2442,0, 0,0,0,583,0,406,0,570,4075,86, 2442,0,4,97,8,0,864,0,0,0, 0,509,0,909,509,2241,0,0,424,0, 572,1440,1013,0,0,0,36,139,0,376, 1225, -2,0,136,33,0,0,0,62,0, 0,0,0,0,0,598,386,0,2442,0, 239,589,0,0,0,615,619,628,0,3957, 630,1835,2442,2442,0,408,2442,2442,620,1835, 0,0,0,361,626,0,0,416,1324,0, 60,0,0,1487,0,0,2336,0,572,0, 0,0,2442,360,161,2442,75,411,0,302, 318,100,527,527,0,0,0,0,0,0, 0,0,649,652,675,12,2442,1187,686,472, 206,4196,0,690,99,641,97,8,294,2442, 0,0,0,697,685,0,0,691,491,2241, 0,0,0,0,0,1060,0,0,0,0, 0,0,11,33,0,0,710,0, -16,488, 0,0,1949,0,0,0,0,695,0,0, 448,552,724,707,553,1835,0,0,0,0, 78,1741,1129,0,0,79,2241,0,4102,0, 0,2442,0,2442,0,0,569,0,0,0, 483,0,0,0,0,731,682,516,509,2442, 2442,81,0,0,1324,654,0,2442,239,239, 718,0,0,1835,1835,2442,2442,1835,0,0, 0,88,0,1788,0,96,0,4102,0,725, 689,0,0,0,0,0,0,0,0,0, 0,2146,0,1324,0,571,0,526,0,515, 0,576,727,0,0,0,98,2213,0,2442, 0,725,0,0,0,0,0,0,239,728, 1835,732,2442,0,0,572,2442,157,613,0, 0,0,755,572,239,740,1835,157,0,0 }; short yyrindex[]={0, 0,0,0,0,859,0,0,0,769,0, 0,0,0,0,0,0,0,0, -5,0, 0,0,0,0,0,0,0,0,0,0, 0,0,2448,0,0,0,0,0,0,1589, 2520,373,0,851,1895,687,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,32,0,48,692,0, 696,0,0,153,0,0,0,0,0,2569, 0,21,0,0,0,0,2599,0,0,0, 0,777,717,0,0,0,0,0,0,176, 0,0,0,687,687,0,0,699,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,761,0,0,0,0,0,0,0, 0,0,0,3484,0,2715,0,0,0,2972, 0,3576,0,3931,0,3416,3877,3819,0,3164, 3005,2874,0,0,0,0,614,0,0,0, 623,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,385,0,392, 0,0,0,761,0,0,0,0,0,0, 0,0,0,0,781,785,0,639,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,414,0,0,0,0, 0,788,0,0,0,0,0,2834,0,0, 0,761,0,0,0,0,0,0,0,0, 0,501,0,0,772,0,761,761,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,792,0,0, 0,0,0,648,0,0,0,0,0,0, 717,0,650,669,0,0,0,0,0,0, 0,493,0,0,0,0,0,0,392,0, 90,761,761,0,0,0,0,674,0,0, 0,0,0,650,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 532,0,0,0,0,793,0,0,0,0, 0,761,0,0,0,0,761,0,0,761, 0,0,0,0,0,0,0,0,761,0, 772,0,0,761,0,0,0,0,4157,0, 0,0,0,3513,3904,0,0,3445,0,3848, 3766,3323,3043,3131,0,0,0,0,0,0, 0,0,0,794,0,0,0,614,0,0, 95,108,0,0,0,0,676,0,777,717, 0,0,0,0,540,0,0,2834,0,0, 0,0,0,0,0,761,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,761,0,0,0,0, 772,761,761,0,0,772,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0, -7,0,0,0,0,532, 0,0,0,761,761,0,761,761,0,0, 0,772,0,761,0,0,0,745,0,747, 0,0,0,0,0,0,0,0,0,0, 0,0,0,19,0,0,0,0,0,655, 0,0,0,0,0,0,772,0,0,0, 0,0,0,0,0,0,0,0,0,0, 761,0,808,0,0,4049,0,680,0,0, 0,0,0,4129,0,0,761,681,0,0 }; short yygindex[]={748, - 165, -1, -244,39,0, -250, -292,433, -285,591, 599,0,1, -187,344,348, -49,0,141, -94, 230,0,0,0,450,0,0, -177, -129,409, 439,0,592,751,391,0, -280,430,319,0, 241,3,358,0,0,17,561,0,0, -18, 0,609,0,789, -57,470,68,0,0,389, 0,0,709,0,0,0, -299,0,715,0, 355, -76,0,0, -71,595,622,621,888,0, 0,0,0,0,0,0, -351,0,0,618, 169,760,0,0,0,602,51,625,0,0, 0,354, -90,0,719,15,0 }; short yytable[]={147, 25,174,28,258,90,312,175,290,210,291, 284,20,337,19,20,298,332,82,436,281, 62,297,25,528,28,484,452,223,442,96, 20,169,19,317,243,243,87,342,243,19, 91,445,343,310,447,97,388,310,224,19, 342,194,19,216,218,278,43,285,286,435, 62,89,62,62,333,62,299,95,437,84, 47,104,342,231,19,41,457,194,106,62, 394,62,180,255,181,243,352,50,311,88, 181,463,272,278,311,189,119,186,311,437, 25,311,183,278,506,185,182,349,25,102, 28,91,389,20,192,19,49,189,278,181, 210,278,278,311,562,310,53,19,104,210, 195,278,502,25,217,226,439,110,310,578, 19,278,290,190,291,62,111,517,195,443, 210,442,208,178,181,456,218,92,353,369, 103,20,187,19,119,119,179,305,119,313, 182,181,458,469,387,342,311,418,342,443, 19,419,107,272,494,573,465,440,350,311, 42,25,244,244,25,25,244,335,96,384, 420,15,540,545,421,563,344,391,181,315, 123,492,575,25,336,28,210,178,110,113, 579,167,594,109,346,399,311,111,1,311, 179,1,431,223,407,85,95,119,559,283, 98,603,277,244,280,226,345,1,168,426, 316,243,338,289,1,99,376,114,25,493, 335,85,586,172,210,295,110,1,296,513, 115,392,515,15,182,111,15,62,586,176, 88,62,62,178,62,62,62,62,62,1, 184,353,15,478,277,165,243,513,515,15, 113,62,200,62,279,15,215,278,313,15, 166,501,15,313,46,544,62,62,110,62, 110,62,62,481,482,90,525,111,485,111, 1,221,211,25,15,335,344,182,181,491, 344,469,469,344,496,210,392,564,315,85, 101,438,441,315,459,174,228,29,87,235, 175,91,182,264,265,266,267,268,269,270, 271,15,363,232,119,15,345,101,1,29, 345,229,464,345,60,236,480,15,38,25, 396,208,1,278,487,1,230,276,15,2, 15,598,4,237,278,7,8,552,392,244, 38,282,109,109,109,277,109,608,401,488, 402,10,550,15,60,288,60,60,305,60, 109,109,113,313,525,200,313,15,422,14, 15,113,542,60,211,60,429,309,44,428, 200,287,45,211,244,351,25,290,413,414, 318,344,344,109,358,29,451,219,220,194, 392,582,290,315,211,441,315,321,566,183, 185,264,322,325,326,379,572,362,534,208, 278,278,63,25,577,335,38,126,339,340, 539,345,345,341,361,211,392,347,20,60, 19,211,211,170,211,211,211,211,211,211, 211,415,416,417,354,25,355,335,531,196, 596,529,63,356,63,63,357,63,359,64, 211,329,372,500,329,530,373,604,570,571, 201,63,574,63,2,202,374,4,392,329, 7,8,194,293,25,380,590,422,292,529, 29,274,21,294,377,21,10,203,392,64, 273,64,64,589,64,378,381,382,211,21, 451,385,535,538,14,278,278,386,64,468, 64,38,395,397,398,601,319,308,320,554, 430,588,504,363,278,278,592,63,139,278, 196,610,427,135,334,142,498,138,136,109, 137,187,460,109,109,211,109,451,466,109, 109,60,467,253,553,60,60,472,60,60, 60,60,60,606,142,109,605,142,473,474, 560,561,274,323,64,60,323,60,475,211, 479,368,490,109,109,371,143,486,483,237, 60,60,237,60,489,60,60,299,143,503, 1,143,299,1,299,504,299,299,286,299, 2,3,451,4,193,6,7,8,194,2, 254,140,2,299,238,505,3,238,451,3, 25,26,10,25,26,1,509,423,510,2, 512,211,4,514,139,7,8,518,13,135, 14,142,519,138,136,299,137,521,520,63, 527,10,533,63,63,444,63,63,63,63, 63,329,329,536,329,537,555,329,329,14, 15,556,558,63,557,63,569,299,565,299, 299,584,583,329,591,593,600,19,63,63, 602,63,143,63,63,607,64,20,609,19, 64,64,329,64,64,64,64,64,202,198, 20,279,19,17,174,18,94,204,176,194, 64,206,64,280,194,207,330,140,192,21, 195,16,196,193,197,64,64,185,64,184, 64,64,238,125,126,127,2,3,194,4, 193,239,7,8,240,213,241,242,243,244, 245,246,247,248,249,250,9,128,10,129, 251,516,404,568,400,130,567,508,234,411, 131,532,587,132,13,133,252,546,141,453, 276,276,276,408,276,348,507,214,86,328, 86,324,581,432,405,81,412,410,276,276, 409,299,299,299,299,299,299,86,299,299, 299,299,299,299,300,299,299,299,299,299, 299,299,299,299,299,299,299,299,299,299, 323,276,462,0,299,0,0,360,0,299, 0,0,299,299,299,299,0,299,238,125, 126,127,2,3,0,4,193,239,7,8, 240,0,241,242,243,244,245,246,247,248, 249,250,9,128,10,129,251,0,0,0, 0,130,0,0,0,0,131,0,139,132, 13,133,252,135,141,142,2,138,136,4, 137,0,7,8,1,0,0,0,2,93, 0,4,0,0,7,8,0,1,10,0, 0,2,3,446,4,5,6,7,8,0, 10,0,0,0,0,139,14,0,0,0, 135,9,142,10,138,136,143,137,14,15, 0,0,0,0,0,0,11,12,0,13, 0,14,15,0,0,0,2,0,0,4, 0,116,7,8,0,0,0,0,194,0, 393,140,139,0,0,0,0,135,10,142, 0,138,136,143,137,0,0,276,0,117, 0,276,276,0,276,86,14,276,276,86, 86,0,86,0,2,86,86,4,0,0, 7,8,0,276,0,194,0,455,140,0, 0,86,0,0,0,0,10,0,0,0, 143,276,276,0,0,310,0,19,0,86, 86,139,0,0,14,0,135,0,142,2, 138,136,4,137,116,7,8,0,0,0, 0,0,194,0,524,140,0,0,0,0, 0,10,0,0,0,0,0,0,0,0, 0,0,222,0,0,0,311,0,0,14, 0,0,0,0,0,0,0,0,0,143, 0,0,238,125,126,127,2,3,0,4, 193,239,7,8,240,0,241,242,243,244, 245,246,247,248,249,250,9,128,10,129, 251,194,0,543,140,130,0,0,0,0, 131,0,0,132,13,133,252,0,141,238, 125,126,127,2,3,0,4,193,239,7, 8,240,0,241,242,243,244,245,246,247, 248,249,250,9,128,10,129,251,0,0, 0,0,130,0,0,0,0,131,0,0, 132,13,133,252,0,141,238,125,126,127, 2,3,0,4,193,239,7,8,240,0, 241,242,243,244,245,246,247,248,249,250, 9,128,10,129,251,0,0,0,0,130, 0,0,0,0,131,0,139,132,13,133, 252,135,141,142,0,138,136,0,137,0, 0,0,0,0,0,0,2,0,0,4, 0,0,7,8,0,238,125,126,127,2, 3,0,4,193,239,7,8,240,10,241, 242,243,244,245,246,247,248,249,250,9, 128,10,129,251,143,0,14,15,130,0, 0,0,0,131,0,139,132,13,133,252, 135,141,142,2,138,136,4,137,116,7, 8,0,0,301,0,0,194,2,302,140, 303,0,0,7,8,10,2,0,0,4, 0,116,7,8,0,0,117,0,0,10, 0,0,139,14,0,0,0,135,10,142, 0,138,136,143,137,2,202,14,4,222, 0,7,8,0,0,0,14,0,0,0, 0,0,0,0,0,0,0,10,461,0, 0,0,0,0,0,194,0,390,140,139, 0,0,0,0,135,14,142,0,138,136, 143,137,54,0,0,55,56,0,0,57, 0,0,58,59,60,61,62,63,64,65, 66,67,68,69,70,71,72,73,0,0, 0,0,194,0,454,140,0,0,0,0, 0,0,0,0,0,75,0,143,0,0, 238,125,126,127,2,3,0,4,193,239, 7,8,240,74,241,242,243,244,245,246, 247,248,249,250,9,128,10,129,251,194, 0,495,140,130,0,0,0,0,131,0, 0,132,13,133,252,0,141,0,327,327, 327,0,327,139,0,0,0,0,135,0, 142,0,138,136,0,137,327,327,0,238, 125,126,127,0,0,0,0,0,375,383, 0,240,0,241,242,243,244,245,246,247, 248,249,250,9,128,0,129,251,0,327, 0,0,130,0,0,0,0,131,0,0, 132,143,133,134,0,141,238,125,126,127, 0,0,0,0,0,375,0,0,240,0, 241,242,243,244,245,246,247,248,249,250, 9,128,0,129,251,0,140,0,0,130, 0,0,0,0,131,0,0,132,0,133, 134,0,141,238,125,126,127,0,0,0, 0,0,375,0,0,240,0,241,242,243, 244,245,246,247,248,249,250,9,128,0, 129,251,0,139,0,0,130,0,135,0, 142,131,138,136,132,137,133,134,0,141, 0,0,54,0,0,55,56,0,0,57, 0,0,58,59,60,61,62,63,64,65, 66,67,68,69,70,71,72,73,0,0, 139,0,0,0,0,135,0,142,0,138, 136,143,137,0,0,0,0,0,0,0, 0,0,0,0,0,327,0,0,0,327, 327,0,327,0,0,327,327,124,125,126, 127,0,0,194,0,541,140,139,0,0, 0,327,135,0,142,0,138,136,143,137, 0,0,128,0,129,0,0,0,0,327, 130,0,0,0,0,131,0,0,132,0, 133,134,0,141,0,0,0,0,0,0, 194,0,576,140,139,0,0,0,0,135, 0,142,0,138,136,143,137,0,0,0, 0,0,0,0,277,277,277,0,277,0, 0,0,0,0,0,0,0,0,0,0, 0,0,277,277,0,0,0,194,0,0, 140,0,0,0,0,0,0,0,0,0, 0,0,143,0,0,0,0,0,0,0, 0,139,0,0,0,277,135,0,142,0, 138,136,0,137,0,0,0,238,125,126, 127,0,0,0,194,0,375,140,0,240, 0,241,242,243,244,245,246,247,248,249, 250,9,128,0,129,251,0,0,0,0, 130,0,0,0,0,131,0,0,132,143, 133,134,0,141,238,125,126,127,0,0, 0,0,0,375,0,0,240,0,241,242, 243,244,245,246,247,248,249,250,9,128, 0,129,251,0,140,0,0,130,0,0, 0,0,131,0,0,132,0,133,134,0, 141,238,125,126,127,0,0,0,0,0, 375,0,0,240,0,241,242,243,244,245, 246,247,248,249,250,9,128,0,129,251, 0,0,0,0,130,0,0,0,0,131, 0,0,132,0,133,134,0,141,124,125, 126,127,2,0,0,4,0,0,7,8, 0,277,0,0,0,277,277,0,277,0, 0,277,277,128,10,129,0,0,0,0, 0,130,0,0,0,0,131,277,139,132, 0,133,252,135,141,142,0,138,136,0, 137,449,0,0,0,277,277,0,0,0, 0,0,0,0,0,124,125,126,127,2, 0,0,4,0,0,7,8,0,0,0, 0,0,0,0,0,0,0,0,0,0, 128,10,129,0,0,0,143,0,130,0, 0,0,0,131,0,139,132,0,133,252, 135,141,142,0,138,136,0,137,449,0, 0,0,0,0,0,0,0,0,450,0, 585,140,0,139,0,0,0,0,135,0, 142,0,138,136,0,137,449,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,139,0,143,0,0,135,0,142,0, 138,136,0,137,0,0,0,0,0,0, 0,0,0,0,0,0,406,0,0,0, 0,143,0,0,0,450,0,595,140,0, 0,0,0,0,0,0,0,0,139,0, 0,0,0,135,0,142,0,138,136,143, 137,0,0,450,0,0,140,0,139,0, 0,0,0,135,0,142,0,138,136,20, 137,19,0,0,0,0,0,0,0,0, 0,0,0,0,140,0,0,224,225,0, 0,0,448,125,126,127,143,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,143,128,20,129, 19,17,0,18,0,130,0,0,194,0, 131,140,0,132,0,133,134,21,141,16, 0,0,0,0,0,0,0,0,497,0, 0,140,0,0,0,0,0,0,0,448, 125,126,127,0,139,0,0,0,0,135, 0,142,0,138,136,0,137,0,91,0, 0,91,0,0,128,0,129,448,125,126, 127,0,130,0,0,91,91,131,91,0, 132,0,133,134,0,141,0,0,0,0, 0,0,128,0,129,124,125,126,127,0, 130,0,143,0,0,131,0,0,132,0, 133,134,0,141,139,0,0,0,0,135, 128,233,129,138,136,0,137,0,130,129, 0,129,129,131,129,0,132,140,133,134, 91,141,124,125,126,127,0,0,129,0, 129,0,0,0,0,0,0,0,0,0, 0,0,124,125,126,127,1,128,0,129, 2,0,143,4,0,130,7,8,0,92, 131,0,92,132,0,133,134,128,141,129, 0,0,10,0,0,130,92,92,0,92, 131,0,0,132,0,133,134,140,141,0, 14,15,87,0,0,1,0,0,0,2, 3,0,4,5,6,7,8,87,0,87, 0,0,0,0,0,0,0,0,0,9, 0,10,0,0,0,0,0,0,0,0, 0,0,0,0,11,12,0,13,0,14, 15,92,0,0,0,0,0,0,124,125, 126,127,0,0,0,0,0,0,91,91, 0,91,91,91,91,91,0,0,0,0, 0,135,0,128,0,129,0,0,0,0, 91,130,0,0,0,0,131,0,0,132, 0,133,134,0,141,0,91,0,91,0, 0,219,219,0,219,219,219,219,219,219, 219,219,0,0,0,0,0,0,124,125, 126,127,219,219,0,219,129,219,0,0, 129,129,0,129,129,129,129,129,0,0, 0,0,0,128,0,129,0,0,0,0, 129,130,129,0,0,219,131,219,219,132, 0,133,134,0,141,129,129,0,129,0, 129,129,0,0,0,0,0,0,0,92, 92,0,92,92,92,92,92,0,219,219, 0,0,0,0,0,0,0,0,0,0, 0,92,0,0,0,0,0,0,0,135, 135,0,135,135,135,135,135,92,0,92, 217,217,0,217,0,217,217,217,217,217, 217,135,0,0,0,0,0,0,0,0, 0,0,217,0,217,0,217,135,0,135, 0,0,0,0,0,0,0,0,0,0, 335,335,0,0,335,335,335,335,335,0, 335,0,0,0,217,0,0,217,0,0, 0,335,335,0,335,0,335,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,217,217,0, 0,0,0,0,0,0,335,335,0,0, 0,219,0,0,219,219,0,0,219,0, 219,219,219,219,219,219,219,219,219,219, 219,219,219,219,219,219,219,335,335,0, 219,219,219,219,219,219,219,219,317,317, 0,0,317,317,317,317,317,0,317,0, 0,0,0,0,0,0,0,0,0,317, 317,0,0,0,317,0,0,0,0,0, 0,0,211,0,0,211,0,211,211,211, 0,0,0,0,0,0,0,0,0,0, 0,0,211,211,317,317,0,211,0,0, 0,0,0,0,0,0,0,0,0,0, 212,0,0,212,0,212,212,212,0,0, 0,0,0,0,0,317,317,211,211,0, 212,212,0,0,0,212,0,0,0,0, 0,0,0,0,0,0,0,0,0,217, 217,217,217,217,217,217,217,0,211,211, 335,0,0,335,335,212,212,335,0,335, 335,335,335,335,335,335,335,335,335,335, 335,335,335,335,335,335,0,0,0,335, 335,335,335,0,335,335,212,212,213,0, 0,213,0,213,213,213,0,0,0,0, 0,0,0,0,0,0,0,0,213,213, 0,0,0,213,0,0,0,0,0,0, 0,271,0,0,271,0,0,271,0,0, 0,0,0,0,0,0,0,0,0,0, 0,271,271,213,213,0,271,0,317,0, 0,317,317,0,0,317,0,0,317,317, 317,317,317,317,317,317,317,317,317,317, 317,317,317,317,213,213,271,271,317,317, 317,211,317,317,211,211,0,0,211,0, 211,211,211,211,211,211,211,211,211,211, 211,211,211,211,211,211,211,271,271,0, 0,211,211,211,0,211,211,0,0,212, 0,0,212,212,0,0,212,0,212,212, 212,212,212,212,212,212,212,212,212,212, 212,212,212,212,212,0,0,0,0,212, 212,212,0,212,212,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 272,0,0,272,0,0,272,0,0,0, 0,0,0,0,0,0,0,0,0,0, 272,272,0,0,0,272,0,213,0,0, 213,213,0,0,213,0,213,213,213,213, 213,213,213,213,213,213,213,213,213,213, 213,213,213,0,0,272,272,213,213,213, 271,213,213,271,271,0,0,271,0,271, 271,271,271,271,271,271,271,271,271,271, 271,271,271,271,271,271,272,272,0,0, 271,271,0,103,271,271,103,0,0,103, 0,0,0,0,0,0,0,0,0,0, 0,0,0,103,103,0,0,0,103,0, 0,0,104,0,0,104,0,0,104,0, 0,0,0,0,0,0,0,0,0,0, 0,0,104,104,0,0,0,104,103,103, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,54,0,0,54,0,0, 0,0,0,0,0,0,0,104,104,103, 103,54,54,0,0,0,54,0,0,0, 0,0,0,55,0,0,55,0,0,0, 0,0,0,0,0,0,0,0,104,104, 55,55,0,0,0,55,54,54,0,272, 0,0,272,272,0,0,272,0,272,272, 272,272,272,272,272,272,272,272,272,272, 272,272,272,272,272,55,55,54,54,272, 272,0,0,272,272,0,209,0,0,209, 0,0,0,0,0,0,0,0,0,0, 0,0,0,209,209,0,55,55,209,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,209,0, 0,0,103,0,0,103,103,0,0,103, 0,103,103,103,103,103,103,103,103,103, 103,103,103,103,103,103,103,103,0,209, 209,104,0,0,104,104,103,103,104,0, 104,104,104,104,104,104,104,104,104,104, 104,104,104,104,104,104,104,0,0,0, 0,0,0,0,0,104,104,0,0,0, 54,0,0,54,54,0,0,54,0,54, 54,54,54,54,54,54,54,54,54,54, 54,54,54,54,54,54,0,0,0,55, 0,0,55,55,54,54,55,0,55,55, 55,55,55,55,55,55,55,55,55,55, 55,55,55,55,55,0,0,0,0,0, 0,0,0,55,55,0,210,0,0,210, 0,0,0,0,0,0,0,0,0,0, 0,0,0,210,210,0,0,0,210,0, 0,0,209,0,0,209,209,0,0,209, 0,209,209,209,209,209,209,209,209,209, 209,209,209,209,209,209,209,209,210,168, 0,0,168,0,0,0,209,209,0,0, 0,0,0,0,0,0,168,168,0,0, 0,168,0,0,0,0,0,0,169,210, 210,169,0,0,0,0,0,0,0,0, 0,0,0,0,0,169,169,0,0,0, 169,168,0,0,0,0,0,170,0,0, 170,0,0,0,0,0,0,0,0,0, 0,0,0,0,170,170,0,0,0,170, 169,0,0,168,171,0,0,171,0,0, 0,0,0,0,0,0,0,0,0,0, 0,171,171,0,0,0,171,0,0,170, 0,71,169,0,71,0,0,0,0,0, 0,0,0,0,0,0,0,0,71,71, 0,0,0,0,0,0,171,477,0,0, 0,170,0,0,0,0,0,0,0,0, 0,0,0,0,476,0,0,0,0,0, 0,0,210,71,0,210,210,0,171,210, 0,210,210,210,210,210,210,210,210,210, 210,210,210,210,210,210,210,210,173,0, 0,0,0,0,0,71,210,210,0,0, 0,0,74,0,0,0,0,0,0,0, 0,0,0,0,0,168,0,0,168,168, 0,0,168,0,168,168,168,168,168,168, 168,168,168,168,168,168,168,168,168,168, 168,0,0,0,169,0,161,169,169,168, 168,169,0,169,169,169,169,169,169,169, 169,169,169,169,169,169,169,169,169,169, 0,0,74,170,0,0,170,170,169,169, 170,161,170,170,170,170,170,170,170,170, 170,170,170,170,170,170,170,170,170,547, 171,0,0,171,171,0,0,171,170,171, 171,171,171,171,171,171,171,171,171,171, 171,171,171,171,171,171,159,71,0,0, 71,71,0,0,71,171,71,71,71,71, 71,71,71,71,71,71,71,71,71,71, 71,71,71,54,187,0,55,56,0,0, 57,159,0,58,59,60,61,62,63,64, 65,66,67,68,69,70,71,72,73,511, 0,0,0,0,0,0,0,0,0,0, 0,0,0,74,0,0,0,0,0,0, 0,54,0,0,55,56,0,0,57,0, 0,58,59,60,61,62,63,64,65,66, 67,68,69,70,71,72,73,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,161,0,0,161,161, 0,0,161,0,0,161,161,161,161,161, 161,161,161,161,161,161,161,161,161,161, 161,54,0,0,55,56,0,0,57,0, 0,58,59,60,61,62,63,64,65,66, 67,68,69,70,71,72,73,0,54,0, 0,55,56,0,0,57,0,0,58,59, 60,61,62,63,64,65,66,67,68,69, 70,71,72,73,0,159,0,0,159,159, 0,0,159,0,0,159,159,159,159,159, 159,159,159,159,159,159,159,159,159,159, 159,0,0,187,0,0,187,187,0,0, 187,0,0,187,187,187,187,187,187,187, 187,187,187,187,187,187,187,187,187,0, 0,0,0,0,0,0,0,0,0,0, 0,0,54,0,0,55,56,0,0,57, 0,0,58,59,60,61,62,63,64,65, 66,67,68,69,70,71,72,73 }; short yycheck[]={49, 0,78,0,133,23,171,78,43,103,45, 63,40,200,42,40,40,194,19,311,61, 0,46,22,40,22,377,326,118,314,29, 40,40,42,40,40,41,20,40,44,42, 24,322,208,40,325,29,58,40,58,42, 40,59,42,44,112,44,123,287,288,310, 40,23,42,43,194,45,91,29,313,19, 264,33,40,123,42,123,41,59,40,59, 258,61,84,133,84,91,125,257,91,22, 59,342,142,44,91,95,46,58,91,344, 100,91,86,44,93,89,59,44,108,40, 108,95,124,40,98,42,40,125,44,119, 215,44,44,91,44,40,40,42,90,224, 41,44,58,133,125,119,40,257,40,44, 42,44,43,125,45,125,266,440,59,315, 245,437,102,59,123,333,214,257,216,236, 91,40,123,42,114,115,59,167,118,171, 123,171,338,361,125,40,91,257,40,345, 42,261,125,233,125,537,125,91,125,91, 257,191,40,41,194,195,44,195,198,249, 257,302,125,125,261,125,208,257,208,171, 40,389,125,213,198,213,311,123,257,44, 125,40,125,123,208,275,91,266,257,91, 123,257,309,324,284,264,198,187,519,292, 44,593,259,91,286,229,208,257,257,299, 257,257,202,289,257,59,242,123,258,389, 258,264,562,58,359,290,257,257,293,435, 123,257,438,302,264,266,302,257,578,59, 213,261,262,59,264,265,266,267,268,257, 41,349,302,370,259,44,302,463,464,302, 125,281,40,283,41,302,61,44,310,302, 59,406,302,315,123,493,296,297,257,299, 257,301,302,373,374,344,456,266,378,266, 257,40,103,333,302,333,338,264,338,389, 342,529,530,345,394,440,332,525,310,264, 281,313,314,315,338,432,125,0,342,130, 432,345,264,134,135,136,137,138,139,140, 141,302,232,40,324,302,338,281,257,22, 342,44,344,345,0,40,372,302,0,389, 41,341,257,44,380,257,59,38,302,261, 302,589,264,40,44,267,268,502,394,257, 22,94,40,41,42,259,44,605,278,59, 280,283,499,302,40,124,42,43,428,45, 58,59,257,435,564,44,438,302,298,301, 302,266,492,59,215,61,41,41,257,44, 59,291,261,224,302,215,456,44,290,291, 284,463,464,91,224,108,326,114,115,123, 456,548,59,435,245,437,438,41,528,463, 464,252,257,58,61,245,536,41,41,439, 44,44,0,493,544,493,108,259,41,44, 486,463,464,44,58,276,492,93,40,125, 42,282,283,75,285,286,287,288,289,290, 291,292,293,294,125,525,125,525,41,100, 580,44,40,257,42,43,40,45,58,0, 311,41,58,403,44,58,40,597,534,535, 257,59,538,61,261,262,40,264,544,59, 267,268,123,37,564,58,41,427,42,44, 213,142,41,47,40,44,283,284,564,40, 142,42,43,58,45,40,59,59,359,58, 450,257,41,41,301,44,44,257,59,359, 61,213,59,41,41,591,177,169,179,41, 41,41,44,473,44,44,41,125,33,44, 191,607,40,38,195,40,397,42,43,257, 45,123,257,261,262,406,264,497,41,267, 268,257,257,58,504,261,262,59,264,265, 266,267,268,41,41,283,44,44,44,41, 520,521,233,41,125,281,44,283,41,440, 41,233,257,301,302,237,91,58,271,41, 296,297,44,299,59,301,302,33,41,41, 41,44,38,44,40,44,42,43,288,45, 261,262,562,264,265,266,267,268,123,41, 125,126,44,59,41,41,41,44,578,44, 41,41,283,44,44,257,41,298,257,261, 41,502,264,93,33,267,268,41,299,38, 301,40,58,42,43,91,45,257,58,257, 41,283,58,261,262,317,264,265,266,267, 268,261,262,40,264,59,284,267,268,301, 302,41,257,281,93,283,59,123,125,125, 126,93,58,283,270,59,59,42,296,297, 59,299,91,301,302,41,257,40,59,42, 261,262,302,264,265,266,267,268,40,93, 40,125,42,43,123,45,59,41,123,59, 281,41,283,125,123,41,125,126,41,59, 59,61,41,41,41,296,297,93,299,93, 301,302,257,258,259,260,261,262,41,264, 265,266,267,268,269,108,271,272,273,274, 275,276,277,278,279,280,281,282,283,284, 285,439,282,530,276,290,529,428,128,288, 295,473,564,298,299,300,301,497,303,329, 40,41,42,285,44,125,427,109,40,191, 42,187,548,309,283,18,289,287,58,59, 286,257,258,259,260,261,262,59,264,265, 266,267,268,269,165,271,272,273,274,275, 276,277,278,279,280,281,282,283,284,285, 125,91,341, -1,290, -1, -1,229, -1,295, - 1, -1,298,299,300,301, -1,303,257,258, 259,260,261,262, -1,264,265,266,267,268, 269, -1,271,272,273,274,275,276,277,278, 279,280,281,282,283,284,285, -1, -1, -1, - 1,290, -1, -1, -1, -1,295, -1,33,298, 299,300,301,38,303,40,261,42,43,264, 45, -1,267,268,257, -1, -1, -1,261,262, - 1,264, -1, -1,267,268, -1,257,283, -1, - 1,261,262,125,264,265,266,267,268, -1, 283, -1, -1, -1, -1,33,301, -1, -1, -1, 38,281,40,283,42,43,91,45,301,302, - 1, -1, -1, -1, -1, -1,296,297, -1,299, - 1,301,302, -1, -1, -1,261, -1, -1,264, - 1,266,267,268, -1, -1, -1, -1,123, -1, 125,126,33, -1, -1, -1, -1,38,283,40, - 1,42,43,91,45, -1, -1,257, -1,294, - 1,261,262, -1,264,257,301,267,268,261, 262, -1,264, -1,261,267,268,264, -1, -1, 267,268, -1,283, -1,123, -1,125,126, -1, - 1,283, -1, -1, -1, -1,283, -1, -1, -1, 91,301,302, -1, -1,40, -1,42, -1,301, 302,33, -1, -1,301, -1,38, -1,40,261, 42,43,264,45,266,267,268, -1, -1, -1, - 1, -1,123, -1,125,126, -1, -1, -1, -1, - 1,283, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,294, -1, -1, -1,91, -1, -1,301, - 1, -1, -1, -1, -1, -1, -1, -1, -1,91, - 1, -1,257,258,259,260,261,262, -1,264, 265,266,267,268,269, -1,271,272,273,274, 275,276,277,278,279,280,281,282,283,284, 285,123, -1,125,126,290, -1, -1, -1, -1, 295, -1, -1,298,299,300,301, -1,303,257, 258,259,260,261,262, -1,264,265,266,267, 268,269, -1,271,272,273,274,275,276,277, 278,279,280,281,282,283,284,285, -1, -1, - 1, -1,290, -1, -1, -1, -1,295, -1, -1, 298,299,300,301, -1,303,257,258,259,260, 261,262, -1,264,265,266,267,268,269, -1, 271,272,273,274,275,276,277,278,279,280, 281,282,283,284,285, -1, -1, -1, -1,290, - 1, -1, -1, -1,295, -1,33,298,299,300, 301,38,303,40, -1,42,43, -1,45, -1, - 1, -1, -1, -1, -1, -1,261, -1, -1,264, - 1, -1,267,268, -1,257,258,259,260,261, 262, -1,264,265,266,267,268,269,283,271, 272,273,274,275,276,277,278,279,280,281, 282,283,284,285,91, -1,301,302,290, -1, - 1, -1, -1,295, -1,33,298,299,300,301, 38,303,40,261,42,43,264,45,266,267, 268, -1, -1,257, -1, -1,123,261,262,126, 264, -1, -1,267,268,283,261, -1, -1,264, - 1,266,267,268, -1, -1,294, -1, -1,283, - 1, -1,33,301, -1, -1, -1,38,283,40, - 1,42,43,91,45,261,262,301,264,294, - 1,267,268, -1, -1, -1,301, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1,283,284, -1, - 1, -1, -1, -1, -1,123, -1,125,126,33, - 1, -1, -1, -1,38,301,40, -1,42,43, 91,45,257, -1, -1,260,261, -1, -1,264, - 1, -1,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282, -1, -1, - 1, -1,123, -1,125,126, -1, -1, -1, -1, - 1, -1, -1, -1, -1,40, -1,91, -1, -1, 257,258,259,260,261,262, -1,264,265,266, 267,268,269,58,271,272,273,274,275,276, 277,278,279,280,281,282,283,284,285,123, - 1,125,126,290, -1, -1, -1, -1,295, -1, - 1,298,299,300,301, -1,303, -1,40,41, 42, -1,44,33, -1, -1, -1, -1,38, -1, 40, -1,42,43, -1,45,58,59, -1,257, 258,259,260, -1, -1, -1, -1, -1,266,59, - 1,269, -1,271,272,273,274,275,276,277, 278,279,280,281,282, -1,284,285, -1,91, - 1, -1,290, -1, -1, -1, -1,295, -1, -1, 298,91,300,301, -1,303,257,258,259,260, - 1, -1, -1, -1, -1,266, -1, -1,269, -1, 271,272,273,274,275,276,277,278,279,280, 281,282, -1,284,285, -1,126, -1, -1,290, - 1, -1, -1, -1,295, -1, -1,298, -1,300, 301, -1,303,257,258,259,260, -1, -1, -1, - 1, -1,266, -1, -1,269, -1,271,272,273, 274,275,276,277,278,279,280,281,282, -1, 284,285, -1,33, -1, -1,290, -1,38, -1, 40,295,42,43,298,45,300,301, -1,303, - 1, -1,257, -1, -1,260,261, -1, -1,264, - 1, -1,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282, -1, -1, 33, -1, -1, -1, -1,38, -1,40, -1,42, 43,91,45, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1,257, -1, -1, -1,261, 262, -1,264, -1, -1,267,268,257,258,259, 260, -1, -1,123, -1,125,126,33, -1, -1, - 1,283,38, -1,40, -1,42,43,91,45, - 1, -1,282, -1,284, -1, -1, -1, -1,301, 290, -1, -1, -1, -1,295, -1, -1,298, -1, 300,301, -1,303, -1, -1, -1, -1, -1, -1, 123, -1,125,126,33, -1, -1, -1, -1,38, - 1,40, -1,42,43,91,45, -1, -1, -1, - 1, -1, -1, -1,40,41,42, -1,44, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,58,59, -1, -1, -1,123, -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,91, -1, -1, -1, -1, -1, -1, -1, - 1,33, -1, -1, -1,91,38, -1,40, -1, 42,43, -1,45, -1, -1, -1,257,258,259, 260, -1, -1, -1,123, -1,266,126, -1,269, - 1,271,272,273,274,275,276,277,278,279, 280,281,282, -1,284,285, -1, -1, -1, -1, 290, -1, -1, -1, -1,295, -1, -1,298,91, 300,301, -1,303,257,258,259,260, -1, -1, - 1, -1, -1,266, -1, -1,269, -1,271,272, 273,274,275,276,277,278,279,280,281,282, - 1,284,285, -1,126, -1, -1,290, -1, -1, - 1, -1,295, -1, -1,298, -1,300,301, -1, 303,257,258,259,260, -1, -1, -1, -1, -1, 266, -1, -1,269, -1,271,272,273,274,275, 276,277,278,279,280,281,282, -1,284,285, - 1, -1, -1, -1,290, -1, -1, -1, -1,295, - 1, -1,298, -1,300,301, -1,303,257,258, 259,260,261, -1, -1,264, -1, -1,267,268, - 1,257, -1, -1, -1,261,262, -1,264, -1, - 1,267,268,282,283,284, -1, -1, -1, -1, - 1,290, -1, -1, -1, -1,295,283,33,298, - 1,300,301,38,303,40, -1,42,43, -1, 45,46, -1, -1, -1,301,302, -1, -1, -1, - 1, -1, -1, -1, -1,257,258,259,260,261, - 1, -1,264, -1, -1,267,268, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 282,283,284, -1, -1, -1,91, -1,290, -1, - 1, -1, -1,295, -1,33,298, -1,300,301, 38,303,40, -1,42,43, -1,45,46, -1, - 1, -1, -1, -1, -1, -1, -1, -1,123, -1, 125,126, -1,33, -1, -1, -1, -1,38, -1, 40, -1,42,43, -1,45,46, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1,33, -1,91, -1, -1,38, -1,40, -1, 42,43, -1,45, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1,58, -1, -1, -1, - 1,91, -1, -1, -1,123, -1,125,126, -1, - 1, -1, -1, -1, -1, -1, -1, -1,33, -1, - 1, -1, -1,38, -1,40, -1,42,43,91, 45, -1, -1,123, -1, -1,126, -1,33, -1, - 1, -1, -1,38, -1,40, -1,42,43,40, 45,42, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,126, -1, -1,58,59, -1, - 1, -1,257,258,259,260,91, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1,91,282,40,284, 42,43, -1,45, -1,290, -1, -1,123, -1, 295,126, -1,298, -1,300,301,59,303,61, - 1, -1, -1, -1, -1, -1, -1, -1,123, -1, - 1,126, -1, -1, -1, -1, -1, -1, -1,257, 258,259,260, -1,33, -1, -1, -1, -1,38, - 1,40, -1,42,43, -1,45, -1,41, -1, - 1,44, -1, -1,282, -1,284,257,258,259, 260, -1,290, -1, -1,58,59,295,61, -1, 298, -1,300,301, -1,303, -1, -1, -1, -1, - 1, -1,282, -1,284,257,258,259,260, -1, 290, -1,91, -1, -1,295, -1, -1,298, -1, 300,301, -1,303,33, -1, -1, -1, -1,38, 282,40,284,42,43, -1,45, -1,290,40, - 1,42,43,295,45, -1,298,126,300,301, 123,303,257,258,259,260, -1, -1,59, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,257,258,259,260,257,282, -1,284, 261, -1,91,264, -1,290,267,268, -1,41, 295, -1,44,298, -1,300,301,282,303,284, - 1, -1,283, -1, -1,290,58,59, -1,61, 295, -1, -1,298, -1,300,301,126,303, -1, 301,302,44, -1, -1,257, -1, -1, -1,261, 262, -1,264,265,266,267,268,59, -1,61, - 1, -1, -1, -1, -1, -1, -1, -1, -1,281, - 1,283, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,296,297, -1,299, -1,301, 302,123, -1, -1, -1, -1, -1, -1,257,258, 259,260, -1, -1, -1, -1, -1, -1,261,262, - 1,264,265,266,267,268, -1, -1, -1, -1, - 1,123, -1,282, -1,284, -1, -1, -1, -1, 283,290, -1, -1, -1, -1,295, -1, -1,298, - 1,300,301, -1,303, -1,299, -1,301, -1, - 1,37,38, -1,40,41,42,43,44,45, 46,47, -1, -1, -1, -1, -1, -1,257,258, 259,260,58,59, -1,61,257,63, -1, -1, 261,262, -1,264,265,266,267,268, -1, -1, - 1, -1, -1,282, -1,284, -1, -1, -1, -1, 281,290,283, -1, -1,91,295,93,94,298, - 1,300,301, -1,303,296,297, -1,299, -1, 301,302, -1, -1, -1, -1, -1, -1, -1,261, 262, -1,264,265,266,267,268, -1,124,125, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1,283, -1, -1, -1, -1, -1, -1, -1,261, 262, -1,264,265,266,267,268,299, -1,301, 37,38, -1,40, -1,42,43,44,45,46, 47,283, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,59, -1,61, -1,63,299, -1,301, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,38, -1, -1,41,42,43,44,45, -1, 47, -1, -1, -1,91, -1, -1,94, -1, -1, - 1,58,59, -1,61, -1,63, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1,124,125, -1, - 1, -1, -1, -1, -1, -1,93,94, -1, -1, - 1,257, -1, -1,260,261, -1, -1,264, -1, 266,267,268,269,270,271,272,273,274,275, 276,277,278,279,280,281,282,124,125, -1, 286,287,288,289,290,291,292,293,37,38, - 1, -1,41,42,43,44,45, -1,47, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1,58, 59, -1, -1, -1,63, -1, -1, -1, -1, -1, - 1, -1,38, -1, -1,41, -1,43,44,45, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,58,59,93,94, -1,63, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,41, -1,43,44,45, -1, -1, - 1, -1, -1, -1, -1,124,125,93,94, -1, 58,59, -1, -1, -1,63, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1,286, 287,288,289,290,291,292,293, -1,124,125, 257, -1, -1,260,261,93,94,264, -1,266, 267,268,269,270,271,272,273,274,275,276, 277,278,279,280,281,282, -1, -1, -1,286, 287,288,289, -1,291,292,124,125,38, -1, - 1,41, -1,43,44,45, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1,58,59, - 1, -1, -1,63, -1, -1, -1, -1, -1, -1, - 1,38, -1, -1,41, -1, -1,44, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1,58,59,93,94, -1,63, -1,257, -1, - 1,260,261, -1, -1,264, -1, -1,267,268, 269,270,271,272,273,274,275,276,277,278, 279,280,281,282,124,125,93,94,287,288, 289,257,291,292,260,261, -1, -1,264, -1, 266,267,268,269,270,271,272,273,274,275, 276,277,278,279,280,281,282,124,125, -1, - 1,287,288,289, -1,291,292, -1, -1,257, - 1, -1,260,261, -1, -1,264, -1,266,267, 268,269,270,271,272,273,274,275,276,277, 278,279,280,281,282, -1, -1, -1, -1,287, 288,289, -1,291,292, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1,41, -1, -1,44, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,59, -1, -1, -1,63, -1,257, -1, -1, 260,261, -1, -1,264, -1,266,267,268,269, 270,271,272,273,274,275,276,277,278,279, 280,281,282, -1, -1,93,94,287,288,289, 257,291,292,260,261, -1, -1,264, -1,266, 267,268,269,270,271,272,273,274,275,276, 277,278,279,280,281,282,124,125, -1, -1, 287,288, -1,38,291,292,41, -1, -1,44, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1,58,59, -1, -1, -1,63, -1, - 1, -1,38, -1, -1,41, -1, -1,44, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,58,59, -1, -1, -1,63,93,94, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,41, -1, -1,44, -1, -1, - 1, -1, -1, -1, -1, -1, -1,93,94,124, 125,58,59, -1, -1, -1,63, -1, -1, -1, - 1, -1, -1,41, -1, -1,44, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1,124,125, 58,59, -1, -1, -1,63,93,94, -1,257, - 1, -1,260,261, -1, -1,264, -1,266,267, 268,269,270,271,272,273,274,275,276,277, 278,279,280,281,282,93,94,124,125,287, 288, -1, -1,291,292, -1,41, -1, -1,44, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1,58,59, -1,124,125,63, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1,93, -1, - 1, -1,257, -1, -1,260,261, -1, -1,264, - 1,266,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282, -1,124, 125,257, -1, -1,260,261,291,292,264, -1, 266,267,268,269,270,271,272,273,274,275, 276,277,278,279,280,281,282, -1, -1, -1, - 1, -1, -1, -1, -1,291,292, -1, -1, -1, 257, -1, -1,260,261, -1, -1,264, -1,266, 267,268,269,270,271,272,273,274,275,276, 277,278,279,280,281,282, -1, -1, -1,257, - 1, -1,260,261,291,292,264, -1,266,267, 268,269,270,271,272,273,274,275,276,277, 278,279,280,281,282, -1, -1, -1, -1, -1, - 1, -1, -1,291,292, -1,41, -1, -1,44, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1,58,59, -1, -1, -1,63, -1, - 1, -1,257, -1, -1,260,261, -1, -1,264, - 1,266,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282,93,41, - 1, -1,44, -1, -1, -1,291,292, -1, -1, - 1, -1, -1, -1, -1, -1,58,59, -1, -1, - 1,63, -1, -1, -1, -1, -1, -1,41,124, 125,44, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1,58,59, -1, -1, -1, 63,93, -1, -1, -1, -1, -1,41, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,58,59, -1, -1, -1,63, 93, -1, -1,125,41, -1, -1,44, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1,58,59, -1, -1, -1,63, -1, -1,93, - 1,41,125, -1,44, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1,58,59, - 1, -1, -1, -1, -1, -1,93,41, -1, -1, - 1,125, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,58, -1, -1, -1, -1, -1, - 1, -1,257,93, -1,260,261, -1,125,264, - 1,266,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282,44, -1, - 1, -1, -1, -1, -1,125,291,292, -1, -1, - 1, -1,58, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1,257, -1, -1,260,261, - 1, -1,264, -1,266,267,268,269,270,271, 272,273,274,275,276,277,278,279,280,281, 282, -1, -1, -1,257, -1,58,260,261,291, 292,264, -1,266,267,268,269,270,271,272, 273,274,275,276,277,278,279,280,281,282, - 1, -1,58,257, -1, -1,260,261,291,292, 264,93,266,267,268,269,270,271,272,273, 274,275,276,277,278,279,280,281,282,58, 257, -1, -1,260,261, -1, -1,264,292,266, 267,268,269,270,271,272,273,274,275,276, 277,278,279,280,281,282,58,257, -1, -1, 260,261, -1, -1,264,292,266,267,268,269, 270,271,272,273,274,275,276,277,278,279, 280,281,282,257,58, -1,260,261, -1, -1, 264,93, -1,267,268,269,270,271,272,273, 274,275,276,277,278,279,280,281,282,44, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1,58, -1, -1, -1, -1, -1, -1, - 1,257, -1, -1,260,261, -1, -1,264, -1, - 1,267,268,269,270,271,272,273,274,275, 276,277,278,279,280,281,282, -1, -1, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1,257, -1, -1,260,261, - 1, -1,264, -1, -1,267,268,269,270,271, 272,273,274,275,276,277,278,279,280,281, 282,257, -1, -1,260,261, -1, -1,264, -1, - 1,267,268,269,270,271,272,273,274,275, 276,277,278,279,280,281,282, -1,257, -1, - 1,260,261, -1, -1,264, -1, -1,267,268, 269,270,271,272,273,274,275,276,277,278, 279,280,281,282, -1,257, -1, -1,260,261, - 1, -1,264, -1, -1,267,268,269,270,271, 272,273,274,275,276,277,278,279,280,281, 282, -1, -1,257, -1, -1,260,261, -1, -1, 264, -1, -1,267,268,269,270,271,272,273, 274,275,276,277,278,279,280,281,282, -1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,257, -1, -1,260,261, -1, -1,264, - 1, -1,267,268,269,270,271,272,273,274, 275,276,277,278,279,280,281,282 }; # 1671 "y.tab.c" int yydebug; int yynerrs; int yyerrflag; int yychar; short*yyssp; id*yyvsp; id yyval; id yylval; short yyss[500]; id yyvs[500]; # 1689 "y.tab.c" int yyparse() { register int yym,yyn,yystate; # 1705 "y.tab.c" yynerrs=0; yyerrflag=0; yychar=( -1); yyssp=yyss; yyvsp=yyvs; * yyssp=yystate=0; yyloop: if(yyn=yydefred[yystate])goto yyreduce; if(yychar<0) { if((yychar=yylex())<0)yychar=0; # 1728 "y.tab.c" } if((yyn=yysindex[yystate])&&(yyn+=yychar)>=0&& yyn<=4478&&yycheck[yyn]==yychar) { # 1737 "y.tab.c" if(yyssp>=yyss+500-1) { goto yyoverflow; } * ++ yyssp=yystate=yytable[yyn]; * ++ yyvsp=yylval; yychar=( -1); if(yyerrflag>0) --yyerrflag; goto yyloop; } if((yyn=yyrindex[yystate])&&(yyn+=yychar)>=0&& yyn<=4478&&yycheck[yyn]==yychar) { yyn=yytable[yyn]; goto yyreduce; } if(yyerrflag)goto yyinrecovery; # 1757 "y.tab.c" yynewerror: yyerror("syntax error"); # 1762 "y.tab.c" yyerrlab: ++ yynerrs; yyinrecovery: if(yyerrflag<3) { yyerrflag=3; for(;;) { if((yyn=yysindex[ *yyssp])&&(yyn+=256)>=0&& yyn<=4478&&yycheck[yyn]==256) { # 1778 "y.tab.c" if(yyssp>=yyss+500-1) { goto yyoverflow; } * ++ yyssp=yystate=yytable[yyn]; * ++ yyvsp=yylval; goto yyloop; } else { # 1793 "y.tab.c" if(yyssp<=yyss)goto yyabort; -- yyssp; -- yyvsp; } } } else { if(yychar==0)goto yyabort; # 1812 "y.tab.c" yychar=( -1); goto yyloop; } yyreduce: # 1821 "y.tab.c" yym=yylen[yyn]; yyval=yyvsp[1-yym]; switch(yyn) { case 1: # 99 "yacc.ym" {yyval=yyvsp[0];} break; case 2: # 101 "yacc.ym" {yyval=yyvsp[0];} break; case 3: # 103 "yacc.ym" {yyval=mkstardecl(yyvsp[ -1],yyvsp[0]);} break; case 4: # 105 "yacc.ym" {yyval=mkprefixdecl(yyvsp[ -1],yyvsp[0]);} break; case 5: # 107 "yacc.ym" {yyval=mkstardecl(yyvsp[ -2],mkprefixdecl(yyvsp[ -1],yyvsp[0]));} break; case 6: # 111 "yacc.ym" {yyval=yyvsp[0];} break; case 7: # 113 "yacc.ym" {yyval=mkprecdecl(yyvsp[ -1],yyvsp[0]);} break; case 8: # 117 "yacc.ym" {yyval=mkprecdecl((id)0,yyvsp[ -1]);} break; case 9: # 119 "yacc.ym" {yyval=mkarraydecl((id)0,yyvsp[ -1]);} break; case 10: # 121 "yacc.ym" {yyval=mkarraydecl(yyvsp[ -3],yyvsp[ -1]);} break; case 11: # 123 "yacc.ym" {yyval=mkfundecl(yyvsp[ -3],yyvsp[ -1]);} break; case 12: # 125 "yacc.ym" {yyval=mkpostfixdecl(yyvsp[ -1],yyvsp[0]);} break; case 13: # 127 "yacc.ym" {yyval=mkpostfixdecl(yyvsp[ -1],yyvsp[0]);} break; case 14: # 131 "yacc.ym" {yyval=yyvsp[0];} break; case 15: # 133 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"&",yyvsp[0]);} break; case 19: # 137 "yacc.ym" {yyval=yyvsp[0];} break; case 20: # 141 "yacc.ym" {yyval=mkbuiltincall(yyvsp[ -3],mklist((id)0,mkconstexpr((id)0,yyvsp[ -1])));} break; case 21: # 145 "yacc.ym" {yyval=(id)0;} break; case 22: # 147 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 23: # 149 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 24: # 153 "yacc.ym" {yyval=mkasmop(yyvsp[ -3],yyvsp[ -1]);} break; case 25: # 157 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 26: # 159 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 27: # 163 "yacc.ym" {yyval=yyvsp[0];} break; case 28: # 165 "yacc.ym" { id objcT0; # 165 "yacc.ym" yyval=mkassignexpr(yyvsp[ -2],(objcT0=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT0,selTransTbl[0]))(objcT0,selTransTbl[0])),yyvsp[0]);} break; case 29: # 167 "yacc.ym" {okblock=1;} break; case 30: # 169 "yacc.ym" {okblock=0;yyval=mkassignexpr(yyvsp[ -3],"=",yyvsp[0]);} break; case 31: # 173 "yacc.ym" {yyval=yyvsp[0];} break; case 32: # 175 "yacc.ym" {yyval=(id)0;} break; case 33: # 179 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 34: # 181 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 35: # 185 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -1],(id)0,(id)0,(id)0,(id)0,yyvsp[0]);} break; case 36: # 187 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -4],yyvsp[ -3],(id)0,(id)0,yyvsp[ -1],yyvsp[0]);} break; case 37: # 189 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -4],yyvsp[ -3],(id)0,yyvsp[ -1],(id)0,yyvsp[0]);} break; case 38: # 191 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -5],yyvsp[ -4],(id)0,yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 39: # 193 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -4],yyvsp[ -3],yyvsp[ -1],(id)0,(id)0,yyvsp[0]);} break; case 40: # 195 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -5],yyvsp[ -4],yyvsp[ -2],yyvsp[ -1],(id)0,yyvsp[0]);} break; case 41: # 197 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -6],yyvsp[ -5],yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 42: # 199 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -2],(id)0,(id)0,(id)0,yyvsp[ -1],yyvsp[0]);} break; case 43: # 201 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -2],(id)0,(id)0,yyvsp[ -1],(id)0,yyvsp[0]);} break; case 44: # 203 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -3],(id)0,(id)0,yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 45: # 205 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -2],(id)0,yyvsp[ -1],(id)0,(id)0,yyvsp[0]);} break; case 46: # 207 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -3],(id)0,yyvsp[ -2],yyvsp[ -1],(id)0,yyvsp[0]);} break; case 47: # 209 "yacc.ym" {yyval=mkblockexpr(yyvsp[ -4],(id)0,yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 48: # 213 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 49: # 215 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 50: # 219 "yacc.ym" {yyval=yyvsp[0];} break; case 51: # 221 "yacc.ym" {yyval=yyvsp[0];} break; case 52: # 225 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 53: # 227 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 54: # 231 "yacc.ym" {yyval=yyvsp[0];} break; case 55: # 233 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"^",yyvsp[0]);} break; case 56: # 237 "yacc.ym" {yyval=yyvsp[0];} break; case 57: # 239 "yacc.ym" {yyval=mkcastexpr(yyvsp[ -2],yyvsp[0]);} break; case 58: # 241 "yacc.ym" {yyval=mkcastexpr(yyvsp[ -4],mklistexpr(yyvsp[ -2],yyvsp[ -1],yyvsp[0]));} break; case 59: # 243 "yacc.ym" {yyval=mkcastexpr(yyvsp[ -5],mklistexpr(yyvsp[ -3],yyvsp[ -2],yyvsp[0]));} break; case 60: # 247 "yacc.ym" {yyval=mkclassdef(yyvsp[ -2],yyvsp[ -1],(id)0,yyvsp[0],(id)0);} break; case 61: # 249 "yacc.ym" {yyval=mkclassdef(yyvsp[ -4],yyvsp[ -3],(id)0,yyvsp[ -2],yyvsp[0]);} break; case 62: # 251 "yacc.ym" {yyval=mkclassdef(yyvsp[ -1],yyvsp[0],(id)0,(id)0,(id)0);} break; case 63: # 253 "yacc.ym" {yyval=mkclassdef(yyvsp[ -3],yyvsp[ -2],yyvsp[0],(id)0,(id)0);} break; case 64: # 255 "yacc.ym" {yyval=mkclassdef(yyvsp[ -4],yyvsp[ -3],yyvsp[ -1],yyvsp[0],(id)0);} break; case 65: # 257 "yacc.ym" {yyval=mkclassdef(yyvsp[ -6],yyvsp[ -5],yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 66: # 261 "yacc.ym" {yyval=mkcompstmt(yyvsp[ -1],(id)0,(id)0,(id)0,yyvsp[0]);} break; case 67: # 263 "yacc.ym" {yyval=mkcompstmt(yyvsp[ -2],(id)0,yyvsp[ -1],(id)0,yyvsp[0]);} break; case 68: # 265 "yacc.ym" {yyval=mkcompstmt(yyvsp[ -2],yyvsp[ -1],(id)0,(id)0,yyvsp[0]);} break; case 69: # 267 "yacc.ym" {yyval=mkcompstmt(yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],(id)0,yyvsp[0]);} break; case 70: # 269 "yacc.ym" {yyval=mkcompstmt(yyvsp[ -4],yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 71: # 273 "yacc.ym" {yyval=yyvsp[0];} break; case 72: # 275 "yacc.ym" {yyval=mkcondexpr(yyvsp[ -4],yyvsp[ -2],yyvsp[0]);} break; case 73: # 277 "yacc.ym" {yyval=mkcondexpr(yyvsp[ -3],(id)0,yyvsp[0]);} break; case 74: # 281 "yacc.ym" {yyval=yyvsp[0];} break; case 75: # 285 "yacc.ym" {yyval=mkdatadef((id)0,yyvsp[ -1],(id)0,(id)0);} break; case 76: # 287 "yacc.ym" {yyval=yyvsp[ -1];} break; case 77: # 289 "yacc.ym" {yyval=yyvsp[0];} break; case 78: # 291 "yacc.ym" {yyval=yyvsp[0];} break; case 79: # 295 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 80: # 297 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 81: # 301 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 82: # 303 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 83: # 305 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 84: # 307 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 85: # 309 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[ -1]);yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 86: # 311 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 87: # 315 "yacc.ym" {datadefokblock((id)0,yyvsp[ -1],yyvsp[0]);} break; case 88: # 317 "yacc.ym" {okblock=0;yyval=mkdatadef((id)0,yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 89: # 319 "yacc.ym" {datadefokblock(yyvsp[ -2],(id)0,yyvsp[0]);} break; case 90: # 321 "yacc.ym" {okblock=0;yyval=mkdatadef(yyvsp[ -4],(id)0,yyvsp[ -2],yyvsp[0]);} break; case 91: # 325 "yacc.ym" {yyval=yyvsp[0];} break; case 92: # 327 "yacc.ym" {yyval=mkstardecl(yyvsp[ -1],yyvsp[0]);} break; case 93: # 329 "yacc.ym" {yyval=mkprefixdecl(yyvsp[ -1],yyvsp[0]);} break; case 94: # 331 "yacc.ym" {yyval=mkstardecl(yyvsp[ -2],mkprefixdecl(yyvsp[ -1],yyvsp[0]));} break; case 95: # 335 "yacc.ym" {yyval=mkdecl(yyvsp[0]);} break; case 96: # 337 "yacc.ym" {yyval=mkprecdecl((id)0,yyvsp[ -1]);} break; case 97: # 339 "yacc.ym" {yyval=mkprecdecl(yyvsp[ -2],yyvsp[ -1]);} break; case 98: # 341 "yacc.ym" {yyval=mkarraydecl(yyvsp[ -3],yyvsp[ -1]);} break; case 99: # 343 "yacc.ym" {yyval=mkfundecl(yyvsp[ -3],yyvsp[ -1]);} break; case 100: # 345 "yacc.ym" {yyval=mkpostfixdecl(yyvsp[ -1],yyvsp[0]);} break; case 101: # 347 "yacc.ym" {yyval=mkpostfixdecl(yyvsp[ -1],yyvsp[0]);} break; case 102: # 351 "yacc.ym" {yyval=mkencodeexpr(yyvsp[ -1]);} break; case 103: # 355 "yacc.ym" {yyval=yyvsp[0];} break; case 104: # 357 "yacc.ym" { id objcT1; # 357 "yacc.ym" yyval=mkrelexpr(yyvsp[ -2],(objcT1=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT1,selTransTbl[0]))(objcT1,selTransTbl[0])),yyvsp[0]);} break; case 105: # 361 "yacc.ym" {yyval=mkenumspec(yyvsp[ -4],yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 106: # 363 "yacc.ym" {yyval=mkenumspec(yyvsp[ -5],yyvsp[ -4],yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 107: # 365 "yacc.ym" {yyval=mkenumspec(yyvsp[ -3],(id)0,yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 108: # 367 "yacc.ym" {yyval=mkenumspec(yyvsp[ -4],(id)0,yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 109: # 369 "yacc.ym" {yyval=mkenumspec(yyvsp[ -1],yyvsp[0],(id)0,(id)0,(id)0);} break; case 110: # 373 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 111: # 375 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 112: # 377 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 113: # 381 "yacc.ym" {yyval=mkenumerator(yyvsp[0],(id)0);} break; case 114: # 383 "yacc.ym" {yyval=mkenumerator(yyvsp[ -2],yyvsp[0]);} break; case 115: # 385 "yacc.ym" {yyval=yyvsp[0];} break; case 116: # 389 "yacc.ym" {yyval=yyvsp[0];} break; case 117: # 391 "yacc.ym" {yyval=mkcommaexpr(yyvsp[ -2],yyvsp[0]);} break; case 118: # 395 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 119: # 397 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 120: # 401 "yacc.ym" {yyval=yyvsp[0];} break; case 121: # 403 "yacc.ym" {yyval=yyvsp[0];} break; case 122: # 405 "yacc.ym" {yyval=yyvsp[0];} break; case 123: # 407 "yacc.ym" {yyval=yyvsp[0];} break; case 124: # 409 "yacc.ym" {yyval=(id)0;finclassdef();} break; case 125: # 411 "yacc.ym" {gc(';');yyval=(id)0;} break; case 126: # 413 "yacc.ym" {yyval=yyvsp[0];} break; case 127: # 415 "yacc.ym" {yyval=(id)0;} break; case 128: # 419 "yacc.ym" { id objcT2,objcT3,objcT4; # 419 "yacc.ym" (objcT2=yyvsp[ -2],(*_imp(objcT2,selTransTbl[1]))(objcT2,selTransTbl[1]));(objcT3=yyvsp[ -1],(*_imp(objcT3,selTransTbl[1]))(objcT3,selTransTbl[1]));(objcT4=yyvsp[0],(*_imp(objcT4,selTransTbl[1]))(objcT4,selTransTbl[1]));} break; case 129: # 421 "yacc.ym" { id objcT5,objcT6; # 421 "yacc.ym" (objcT5=yyvsp[ -1],(*_imp(objcT5,selTransTbl[1]))(objcT5,selTransTbl[1]));(objcT6=yyvsp[0],(*_imp(objcT6,selTransTbl[1]))(objcT6,selTransTbl[1]));} break; case 130: # 423 "yacc.ym" { id objcT7; # 423 "yacc.ym" (objcT7=yyvsp[0],(*_imp(objcT7,selTransTbl[1]))(objcT7,selTransTbl[1]));} break; case 131: # 428 "yacc.ym" {yyval=mkfunbody((id)0,yyvsp[0]);} break; case 132: # 430 "yacc.ym" {yyval=mkfunbody(yyvsp[ -1],yyvsp[0]);} break; case 133: # 434 "yacc.ym" {declarefun((id)0,yyvsp[0]);} break; case 134: # 436 "yacc.ym" {yyval=mkfundef((id)0,yyvsp[ -2],yyvsp[0]);} break; case 135: # 438 "yacc.ym" {declarefun(yyvsp[ -1],yyvsp[0]);} break; case 136: # 440 "yacc.ym" {yyval=mkfundef(yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 137: # 446 "yacc.ym" {yyval=mkasmstmt(yyvsp[ -5],yyvsp[ -4],yyvsp[ -2],(id)0,(id)0,(id)0);} break; case 138: # 448 "yacc.ym" {yyval=mkasmstmt(yyvsp[ -7],yyvsp[ -6],yyvsp[ -4],yyvsp[ -2],(id)0,(id)0);} break; case 139: # 450 "yacc.ym" {yyval=mkasmstmt(yyvsp[ -9],yyvsp[ -8],yyvsp[ -6],yyvsp[ -4],yyvsp[ -2],(id)0);} break; case 140: # 452 "yacc.ym" {yyval=mkasmstmt(yyvsp[ -11],yyvsp[ -10],yyvsp[ -8],yyvsp[ -6],yyvsp[ -4],yyvsp[ -2]);} break; case 141: # 456 "yacc.ym" {yyval=mkgnuattribdecl(yyvsp[ -5],yyvsp[ -2]);} break; case 142: # 459 "yacc.ym" {yyval=mkgnuattrib((id)0,(id)0);} break; case 143: # 461 "yacc.ym" {yyval=mkgnuattrib(yyvsp[0],(id)0);} break; case 144: # 463 "yacc.ym" {yyval=mkgnuattrib(yyvsp[ -3],yyvsp[ -1]);} break; case 145: # 467 "yacc.ym" {yyval=yyvsp[0];} break; case 146: # 469 "yacc.ym" {yyval=mklabeledstmt(yyvsp[ -2],yyvsp[0]);} break; case 147: # 471 "yacc.ym" {yyval=mklabeledstmt(yyvsp[ -1],yyvsp[0]);} break; case 148: # 473 "yacc.ym" {yyval=mklistexpr(yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 149: # 475 "yacc.ym" {yyval=mklistexpr(yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 150: # 479 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 151: # 481 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 152: # 485 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 153: # 487 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 154: # 491 "yacc.ym" {yyval=(id)0;} break; case 155: # 493 "yacc.ym" {yyval=yyvsp[ -1];} break; case 156: # 497 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 157: # 499 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 158: # 502 "yacc.ym" {okblock=1;} break; case 159: # 503 "yacc.ym" {okblock=0;yyval=mkkeywarg(yyvsp[ -3],yyvsp[0]);} break; case 160: # 504 "yacc.ym" {okblock=1;} break; case 161: # 505 "yacc.ym" {okblock=0;yyval=mkkeywarg((id)0,yyvsp[0]);} break; case 162: # 509 "yacc.ym" {yyval=mkkeywdecl(yyvsp[ -2],(id)0,yyvsp[0]);} break; case 163: # 511 "yacc.ym" {yyval=mkkeywdecl(yyvsp[ -5],yyvsp[ -2],yyvsp[0]);} break; case 164: # 513 "yacc.ym" {yyval=mkkeywdecl((id)0,(id)0,yyvsp[0]);} break; case 165: # 515 "yacc.ym" {yyval=mkkeywdecl((id)0,yyvsp[ -2],yyvsp[0]);} break; case 166: # 519 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 167: # 521 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 168: # 525 "yacc.ym" {yyval=yyvsp[0];} break; case 169: # 527 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"&&",yyvsp[0]);} break; case 170: # 531 "yacc.ym" {yyval=yyvsp[0];} break; case 171: # 533 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"||",yyvsp[0]);} break; case 172: # 537 "yacc.ym" {yyval=(id)0;declaremeth((BOOL)1,yyvsp[ -1]);} break; case 173: # 539 "yacc.ym" {yyval=(id)0;declaremeth((BOOL)0,yyvsp[ -1]);} break; case 174: # 541 "yacc.ym" {declaremeth((BOOL)1,yyvsp[0]);} break; case 175: # 543 "yacc.ym" {yyval=mkmethdef((BOOL)1,yyvsp[ -2],yyvsp[0]);} break; case 176: # 545 "yacc.ym" {declaremeth((BOOL)0,yyvsp[0]);} break; case 177: # 547 "yacc.ym" {yyval=mkmethdef((BOOL)0,yyvsp[ -2],yyvsp[0]);} break; case 178: # 551 "yacc.ym" {yyval=mkmethproto(yyvsp[ -2],yyvsp[0],(id)0,(BOOL)0);} break; case 179: # 553 "yacc.ym" {yyval=mkmethproto(yyvsp[ -2],(id)0,yyvsp[0],(BOOL)0);} break; case 180: # 555 "yacc.ym" {yyval=mkmethproto(yyvsp[ -4],(id)0,yyvsp[ -2],(BOOL)1);} break; case 181: # 557 "yacc.ym" {yyval=mkmethproto((id)0,yyvsp[0],(id)0,(BOOL)0);} break; case 182: # 559 "yacc.ym" {yyval=mkmethproto((id)0,(id)0,yyvsp[0],(BOOL)0);} break; case 183: # 561 "yacc.ym" {yyval=mkmethproto((id)0,(id)0,yyvsp[ -2],(BOOL)1);} break; case 184: # 565 "yacc.ym" {yyval=mkmethproto((id)0,yyvsp[0],(id)0,(BOOL)0);} break; case 185: # 567 "yacc.ym" {yyval=mkmethproto((id)0,(id)0,yyvsp[0],(BOOL)0);} break; case 186: # 570 "yacc.ym" {okblock=1;} break; case 187: # 570 "yacc.ym" {okblock=0;} break; case 188: # 571 "yacc.ym" {yyval=mkmesgexpr(yyvsp[ -3],yyvsp[ -1]);} break; case 189: # 575 "yacc.ym" {yyval=mkcompstmt((id)0,yyvsp[0],(id)0,(id)0,(id)0);} break; case 190: # 577 "yacc.ym" {yyval=mkcompstmt((id)0,yyvsp[ -1],yyvsp[0],(id)0,(id)0);} break; case 191: # 579 "yacc.ym" {yyval=mkcompstmt((id)0,yyvsp[ -2],yyvsp[ -1],yyvsp[0],(id)0);} break; case 192: # 583 "yacc.ym" {yyval=(id)0;} break; case 193: # 585 "yacc.ym" {yyval=yyvsp[0];} break; case 194: # 589 "yacc.ym" {yyval=(id)0;} break; case 195: # 591 "yacc.ym" {yyval=yyvsp[0];} break; case 196: # 595 "yacc.ym" {yyval=(id)0;} break; case 197: # 597 "yacc.ym" {yyval=yyvsp[0];} break; case 198: # 601 "yacc.ym" {yyval=(id)0;} break; case 199: # 603 "yacc.ym" {yyval=yyvsp[0];} break; case 200: # 607 "yacc.ym" {yyval=(id)0;} break; case 201: # 609 "yacc.ym" {yyval=yyvsp[0];} break; case 202: # 613 "yacc.ym" {yyval=(id)0;} break; case 203: # 615 "yacc.ym" {yyval=yyvsp[0];} break; case 204: # 619 "yacc.ym" {yyval=(id)0;} break; case 205: # 621 "yacc.ym" {yyval=mkparmdeflist((id)0,(id)0,(BOOL)1);} break; case 206: # 623 "yacc.ym" {yyval=mkparmdeflist(yyvsp[0],(id)0,(BOOL)0);} break; case 207: # 625 "yacc.ym" {yyval=mkparmdeflist((id)0,yyvsp[0],(BOOL)0);} break; case 208: # 627 "yacc.ym" {yyval=mkparmdeflist((id)0,yyvsp[ -2],(BOOL)1);} break; case 209: # 631 "yacc.ym" {yyval=yyvsp[0];} break; case 210: # 633 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"|",yyvsp[0]);} break; case 211: # 637 "yacc.ym" {yyval=yyvsp[0];} break; case 212: # 639 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"+",yyvsp[0]);} break; case 213: # 641 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"-",yyvsp[0]);} break; case 214: # 645 "yacc.ym" {yyval=yyvsp[0];} break; case 215: # 649 "yacc.ym" {yyval=(id)0;} break; case 216: # 651 "yacc.ym" {yyval=(id)0;} break; case 217: # 655 "yacc.ym" {yyval=mkidentexpr(yyvsp[0]);} break; case 218: # 657 "yacc.ym" {yyval=mkconstexpr(yyvsp[0],(id)0);} break; case 219: # 659 "yacc.ym" {yyval=mkconstexpr((id)0,yyvsp[0]);} break; case 220: # 661 "yacc.ym" {yyval=mkconstexpr(yyvsp[0],(id)0);} break; case 221: # 663 "yacc.ym" {yyval=mkprecexpr(yyvsp[ -1]);} break; case 222: # 665 "yacc.ym" {yyval=mkbracedgroup(yyvsp[ -1]);} break; case 223: # 667 "yacc.ym" {yyval=mkindexexpr(yyvsp[ -3],yyvsp[ -1]);} break; case 224: # 669 "yacc.ym" {yyval=mkfuncall(yyvsp[ -3],yyvsp[ -1]);} break; case 225: # 671 "yacc.ym" {yyval=mkpostfixexpr(yyvsp[ -3],mkprecexpr(yyvsp[ -1]));} break; case 226: # 673 "yacc.ym" {yyval=mkdotexpr(yyvsp[ -2],yyvsp[0]);} break; case 227: # 675 "yacc.ym" {yyval=mkdotexpr(yyvsp[ -2],yyvsp[0]);} break; case 228: # 677 "yacc.ym" {yyval=mkarrowexpr(yyvsp[ -2],yyvsp[0]);} break; case 229: # 679 "yacc.ym" {yyval=mkarrowexpr(yyvsp[ -2],yyvsp[0]);} break; case 230: # 681 "yacc.ym" {yyval=mkpostfixexpr(yyvsp[ -1],yyvsp[0]);} break; case 231: # 683 "yacc.ym" {yyval=yyvsp[0];} break; case 232: # 685 "yacc.ym" {yyval=yyvsp[0];} break; case 233: # 687 "yacc.ym" {yyval=yyvsp[0];} break; case 234: # 689 "yacc.ym" {yyval=yyvsp[0];} break; case 235: # 693 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 236: # 695 "yacc.ym" {yyval=mklist(yyvsp[ -2],yyvsp[0]);} break; case 237: # 699 "yacc.ym" {yyval=mkparmdef((id)0,yyvsp[0],(id)0);} break; case 238: # 701 "yacc.ym" {yyval=mkparmdef(yyvsp[ -1],yyvsp[0],(id)0);} break; case 239: # 703 "yacc.ym" {yyval=mkparmdef((id)0,yyvsp[ -1],yyvsp[0]);} break; case 240: # 705 "yacc.ym" {yyval=mkparmdef(yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 241: # 707 "yacc.ym" {yyval=mkparmdef((id)0,yyvsp[ -1],yyvsp[0]);} break; case 242: # 709 "yacc.ym" {yyval=mkparmdef(yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 243: # 713 "yacc.ym" {yyval=mkpointer((id)0,(id)0);} break; case 244: # 715 "yacc.ym" {yyval=mkpointer(yyvsp[0],(id)0);} break; case 245: # 717 "yacc.ym" {yyval=mkpointer((id)0,yyvsp[0]);} break; case 246: # 719 "yacc.ym" {yyval=mkpointer(yyvsp[ -1],yyvsp[0]);} break; case 247: # 723 "yacc.ym" {yyval=yyvsp[0];} break; case 248: # 725 "yacc.ym" { id objcT8; # 725 "yacc.ym" yyval=mkrelexpr(yyvsp[ -2],(objcT8=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT8,selTransTbl[0]))(objcT8,selTransTbl[0])),yyvsp[0]);} break; case 249: # 729 "yacc.ym" {warn("ignoring @requires");} break; case 266: # 736 "yacc.ym" {yyval=yyvsp[0];} break; case 267: # 740 "yacc.ym" {yyval=mkselarg((id)0,yyvsp[0],0);} break; case 268: # 742 "yacc.ym" {yyval=mkselarg(yyvsp[ -1],(id)0,1);} break; case 269: # 744 "yacc.ym" {yyval=mkselarg(yyvsp[ -2],yyvsp[ -1],1);} break; case 270: # 748 "yacc.ym" {yyval=mkselectorexpr(yyvsp[ -1]);} break; case 271: # 752 "yacc.ym" {yyval=yyvsp[0];} break; case 272: # 754 "yacc.ym" { id objcT9; # 754 "yacc.ym" yyval=mkbinexpr(yyvsp[ -2],(objcT9=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT9,selTransTbl[0]))(objcT9,selTransTbl[0])),yyvsp[0]);} break; case 273: # 758 "yacc.ym" {yyval=mkstructspec(yyvsp[ -4],yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 274: # 760 "yacc.ym" {yyval=mkstructspec(yyvsp[ -4],yyvsp[ -3],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 275: # 762 "yacc.ym" {yyval=mkstructspec(yyvsp[ -3],(id)0,yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 276: # 764 "yacc.ym" {yyval=mkstructspec(yyvsp[ -1],yyvsp[0],(id)0,(id)0,(id)0);} break; case 277: # 766 "yacc.ym" {yyval=mkstructspec(yyvsp[ -1],yyvsp[0],(id)0,(id)0,(id)0);} break; case 278: # 768 "yacc.ym" {yyval=mkpostfixdecl(yyvsp[ -1],yyvsp[0]);} break; case 279: # 772 "yacc.ym" {yyval=mklist((id)0,(id)0);} break; case 280: # 774 "yacc.ym" {yyval=yyvsp[0];} break; case 281: # 778 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 282: # 780 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 283: # 782 "yacc.ym" {yyval=atdefsaddall((id)0,yyvsp[ -1]);} break; case 284: # 784 "yacc.ym" {yyval=atdefsaddall(yyvsp[ -4],yyvsp[ -1]);} break; case 285: # 788 "yacc.ym" {yyval=yyvsp[ -1];} break; case 286: # 790 "yacc.ym" {yyval=mkcomponentdef((id)0,yyvsp[ -1],(id)0);} break; case 287: # 792 "yacc.ym" {yyval=yyvsp[0];} break; case 288: # 796 "yacc.ym" {yyval=mkcomponentdef((id)0,yyvsp[ -1],yyvsp[0]);} break; case 289: # 798 "yacc.ym" {yyval=mkcomponentdef(yyvsp[ -2],(id)0,yyvsp[0]);} break; case 290: # 802 "yacc.ym" {yyval=yyvsp[0];} break; case 291: # 804 "yacc.ym" {yyval=mkbitfielddecl((id)0,yyvsp[0]);} break; case 292: # 806 "yacc.ym" {yyval=mkbitfielddecl(yyvsp[ -2],yyvsp[0]);} break; case 293: # 810 "yacc.ym" { # 816 "yacc.ym" yyval=yyvsp[0]; # 820 "yacc.ym" } break; case 294: # 824 "yacc.ym" {yyval=mkexprstmt(yyvsp[ -1]);} break; case 295: # 826 "yacc.ym" {yyval=yyvsp[0];} break; case 296: # 828 "yacc.ym" {yyval=mklabeledstmt(yyvsp[ -2],yyvsp[0]);} break; case 297: # 830 "yacc.ym" {yyval=mkcasestmt(yyvsp[ -3],yyvsp[ -2],yyvsp[0]);} break; case 298: # 832 "yacc.ym" {yyval=mkdefaultstmt(yyvsp[ -2],yyvsp[0]);} break; case 299: # 834 "yacc.ym" {yyval=mkifstmt(yyvsp[ -4],yyvsp[ -2],yyvsp[0]);} break; case 300: # 836 "yacc.ym" {yyval=mkifelsestmt(yyvsp[ -6],yyvsp[ -4],yyvsp[ -2],yyvsp[ -1],yyvsp[0]);} break; case 301: # 838 "yacc.ym" {yyval=mkswitchstmt(yyvsp[ -4],yyvsp[ -2],yyvsp[0]);} break; case 302: # 840 "yacc.ym" {yyval=mkwhilestmt(yyvsp[ -4],yyvsp[ -2],yyvsp[0]);} break; case 303: # 842 "yacc.ym" {yyval=mkdostmt(yyvsp[ -6],yyvsp[ -5],yyvsp[ -4],yyvsp[ -2]);} break; case 304: # 844 "yacc.ym" {yyval=mkforstmt(yyvsp[ -8],yyvsp[ -6],yyvsp[ -4],yyvsp[ -2],yyvsp[0]);} break; case 305: # 846 "yacc.ym" {yyval=mkgotostmt(yyvsp[ -2],yyvsp[ -1]);} break; case 306: # 848 "yacc.ym" {yyval=mkcontinuestmt(yyvsp[ -1]);} break; case 307: # 850 "yacc.ym" {yyval=mkbreakstmt(yyvsp[ -1]);} break; case 308: # 852 "yacc.ym" {yyval=mkreturnstmt(yyvsp[ -1],(id)0);} break; case 309: # 854 "yacc.ym" {yyval=mkreturnstmt(yyvsp[ -2],yyvsp[ -1]);} break; case 310: # 856 "yacc.ym" {yyval=yyvsp[0];} break; case 311: # 858 "yacc.ym" {yyval=yyvsp[0];} break; case 312: # 860 "yacc.ym" {yyval=yyvsp[0];} break; case 313: # 864 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 314: # 866 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 315: # 870 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 316: # 872 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 317: # 876 "yacc.ym" {yyval=yyvsp[0];} break; case 318: # 878 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"*",yyvsp[0]);} break; case 319: # 880 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"/",yyvsp[0]);} break; case 320: # 882 "yacc.ym" {yyval=mkbinexpr(yyvsp[ -2],"%",yyvsp[0]);} break; case 321: # 886 "yacc.ym" {procextdef(yyvsp[0]);} break; case 322: # 888 "yacc.ym" {procextdef(yyvsp[0]);} break; case 323: # 892 "yacc.ym" {yyval=mktypename(yyvsp[0],(id)0);} break; case 324: # 894 "yacc.ym" {yyval=mktypename(yyvsp[ -1],yyvsp[0]);} break; case 325: # 898 "yacc.ym" {yyval=yyvsp[0];} break; case 326: # 900 "yacc.ym" {yyval=yyvsp[0];} break; case 327: # 902 "yacc.ym" {yyval=yyvsp[0];} break; case 328: # 904 "yacc.ym" {yyval=yyvsp[0];} break; case 329: # 906 "yacc.ym" {yyval=yyvsp[0];} break; case 330: # 908 "yacc.ym" {yyval=mktypeof(yyvsp[ -3],yyvsp[ -1]);} break; case 331: # 912 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 332: # 914 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 333: # 918 "yacc.ym" {yyval=mklist((id)0,yyvsp[0]);} break; case 334: # 920 "yacc.ym" {yyval=mklist(yyvsp[ -1],yyvsp[0]);} break; case 335: # 924 "yacc.ym" {yyval=yyvsp[0];} break; case 336: # 926 "yacc.ym" { id objcT10; # 926 "yacc.ym" yyval=mkunaryexpr((objcT10=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT10,selTransTbl[0]))(objcT10,selTransTbl[0])),yyvsp[0]);} break; case 337: # 928 "yacc.ym" { id objcT11; # 928 "yacc.ym" yyval=mkunaryexpr((objcT11=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT11,selTransTbl[0]))(objcT11,selTransTbl[0])),yyvsp[0]);} break; case 338: # 930 "yacc.ym" {yyval=mkunaryexpr("!",yyvsp[0]);} break; case 339: # 932 "yacc.ym" {yyval=mkunaryexpr("~",yyvsp[0]);} break; case 340: # 934 "yacc.ym" {yyval=mkaddressof(yyvsp[0]);} break; case 341: # 936 "yacc.ym" {yyval=mkdereference(yyvsp[0]);} break; case 342: # 938 "yacc.ym" {yyval=mkunaryexpr("+",yyvsp[0]);} break; case 343: # 940 "yacc.ym" {yyval=mkunaryexpr("-",yyvsp[0]);} break; case 344: # 942 "yacc.ym" {yyval=mksizeof(yyvsp[0]);} break; case 345: # 944 "yacc.ym" {yyval=mkbuiltincall(yyvsp[ -3],mklist((id)0,yyvsp[ -1]));} break; case 346: # 946 "yacc.ym" {yyval=mkbuiltincall(yyvsp[ -3],yyvsp[ -1]);} break; case 347: # 948 "yacc.ym" { id objcT12; # 948 "yacc.ym" yyval=mkunaryexpr((objcT12=yyvsp[ -1],(*(STR(*)(id,SEL))_imp(objcT12,selTransTbl[0]))(objcT12,selTransTbl[0])),yyvsp[0]);} break; # 3148 "y.tab.c" } yyssp-=yym; yystate= *yyssp; yyvsp-=yym; yym=yylhs[yyn]; if(yystate==0&&yym==0) { # 3160 "y.tab.c" yystate=22; * ++ yyssp=22; * ++ yyvsp=yyval; if(yychar<0) { if((yychar=yylex())<0)yychar=0; # 3176 "y.tab.c" } if(yychar==0)goto yyaccept; goto yyloop; } if((yyn=yygindex[yym])&&(yyn+=yystate)>=0&& yyn<=4478&&yycheck[yyn]==yystate) yystate=yytable[yyn]; else yystate=yydgoto[yym]; # 3190 "y.tab.c" if(yyssp>=yyss+500-1) { goto yyoverflow; } * ++ yyssp=yystate; * ++ yyvsp=yyval; goto yyloop; yyoverflow: yyerror("yacc stack overflow"); yyabort: return(1); yyaccept: return(0); } static char *_selTransTbl[] ={ "strCopy", "gen", 0 }; struct modDescriptor yacc_modDesc = { "yacc", "objc3.2.8", 0L, 0, 0, 0, 2, _selTransTbl, 0 }; struct modDescriptor *_OBJCBIND_yacc(void) { selTransTbl = _selTransTbl; return &yacc_modDesc; } int _OBJCPOSTLINK_yacc = 1;