# 1 "util.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_util(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 util_modDesc; # 1 "../../util/stdarg.h" #include # 1 "../../util/ctype.h" #include # 1 "../../util/string.h" #include # 1 "../../util/assert.h" #include # 1 "../../util/stdlib.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 # 22 "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,...); # 31 "../../include/objpak/ordcltn.h" typedef struct objcol { int count; int capacity; id*ptr; }* objcol_t; # 32 "../../include/objpak/ocstring.h" typedef struct objstr { int count; int capacity; char*ptr; }* objstr_t; # 22 "symbol.h" extern id s_void; extern id s_char; extern id s_bool; extern id s_int; extern id s_uns; extern id s_long; extern id s_double; extern id s_str; extern id s_sel; extern id s_newblock; extern id s_main; extern id s_objcmain; extern id s_id; extern id s_nil; extern id s_self; extern id s_cmd; extern id s_super; extern id s_type; extern id s_aFiler; extern id s_fileIn; extern id s_fileOut; extern id s_fileInIdsFrom; extern id s_fileOutIdsFor; extern id s_returnval; extern id s_returnflag; extern id s_increfs; extern id s_decrefs; extern id s_idincref; extern id s_iddecref; BOOL istypeword(id sym); BOOL isbuiltinfun(id sym); int pragmatoggle(char*s); void definebuiltintype(char*s); void definebuiltinfun(char*s); void definebuiltinvar(char*s); # 23 "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); # 22 "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 "compstmt.h" extern id curcompound; extern id curloopcompound; # 22 "expr.h" extern id e_nil; extern id e_self; extern id e_cmd; extern id e_super; extern id e_aFiler; extern id e_ft_id; # 22 "type.h" extern id t_unknown; extern id t_void; extern id t_char; extern id t_bool; extern id t_int; extern id t_long; extern id t_uns; extern id t_double; extern id t_str; extern id t_sel; extern id t_id; # 22 "msgxpr.h" extern id msgwraps; # 22 "blockxpr.h" extern id curcompound; # 22 "structsp.h" extern id curstruct; # 22 "def.h" extern id curdef; # 22 "classdef.h" extern id curclassdef; extern id curstruct; # 22 "trlunit.h" extern id trlunit; # 111 "util.m" void procextdef(id def) { id objcT0,objcT1,objcT2; # 114 "util.m" (objcT0=def,(*_imp(objcT0,selTransTbl[0]))(objcT0,selTransTbl[0])); if(o_outputcode) (objcT1=def,(*_imp(objcT1,selTransTbl[1]))(objcT1,selTransTbl[1])); if(o_st80) (objcT2=def,(*_imp(objcT2,selTransTbl[2]))(objcT2,selTransTbl[2])); } void finclassdef(void) { if(curclassdef){ id objcT3,objcT6; # 125 "util.m" if((objcT3=curclassdef,(*(int(*)(id,SEL))_imp(objcT3,selTransTbl[3]))(objcT3,selTransTbl[3]))){ if(o_filer){ id objcT4; # 127 "util.m" (objcT4=curclassdef,(*_imp(objcT4,selTransTbl[4]))(objcT4,selTransTbl[4])); } if(o_refcnt){ id objcT5; # 130 "util.m" (objcT5=curclassdef,(*_imp(objcT5,selTransTbl[5]))(objcT5,selTransTbl[5])); } } if(o_warnmissingmethods&&(objcT6=curclassdef,(*(BOOL(*)(id,SEL))_imp(objcT6,selTransTbl[6]))(objcT6,selTransTbl[6]))){ id objcT7; # 134 "util.m" (objcT7=curclassdef,(*_imp(objcT7,selTransTbl[7]))(objcT7,selTransTbl[7])); } curclassdef=(id)0; }else{ fatal("illegal end of class definition."); } } FILE* openfile(STR name,STR modfs) { FILE*f; if((f=fopen(name,modfs))==NULL){ fprintf(stderr,"objc1: Unable to open %s\n",name); exit(1); } return f; } FILE* reopenfile(STR name,STR modfs,FILE*of) { FILE*f; if((f=freopen(name,modfs,of))==NULL){ fprintf(stderr,"objc1: Unable to open %s\n",name); exit(1); } return f; } static char* setinlineno(char*s) { char*p=s; int c,n=0; while((c= *p++)&&'0'<=c&&c<='9'){ n=n*10+(c-'0'); } inlineno=n; return p-1; } # 40 "../../include/objpak/ocstring.h" extern id String; # 180 "util.m" static BOOL setinfilename(char*s) { char*p=s; int c,n=0; while((c= *p++)&&c!='"') n++; if(c=='"'){ id objcT8; # 191 "util.m" infilename=(objcT8=String,(*(id(*)(id,SEL,STR,int))_imp(objcT8,selTransTbl[8]))(objcT8,selTransTbl[8],s,n)); return(BOOL)1; }else{ return(BOOL)0; } } static BOOL isline(char*s) { int c; char*p=s; c= *p++; if(c=='#'){ c= *p++; }else{ return(BOOL)0; } while(c&&(c==' '||c=='\t')) c= *p++; if(c=='l'){ char*key="ine"; if(strncmp(p,key,strlen(key))==0){ p+=strlen(key); c= *p++; }else{ return(BOOL)0; } } while(c&&(c==' '||c=='\t')) c= *p++; if(c&&'0'<=c&&c<='9'){ p=setinlineno(p-1); c= *p++; }else{ return(BOOL)0; } while(c&&(c==' '||c=='\t')) c= *p++; if(c&&c=='"'){ return setinfilename(p); }else{ return(BOOL)1; } } # 257 "util.m" static BOOL ispragma(char*s) { id objcT9,objcT10; # 260 "util.m" char*t; id x=(objcT9=String,(*(id(*)(id,SEL,STR))_imp(objcT9,selTransTbl[9]))(objcT9,selTransTbl[9],s)); char*sep=" #/\t\n\r"; t=strtok((objcT10=x,(*(STR(*)(id,SEL))_imp(objcT10,selTransTbl[10]))(objcT10,selTransTbl[10])),sep); if(strcmp(t,"pragma")!=0)return(BOOL)0; if((t=strtok(NULL,sep))==NULL)return(BOOL)0; if(strcmp(t,"OCbuiltInFctn")==0){ definebuiltinfun(strtok(NULL,sep)); return(BOOL)1; } if(strcmp(t,"OCbuiltInVar")==0){ definebuiltinvar(strtok(NULL,sep)); return(BOOL)1; } if(strcmp(t,"OCbuiltInType")==0){ definebuiltintype(strtok(NULL,sep)); return(BOOL)1; } if(strcmp(t,"OCRefCnt")==0){ o_refcnt=pragmatoggle(strtok(NULL,sep)); return(BOOL)1; } if(strcmp(t,"OCInlineCache")==0){ o_inlinecache=pragmatoggle(strtok(NULL,sep)); return(BOOL)1; } if(strcmp(t,"token")==0){ if((t=strtok(NULL,sep))==NULL)return(BOOL)0; if(strcmp(t,"TYPE")==0){ definebuiltintype(strtok(NULL,sep)); return(BOOL)0; } if(strcmp(t,"VARIETY")==0){ if((t=strtok(NULL,sep))==NULL)return(BOOL)0; if(strcmp(t,"signed")==0||strcmp(t,"unsigned")==0){ if((t=strtok(NULL,sep))==NULL)return(BOOL)0; } definebuiltintype(t); return(BOOL)0; } if(strcmp(t,"PROC")==0){ while(1){ char*s; if((s=strtok(NULL," \t\n\r"))==NULL)return(BOOL)0; if(strcmp(s,"#")==0)break; t=s; } definebuiltinfun(t); return(BOOL)0; } return(BOOL)0; } return(BOOL)0; } # 22 "cppdirec.h" extern id CppDirective; # 328 "util.m" id mkcppdirect(char*s) { id objcT11; # 331 "util.m" id r; int n; char*t; if(isline(s)) return(id)0; if(ispragma(s)) return(id)0; t="#printLine "; n=strlen(t); if(strncmp(s,t,n)==0) s+=n; t="#pragma printLine "; n=strlen(t); if(strncmp(s,t,n)==0) s+=n; r=(objcT11=CppDirective,(*(id(*)(id,SEL,char*,int,id))_imp(objcT11,selTransTbl[11]))(objcT11,selTransTbl[11],s,inlineno,infilename)); return r; } # 22 "exprstmt.h" extern id ExprStmt; # 354 "util.m" id mkexprstmt(id expr) { id objcT12,objcT13; # 357 "util.m" id r=(objcT12=ExprStmt,(*_imp(objcT12,selTransTbl[12]))(objcT12,selTransTbl[12])); (objcT13=r,(*_imp(objcT13,selTransTbl[13]))(objcT13,selTransTbl[13],expr)); return r; } id mkexprstmtx(id expr) { id objcT14,objcT15,objcT16; # 365 "util.m" id r=(objcT14=ExprStmt,(*_imp(objcT14,selTransTbl[12]))(objcT14,selTransTbl[12])); (objcT15=r,(*_imp(objcT15,selTransTbl[13]))(objcT15,selTransTbl[13],expr)); (objcT16=r,(*(id(*)(id,SEL,BOOL))_imp(objcT16,selTransTbl[14]))(objcT16,selTransTbl[14],(BOOL)1)); return r; } # 22 "lblstmt.h" extern id LabeledStmt; # 371 "util.m" id mklabeledstmt(id label,id stmt) { id objcT17,objcT18,objcT19; # 374 "util.m" id r=(objcT17=LabeledStmt,(*_imp(objcT17,selTransTbl[12]))(objcT17,selTransTbl[12])); (objcT18=r,(*_imp(objcT18,selTransTbl[15]))(objcT18,selTransTbl[15],label)); (objcT19=r,(*_imp(objcT19,selTransTbl[16]))(objcT19,selTransTbl[16],stmt)); return r; } # 22 "casestmt.h" extern id CaseStmt; # 381 "util.m" id mkcasestmt(id keyw,id expr,id stmt) { id objcT20,objcT21,objcT22,objcT23; # 384 "util.m" id r=(objcT20=CaseStmt,(*_imp(objcT20,selTransTbl[12]))(objcT20,selTransTbl[12])); (objcT21=r,(*_imp(objcT21,selTransTbl[17]))(objcT21,selTransTbl[17],keyw)); (objcT22=r,(*_imp(objcT22,selTransTbl[13]))(objcT22,selTransTbl[13],expr)); (objcT23=r,(*_imp(objcT23,selTransTbl[16]))(objcT23,selTransTbl[16],stmt)); return r; } # 22 "dfltstmt.h" extern id DefaultStmt; # 392 "util.m" id mkdefaultstmt(id keyw,id stmt) { id objcT24,objcT25,objcT26; # 395 "util.m" id r=(objcT24=DefaultStmt,(*_imp(objcT24,selTransTbl[12]))(objcT24,selTransTbl[12])); (objcT25=r,(*_imp(objcT25,selTransTbl[17]))(objcT25,selTransTbl[17],keyw)); (objcT26=r,(*_imp(objcT26,selTransTbl[16]))(objcT26,selTransTbl[16],stmt)); return r; } # 22 "ifstmt.h" extern id IfStmt; # 402 "util.m" id mkifstmt(id keyw,id expr,id stmt) { id objcT27,objcT28,objcT29,objcT30; # 405 "util.m" id r=(objcT27=IfStmt,(*_imp(objcT27,selTransTbl[12]))(objcT27,selTransTbl[12])); (objcT28=r,(*_imp(objcT28,selTransTbl[17]))(objcT28,selTransTbl[17],keyw)); (objcT29=r,(*_imp(objcT29,selTransTbl[13]))(objcT29,selTransTbl[13],expr)); (objcT30=r,(*_imp(objcT30,selTransTbl[16]))(objcT30,selTransTbl[16],stmt)); return r; } id mkifelsestmt(id keyw,id expr,id stmt,id ekeyw,id estmt) { id objcT31,objcT32,objcT33,objcT34,objcT35; id objcT36; # 416 "util.m" id r=(objcT31=IfStmt,(*_imp(objcT31,selTransTbl[12]))(objcT31,selTransTbl[12])); (objcT32=r,(*_imp(objcT32,selTransTbl[17]))(objcT32,selTransTbl[17],keyw)); (objcT33=r,(*_imp(objcT33,selTransTbl[13]))(objcT33,selTransTbl[13],expr)); (objcT34=r,(*_imp(objcT34,selTransTbl[16]))(objcT34,selTransTbl[16],stmt)); (objcT35=r,(*_imp(objcT35,selTransTbl[18]))(objcT35,selTransTbl[18],ekeyw)); (objcT36=r,(*_imp(objcT36,selTransTbl[19]))(objcT36,selTransTbl[19],estmt)); return r; } # 22 "switstmt.h" extern id SwitchStmt; # 426 "util.m" id mkswitchstmt(id keyw,id expr,id stmt) { id objcT37,objcT38,objcT39,objcT40; # 429 "util.m" id r=(objcT37=SwitchStmt,(*_imp(objcT37,selTransTbl[12]))(objcT37,selTransTbl[12])); (objcT38=r,(*_imp(objcT38,selTransTbl[17]))(objcT38,selTransTbl[17],keyw)); (objcT39=r,(*_imp(objcT39,selTransTbl[13]))(objcT39,selTransTbl[13],expr)); (objcT40=r,(*_imp(objcT40,selTransTbl[16]))(objcT40,selTransTbl[16],stmt)); return r; } # 22 "whilstmt.h" extern id WhileStmt; # 437 "util.m" id mkwhilestmt(id keyw,id expr,id stmt) { id objcT41,objcT42,objcT43,objcT44; # 440 "util.m" id r=(objcT41=WhileStmt,(*_imp(objcT41,selTransTbl[12]))(objcT41,selTransTbl[12])); (objcT42=r,(*_imp(objcT42,selTransTbl[17]))(objcT42,selTransTbl[17],keyw)); (objcT43=r,(*_imp(objcT43,selTransTbl[13]))(objcT43,selTransTbl[13],expr)); (objcT44=r,(*_imp(objcT44,selTransTbl[16]))(objcT44,selTransTbl[16],stmt)); return r; } # 22 "dostmt.h" extern id DoStmt; # 448 "util.m" id mkdostmt(id keyw,id stmt,id wkeyw,id expr) { id objcT45,objcT46,objcT47,objcT48,objcT49; # 451 "util.m" id r=(objcT45=DoStmt,(*_imp(objcT45,selTransTbl[12]))(objcT45,selTransTbl[12])); (objcT46=r,(*_imp(objcT46,selTransTbl[17]))(objcT46,selTransTbl[17],keyw)); (objcT47=r,(*_imp(objcT47,selTransTbl[16]))(objcT47,selTransTbl[16],stmt)); (objcT48=r,(*_imp(objcT48,selTransTbl[20]))(objcT48,selTransTbl[20],wkeyw)); (objcT49=r,(*_imp(objcT49,selTransTbl[13]))(objcT49,selTransTbl[13],expr)); return r; } # 22 "forstmt.h" extern id ForStmt; # 460 "util.m" id mkforstmt(id keyw,id a,id b,id c,id stmt) { id objcT50,objcT51,objcT52,objcT53; # 463 "util.m" id r=(objcT50=ForStmt,(*_imp(objcT50,selTransTbl[12]))(objcT50,selTransTbl[12])); (objcT51=r,(*_imp(objcT51,selTransTbl[17]))(objcT51,selTransTbl[17],keyw)); (objcT52=r,(*_imp(objcT52,selTransTbl[21]))(objcT52,selTransTbl[21],a,b,c)); (objcT53=r,(*_imp(objcT53,selTransTbl[16]))(objcT53,selTransTbl[16],stmt)); return r; } # 22 "gotostmt.h" extern id GotoStmt; # 471 "util.m" id mkgotostmt(id keyw,id label) { id objcT54,objcT55,objcT56; # 474 "util.m" id r=(objcT54=GotoStmt,(*_imp(objcT54,selTransTbl[12]))(objcT54,selTransTbl[12])); (objcT55=r,(*_imp(objcT55,selTransTbl[17]))(objcT55,selTransTbl[17],keyw)); (objcT56=r,(*_imp(objcT56,selTransTbl[15]))(objcT56,selTransTbl[15],label)); return r; } # 22 "contstmt.h" extern id ContinueStmt; # 481 "util.m" id mkcontinuestmt(id keyw) { id objcT57,objcT58; # 484 "util.m" id r=(objcT57=ContinueStmt,(*_imp(objcT57,selTransTbl[12]))(objcT57,selTransTbl[12])); (objcT58=r,(*_imp(objcT58,selTransTbl[17]))(objcT58,selTransTbl[17],keyw)); return r; } id mkbreakstmt(id keyw) { return mkcontinuestmt(keyw); } # 22 "rtrnstmt.h" extern id ReturnStmt; # 496 "util.m" id mkreturnstmt(id keyw,id expr) { id objcT59,objcT60,objcT61; # 499 "util.m" id r=(objcT59=ReturnStmt,(*_imp(objcT59,selTransTbl[12]))(objcT59,selTransTbl[12])); (objcT60=r,(*_imp(objcT60,selTransTbl[17]))(objcT60,selTransTbl[17],keyw)); (objcT61=r,(*_imp(objcT61,selTransTbl[13]))(objcT61,selTransTbl[13],expr)); return r; } id mkreturnx(id x) { id objcT62,objcT63; # 509 "util.m" return(objcT62=(objcT63=ReturnStmt,(*_imp(objcT63,selTransTbl[12]))(objcT63,selTransTbl[12])),(*_imp(objcT62,selTransTbl[13]))(objcT62,selTransTbl[13],x)); } # 22 "castxpr.h" extern id CastExpr; # 512 "util.m" id mkcastexpr(id a,id b) { id objcT64,objcT65,objcT66; # 515 "util.m" id r=(objcT64=CastExpr,(*_imp(objcT64,selTransTbl[12]))(objcT64,selTransTbl[12])); (objcT65=r,(*_imp(objcT65,selTransTbl[22]))(objcT65,selTransTbl[22],a)); (objcT66=r,(*_imp(objcT66,selTransTbl[13]))(objcT66,selTransTbl[13],b)); return r; } # 22 "condxpr.h" extern id CondExpr; # 522 "util.m" id mkcondexpr(id a,id b,id c) { id objcT67,objcT68,objcT69,objcT70; # 525 "util.m" id r=(objcT67=CondExpr,(*_imp(objcT67,selTransTbl[12]))(objcT67,selTransTbl[12])); (objcT68=r,(*_imp(objcT68,selTransTbl[13]))(objcT68,selTransTbl[13],a)); (objcT69=r,(*_imp(objcT69,selTransTbl[23]))(objcT69,selTransTbl[23],b)); (objcT70=r,(*_imp(objcT70,selTransTbl[24]))(objcT70,selTransTbl[24],c)); return r; } # 22 "unyxpr.h" extern id UnaryExpr; # 533 "util.m" id mkunaryexpr(STR op,id a) { id objcT71,objcT72,objcT73; # 536 "util.m" id r=(objcT71=UnaryExpr,(*_imp(objcT71,selTransTbl[12]))(objcT71,selTransTbl[12])); (objcT72=r,(*(id(*)(id,SEL,STR))_imp(objcT72,selTransTbl[25]))(objcT72,selTransTbl[25],op)); (objcT73=r,(*_imp(objcT73,selTransTbl[13]))(objcT73,selTransTbl[13],a)); return r; } # 22 "deref.h" extern id Dereference; # 543 "util.m" id mkdereference(id a) { id objcT74,objcT75; # 546 "util.m" id r=(objcT74=Dereference,(*_imp(objcT74,selTransTbl[12]))(objcT74,selTransTbl[12])); (objcT75=r,(*_imp(objcT75,selTransTbl[13]))(objcT75,selTransTbl[13],a)); return r; } # 22 "sizeof.h" extern id SizeOf; # 552 "util.m" id mksizeof(id a) { id objcT76,objcT77; # 555 "util.m" id r=(objcT76=SizeOf,(*_imp(objcT76,selTransTbl[12]))(objcT76,selTransTbl[12])); (objcT77=r,(*_imp(objcT77,selTransTbl[13]))(objcT77,selTransTbl[13],a)); return r; } # 22 "typeof.h" extern id TypeOf; # 561 "util.m" id mktypeof(id kw,id a) { id objcT78,objcT79,objcT80; # 564 "util.m" id r=(objcT78=TypeOf,(*_imp(objcT78,selTransTbl[12]))(objcT78,selTransTbl[12])); (objcT79=r,(*_imp(objcT79,selTransTbl[17]))(objcT79,selTransTbl[17],kw)); (objcT80=r,(*_imp(objcT80,selTransTbl[13]))(objcT80,selTransTbl[13],a)); return r; } # 22 "addrof.h" extern id AddressOf; # 571 "util.m" id mkaddressof(id a) { id objcT81,objcT82; # 574 "util.m" id r=(objcT81=AddressOf,(*_imp(objcT81,selTransTbl[12]))(objcT81,selTransTbl[12])); (objcT82=r,(*_imp(objcT82,selTransTbl[13]))(objcT82,selTransTbl[13],a)); return r; } # 22 "binxpr.h" extern id BinaryExpr; # 580 "util.m" id mkbinexpr(id a,STR op,id b) { id objcT83,objcT84,objcT85,objcT86; # 583 "util.m" id r=(objcT83=BinaryExpr,(*_imp(objcT83,selTransTbl[12]))(objcT83,selTransTbl[12])); (objcT84=r,(*_imp(objcT84,selTransTbl[23]))(objcT84,selTransTbl[23],a)); (objcT85=r,(*_imp(objcT85,selTransTbl[24]))(objcT85,selTransTbl[24],b)); (objcT86=r,(*(id(*)(id,SEL,STR))_imp(objcT86,selTransTbl[25]))(objcT86,selTransTbl[25],op)); return r; } # 22 "commaxpr.h" extern id CommaExpr; # 591 "util.m" id mkcommaexpr(id a,id b) { id objcT87,objcT88,objcT89; # 594 "util.m" id r=(objcT87=CommaExpr,(*_imp(objcT87,selTransTbl[12]))(objcT87,selTransTbl[12])); (objcT88=r,(*_imp(objcT88,selTransTbl[23]))(objcT88,selTransTbl[23],a)); (objcT89=r,(*_imp(objcT89,selTransTbl[24]))(objcT89,selTransTbl[24],b)); return r; } # 22 "assign.h" extern id Assignment; # 601 "util.m" id mkassignexpr(id a,STR op,id b) { id objcT90,objcT91,objcT92,objcT93; # 604 "util.m" id r=(objcT90=Assignment,(*_imp(objcT90,selTransTbl[12]))(objcT90,selTransTbl[12])); (objcT91=r,(*_imp(objcT91,selTransTbl[23]))(objcT91,selTransTbl[23],a)); (objcT92=r,(*_imp(objcT92,selTransTbl[24]))(objcT92,selTransTbl[24],b)); (objcT93=r,(*(id(*)(id,SEL,STR))_imp(objcT93,selTransTbl[25]))(objcT93,selTransTbl[25],op)); return r; } # 22 "relxpr.h" extern id RelationExpr; # 612 "util.m" id mkrelexpr(id a,STR op,id b) { id objcT94,objcT95,objcT96,objcT97; # 615 "util.m" id r=(objcT94=RelationExpr,(*_imp(objcT94,selTransTbl[12]))(objcT94,selTransTbl[12])); (objcT95=r,(*_imp(objcT95,selTransTbl[23]))(objcT95,selTransTbl[23],a)); (objcT96=r,(*_imp(objcT96,selTransTbl[24]))(objcT96,selTransTbl[24],b)); (objcT97=r,(*(id(*)(id,SEL,STR))_imp(objcT97,selTransTbl[25]))(objcT97,selTransTbl[25],op)); return r; } # 22 "btincall.h" extern id BuiltinCall; # 623 "util.m" id mkbuiltincall(id funname,id args) { id objcT98,objcT99,objcT100; # 626 "util.m" id r=(objcT98=BuiltinCall,(*_imp(objcT98,selTransTbl[12]))(objcT98,selTransTbl[12])); (objcT99=r,(*_imp(objcT99,selTransTbl[26]))(objcT99,selTransTbl[26],funname)); (objcT100=r,(*_imp(objcT100,selTransTbl[27]))(objcT100,selTransTbl[27],args)); return r; } # 22 "funcall.h" extern id FunctionCall; # 633 "util.m" id mkfuncall(id funname,id args) { id objcT101,objcT102,objcT103; # 636 "util.m" id r=(objcT101=FunctionCall,(*_imp(objcT101,selTransTbl[12]))(objcT101,selTransTbl[12])); (objcT102=r,(*_imp(objcT102,selTransTbl[26]))(objcT102,selTransTbl[26],funname)); (objcT103=r,(*_imp(objcT103,selTransTbl[27]))(objcT103,selTransTbl[27],args)); return r; } # 22 "funbody.h" extern id FunctionBody; # 643 "util.m" id mkfunbody(id datadefs,id compound) { id objcT104,objcT105,objcT106; # 646 "util.m" id r=(objcT104=FunctionBody,(*_imp(objcT104,selTransTbl[12]))(objcT104,selTransTbl[12])); (objcT105=r,(*_imp(objcT105,selTransTbl[28]))(objcT105,selTransTbl[28],datadefs)); (objcT106=r,(*_imp(objcT106,selTransTbl[29]))(objcT106,selTransTbl[29],compound)); return r; } # 22 "datadef.h" extern id DataDef; # 653 "util.m" void declarefun(id specs,id decl) { id objcT107,objcT108,objcT109,objcT110; # 656 "util.m" id d=(objcT107=DataDef,(*_imp(objcT107,selTransTbl[12]))(objcT107,selTransTbl[12])); if(specs) (objcT108=d,(*_imp(objcT108,selTransTbl[30]))(objcT108,selTransTbl[30],specs)); (objcT109=d,(*_imp(objcT109,selTransTbl[31]))(objcT109,selTransTbl[31],decl)); (objcT110=d,(*_imp(objcT110,selTransTbl[0]))(objcT110,selTransTbl[0])); } # 22 "methdef.h" extern id MethodDef; # 664 "util.m" void declaremeth(BOOL factory,id decl) { id objcT111,objcT112,objcT113,objcT114; # 667 "util.m" id r=(objcT111=MethodDef,(*_imp(objcT111,selTransTbl[12]))(objcT111,selTransTbl[12])); (objcT112=r,(*(id(*)(id,SEL,BOOL))_imp(objcT112,selTransTbl[32]))(objcT112,selTransTbl[32],factory)); (objcT113=r,(*_imp(objcT113,selTransTbl[33]))(objcT113,selTransTbl[33],decl)); (objcT114=r,(*_imp(objcT114,selTransTbl[34]))(objcT114,selTransTbl[34])); } # 22 "fundef.h" extern id FunctionDef; # 674 "util.m" id mkfundef(id specs,id decl,id body) { id objcT115,objcT116,objcT117,objcT118; # 677 "util.m" id r=(objcT115=FunctionDef,(*_imp(objcT115,selTransTbl[12]))(objcT115,selTransTbl[12])); (objcT116=r,(*_imp(objcT116,selTransTbl[35]))(objcT116,selTransTbl[35],specs)); (objcT117=r,(*_imp(objcT117,selTransTbl[36]))(objcT117,selTransTbl[36],decl)); (objcT118=r,(*_imp(objcT118,selTransTbl[37]))(objcT118,selTransTbl[37],body)); return r; } id mkmethdef(BOOL factory,id decl,id body) { id objcT119,objcT120,objcT121,objcT122; # 688 "util.m" id r=(objcT119=MethodDef,(*_imp(objcT119,selTransTbl[12]))(objcT119,selTransTbl[12])); (objcT120=r,(*(id(*)(id,SEL,BOOL))_imp(objcT120,selTransTbl[32]))(objcT120,selTransTbl[32],factory)); (objcT121=r,(*_imp(objcT121,selTransTbl[33]))(objcT121,selTransTbl[33],decl)); (objcT122=r,(*_imp(objcT122,selTransTbl[37]))(objcT122,selTransTbl[37],body)); return r; } # 24 "msgxpr.h" extern id MesgExpr; # 696 "util.m" id mkmesgexpr(id receiver,id args) { id objcT123,objcT124,objcT125; # 699 "util.m" id r=(objcT123=MesgExpr,(*_imp(objcT123,selTransTbl[12]))(objcT123,selTransTbl[12])); (objcT124=r,(*_imp(objcT124,selTransTbl[38]))(objcT124,selTransTbl[38],receiver)); (objcT125=r,(*_imp(objcT125,selTransTbl[39]))(objcT125,selTransTbl[39],args)); return r; } # 22 "namedecl.h" extern id NameDecl; # 706 "util.m" id mkdecl(id ident) { id objcT126,objcT127; # 709 "util.m" id r=(objcT126=NameDecl,(*_imp(objcT126,selTransTbl[12]))(objcT126,selTransTbl[12])); (objcT127=r,(*_imp(objcT127,selTransTbl[40]))(objcT127,selTransTbl[40],ident)); return r; } # 22 "precdecl.h" extern id PrecDecl; # 715 "util.m" id mkprecdecl(id typequals,id decl) { id objcT128,objcT129,objcT130; # 718 "util.m" id r=(objcT128=PrecDecl,(*_imp(objcT128,selTransTbl[12]))(objcT128,selTransTbl[12])); if(typequals) (objcT129=r,(*_imp(objcT129,selTransTbl[41]))(objcT129,selTransTbl[41],typequals)); if(decl) (objcT130=r,(*_imp(objcT130,selTransTbl[36]))(objcT130,selTransTbl[36],decl)); return r; } # 22 "arydecl.h" extern id ArrayDecl; # 727 "util.m" id mkarraydecl(id lhs,id ix) { id objcT131,objcT132,objcT133; # 730 "util.m" id r=(objcT131=ArrayDecl,(*_imp(objcT131,selTransTbl[12]))(objcT131,selTransTbl[12])); (objcT132=r,(*_imp(objcT132,selTransTbl[36]))(objcT132,selTransTbl[36],lhs)); (objcT133=r,(*_imp(objcT133,selTransTbl[13]))(objcT133,selTransTbl[13],ix)); return r; } # 22 "fundecl.h" extern id FunctionDecl; # 737 "util.m" id mkfundecl(id lhs,id args) { id objcT134,objcT135,objcT136; # 740 "util.m" id r=(objcT134=FunctionDecl,(*_imp(objcT134,selTransTbl[12]))(objcT134,selTransTbl[12])); (objcT135=r,(*_imp(objcT135,selTransTbl[36]))(objcT135,selTransTbl[36],lhs)); (objcT136=r,(*_imp(objcT136,selTransTbl[42]))(objcT136,selTransTbl[42],args)); return r; } # 22 "pfixdecl.h" extern id PostfixDecl; # 747 "util.m" id mkprefixdecl(id lhs,id rhs) { id objcT137,objcT138,objcT139; # 750 "util.m" id r=(objcT137=PostfixDecl,(*_imp(objcT137,selTransTbl[12]))(objcT137,selTransTbl[12])); (objcT138=r,(*_imp(objcT138,selTransTbl[43]))(objcT138,selTransTbl[43],lhs)); (objcT139=r,(*_imp(objcT139,selTransTbl[36]))(objcT139,selTransTbl[36],rhs)); return r; } id mkpostfixdecl(id lhs,id rhs) { id objcT140,objcT141,objcT142; # 760 "util.m" id r=(objcT140=PostfixDecl,(*_imp(objcT140,selTransTbl[12]))(objcT140,selTransTbl[12])); (objcT141=r,(*_imp(objcT141,selTransTbl[36]))(objcT141,selTransTbl[36],lhs)); (objcT142=r,(*_imp(objcT142,selTransTbl[44]))(objcT142,selTransTbl[44],rhs)); return r; } # 22 "pointer.h" extern id Pointer; # 767 "util.m" id mkpointer(id specs,id pointer) { id objcT143,objcT144,objcT145; # 770 "util.m" id r=(objcT143=Pointer,(*_imp(objcT143,selTransTbl[12]))(objcT143,selTransTbl[12])); if(specs) (objcT144=r,(*_imp(objcT144,selTransTbl[30]))(objcT144,selTransTbl[30],specs)); if(pointer) (objcT145=r,(*_imp(objcT145,selTransTbl[45]))(objcT145,selTransTbl[45],pointer)); return r; } # 22 "bflddecl.h" extern id BitfieldDecl; # 779 "util.m" id mkbitfielddecl(id decl,id expr) { id objcT146,objcT147,objcT148; # 782 "util.m" id r=(objcT146=BitfieldDecl,(*_imp(objcT146,selTransTbl[12]))(objcT146,selTransTbl[12])); (objcT147=r,(*_imp(objcT147,selTransTbl[36]))(objcT147,selTransTbl[36],decl)); (objcT148=r,(*_imp(objcT148,selTransTbl[13]))(objcT148,selTransTbl[13],expr)); return r; } # 22 "stardecl.h" extern id StarDecl; # 789 "util.m" id mkstardecl(id pointer,id decl) { id objcT149,objcT150,objcT151; # 792 "util.m" id r=(objcT149=StarDecl,(*_imp(objcT149,selTransTbl[12]))(objcT149,selTransTbl[12])); (objcT150=r,(*_imp(objcT150,selTransTbl[45]))(objcT150,selTransTbl[45],pointer)); (objcT151=r,(*_imp(objcT151,selTransTbl[36]))(objcT151,selTransTbl[36],decl)); return r; } # 22 "gasmop.h" extern id GnuAsmOp; # 799 "util.m" id mkasmop(id aList,id expr) { id objcT152,objcT153,objcT154; # 802 "util.m" id r=(objcT152=GnuAsmOp,(*_imp(objcT152,selTransTbl[12]))(objcT152,selTransTbl[12])); (objcT153=r,(*_imp(objcT153,selTransTbl[46]))(objcT153,selTransTbl[46],aList)); (objcT154=r,(*_imp(objcT154,selTransTbl[13]))(objcT154,selTransTbl[13],expr)); return r; } # 22 "gasmstmt.h" extern id GnuAsmStmt; # 809 "util.m" id mkasmstmt(id keyw,id typequal,id expr,id asmop1,id asmop2,id clobbers) { id objcT155,objcT156,objcT157,objcT158,objcT159; id objcT160,objcT161; # 812 "util.m" id r=(objcT155=GnuAsmStmt,(*_imp(objcT155,selTransTbl[12]))(objcT155,selTransTbl[12])); (objcT156=r,(*_imp(objcT156,selTransTbl[17]))(objcT156,selTransTbl[17],keyw)); (objcT157=r,(*_imp(objcT157,selTransTbl[47]))(objcT157,selTransTbl[47],typequal)); (objcT158=r,(*_imp(objcT158,selTransTbl[13]))(objcT158,selTransTbl[13],expr)); (objcT159=r,(*_imp(objcT159,selTransTbl[48]))(objcT159,selTransTbl[48],asmop1)); (objcT160=r,(*_imp(objcT160,selTransTbl[49]))(objcT160,selTransTbl[49],asmop2)); (objcT161=r,(*_imp(objcT161,selTransTbl[50]))(objcT161,selTransTbl[50],clobbers)); return r; } # 25 "compstmt.h" extern id CompoundStmt; # 823 "util.m" id mkcompstmt(id lbrace,id datadefs,id stmtlist,id subblock,id rbrace) { id objcT162,objcT163,objcT164,objcT165,objcT166; id objcT167; # 826 "util.m" id r=(objcT162=CompoundStmt,(*_imp(objcT162,selTransTbl[12]))(objcT162,selTransTbl[12])); (objcT163=r,(*_imp(objcT163,selTransTbl[51]))(objcT163,selTransTbl[51],lbrace)); (objcT164=r,(*_imp(objcT164,selTransTbl[28]))(objcT164,selTransTbl[28],datadefs)); (objcT165=r,(*_imp(objcT165,selTransTbl[52]))(objcT165,selTransTbl[52],stmtlist)); (objcT166=r,(*_imp(objcT166,selTransTbl[53]))(objcT166,selTransTbl[53],subblock)); (objcT167=r,(*_imp(objcT167,selTransTbl[54]))(objcT167,selTransTbl[54],rbrace)); return r; } # 39 "../../include/objpak/ordcltn.h" extern id OrdCltn; # 836 "util.m" id mklist(id c,id s) { id objcT168,objcT169; # 839 "util.m" if(c==(id)0) c=(objcT168=OrdCltn,(*_imp(objcT168,selTransTbl[12]))(objcT168,selTransTbl[12])); (void)0; (objcT169=c,(*_imp(objcT169,selTransTbl[31]))(objcT169,selTransTbl[31],s)); return c; } id mklist2(id c,id s,id t) { id objcT170,objcT171,objcT172; # 849 "util.m" if(c==(id)0) c=(objcT170=OrdCltn,(*_imp(objcT170,selTransTbl[12]))(objcT170,selTransTbl[12])); (void)0; (objcT171=c,(*_imp(objcT171,selTransTbl[31]))(objcT171,selTransTbl[31],s)); (objcT172=c,(*_imp(objcT172,selTransTbl[31]))(objcT172,selTransTbl[31],t)); return c; } id atdefsadd(id c,id cls) { id objcT173,objcT174,objcT175; # 860 "util.m" id scls=(objcT173=cls,(*_imp(objcT173,selTransTbl[55]))(objcT173,selTransTbl[55])); if(scls) atdefsadd(c,scls); (objcT174=c,(*_imp(objcT174,selTransTbl[56]))(objcT174,selTransTbl[56],(objcT175=cls,(*_imp(objcT175,selTransTbl[57]))(objcT175,selTransTbl[57])))); return c; } id atdefsaddall(id c,id n) { id objcT176,objcT177; # 871 "util.m" id cls; if(c==(id)0) c=(objcT176=OrdCltn,(*_imp(objcT176,selTransTbl[12]))(objcT176,selTransTbl[12])); (void)0; if((cls=(objcT177=trlunit,(*_imp(objcT177,selTransTbl[58]))(objcT177,selTransTbl[58],n)))){ atdefsadd(c,cls); }else{ id objcT178; # 879 "util.m" fatal("cannot find @defs of '%s'",(objcT178=n,(*(STR(*)(id,SEL))_imp(objcT178,selTransTbl[10]))(objcT178,selTransTbl[10]))); } return c; } # 24 "blockxpr.h" extern id BlockExpr; # 884 "util.m" id mkblockexpr(id lb,id parms,id datadefs,id stmts,id expr,id rb) { id objcT179,objcT180,objcT181,objcT182,objcT183; id objcT184,objcT185; # 887 "util.m" id r=(objcT179=BlockExpr,(*_imp(objcT179,selTransTbl[12]))(objcT179,selTransTbl[12])); (objcT180=r,(*_imp(objcT180,selTransTbl[51]))(objcT180,selTransTbl[51],lb)); (objcT181=r,(*_imp(objcT181,selTransTbl[59]))(objcT181,selTransTbl[59],parms)); (objcT182=r,(*_imp(objcT182,selTransTbl[28]))(objcT182,selTransTbl[28],datadefs)); (objcT183=r,(*_imp(objcT183,selTransTbl[52]))(objcT183,selTransTbl[52],stmts)); (objcT184=r,(*_imp(objcT184,selTransTbl[13]))(objcT184,selTransTbl[13],expr)); (objcT185=r,(*_imp(objcT185,selTransTbl[54]))(objcT185,selTransTbl[54],rb)); return r; } # 25 "classdef.h" extern id ClassDef; # 898 "util.m" id mkclassdef(id keyw,id name,id sname,id ivars,id cvars) { id objcT186,objcT187,objcT188,objcT198; # 901 "util.m" id r; BOOL intfkeyw=(keyw!=(id)0&&strstr((objcT186=keyw,(*(STR(*)(id,SEL))_imp(objcT186,selTransTbl[10]))(objcT186,selTransTbl[10])),"interface")!=NULL); BOOL implkeyw=(keyw!=(id)0&&strstr((objcT187=keyw,(*(STR(*)(id,SEL))_imp(objcT187,selTransTbl[10]))(objcT187,selTransTbl[10])),"implementation")!=NULL); if((r=(objcT188=trlunit,(*_imp(objcT188,selTransTbl[58]))(objcT188,selTransTbl[58],name)))){ if(intfkeyw){ id objcT189; # 908 "util.m" fatal("multiple interfaces for class %s.",(objcT189=r,(*(char*(*)(id,SEL))_imp(objcT189,selTransTbl[60]))(objcT189,selTransTbl[60]))); }else{ id objcT190,objcT191,objcT192; # 910 "util.m" if(sname) (objcT190=r,(*_imp(objcT190,selTransTbl[61]))(objcT190,selTransTbl[61],sname)); if(ivars) (objcT191=r,(*_imp(objcT191,selTransTbl[62]))(objcT191,selTransTbl[62],ivars)); if(cvars) (objcT192=r,(*_imp(objcT192,selTransTbl[63]))(objcT192,selTransTbl[63],cvars)); } }else{ id objcT193,objcT194,objcT195,objcT196,objcT197; # 918 "util.m" r=(objcT193=ClassDef,(*_imp(objcT193,selTransTbl[12]))(objcT193,selTransTbl[12])); (objcT194=r,(*_imp(objcT194,selTransTbl[64]))(objcT194,selTransTbl[64],name)); (objcT195=r,(*_imp(objcT195,selTransTbl[65]))(objcT195,selTransTbl[65],sname)); (objcT196=r,(*_imp(objcT196,selTransTbl[66]))(objcT196,selTransTbl[66],ivars)); (objcT197=r,(*_imp(objcT197,selTransTbl[67]))(objcT197,selTransTbl[67],cvars)); } if(implkeyw) (objcT198=r,(*_imp(objcT198,selTransTbl[68]))(objcT198,selTransTbl[68])); if(curclassdef){ id objcT199; # 929 "util.m" warn("definition of %s not properly ended.",(objcT199=curclassdef,(*(char*(*)(id,SEL))_imp(objcT199,selTransTbl[60]))(objcT199,selTransTbl[60]))); curclassdef=r; }else{ curclassdef=r; } return r; } BOOL lhsisid(id specs,id decl) { id objcT200,objcT201,objcT202,objcT203,objcT204; # 941 "util.m" return(objcT200=specs,(*(unsigned(*)(id,SEL))_imp(objcT200,selTransTbl[69]))(objcT200,selTransTbl[69]))==1&&(objcT201=(objcT202=specs,(*(id(*)(id,SEL,unsigned))_imp(objcT202,selTransTbl[70]))(objcT202,selTransTbl[70],0)),(*(BOOL(*)(id,SEL))_imp(objcT201,selTransTbl[71]))(objcT201,selTransTbl[71]))&&(objcT203=decl,(*(BOOL(*)(id,SEL,id))_imp(objcT203,selTransTbl[72]))(objcT203,selTransTbl[72],(id)(objcT204=NameDecl,(*_imp(objcT204,selTransTbl[73]))(objcT204,selTransTbl[73])))); } void datadefokblock(id datadef,id specs,id decl) { # 950 "util.m" if(specs){ okblock=lhsisid(specs,decl); }else{ id objcT205; # 953 "util.m" okblock=lhsisid((objcT205=datadef,(*_imp(objcT205,selTransTbl[74]))(objcT205,selTransTbl[74])),decl); } } # 22 "initdecl.h" extern id InitDecl; # 957 "util.m" id mkdatadef(id datadef,id specs,id decl,id initializer) { id objcT206,objcT207,objcT211; # 960 "util.m" if(datadef==(id)0) datadef=(objcT206=DataDef,(*_imp(objcT206,selTransTbl[12]))(objcT206,selTransTbl[12])); if(specs) (objcT207=datadef,(*_imp(objcT207,selTransTbl[30]))(objcT207,selTransTbl[30],specs)); if(initializer){ id objcT208,objcT209,objcT210; # 965 "util.m" decl=(objcT208=(objcT209=(objcT210=InitDecl,(*_imp(objcT210,selTransTbl[12]))(objcT210,selTransTbl[12])),(*_imp(objcT209,selTransTbl[36]))(objcT209,selTransTbl[36],decl)),(*_imp(objcT208,selTransTbl[75]))(objcT208,selTransTbl[75],initializer)); } (objcT211=datadef,(*_imp(objcT211,selTransTbl[31]))(objcT211,selTransTbl[31],decl)); return datadef; } id mkencodeexpr(id name) { return(id)0; } # 22 "enumsp.h" extern id EnumSpec; # 977 "util.m" id mkenumspec(id keyw,id name,id lb,id list,id rb) { id objcT212,objcT213,objcT214,objcT215,objcT216; id objcT217; # 980 "util.m" id r=(objcT212=EnumSpec,(*_imp(objcT212,selTransTbl[12]))(objcT212,selTransTbl[12])); (objcT213=r,(*_imp(objcT213,selTransTbl[17]))(objcT213,selTransTbl[17],keyw)); (objcT214=r,(*_imp(objcT214,selTransTbl[76]))(objcT214,selTransTbl[76],name)); (objcT215=r,(*_imp(objcT215,selTransTbl[51]))(objcT215,selTransTbl[51],lb)); if(list) (objcT216=r,(*_imp(objcT216,selTransTbl[77]))(objcT216,selTransTbl[77],list)); (objcT217=r,(*_imp(objcT217,selTransTbl[54]))(objcT217,selTransTbl[54],rb)); return r; } # 22 "enumtor.h" extern id Enumerator; # 991 "util.m" id mkenumerator(id name,id value) { id objcT218,objcT219,objcT220; # 994 "util.m" id r=(objcT218=Enumerator,(*_imp(objcT218,selTransTbl[12]))(objcT218,selTransTbl[12])); (objcT219=r,(*_imp(objcT219,selTransTbl[76]))(objcT219,selTransTbl[76],name)); if(value)(objcT220=r,(*_imp(objcT220,selTransTbl[78]))(objcT220,selTransTbl[78],value)); return r; } # 22 "gattrib.h" extern id GnuAttrib; # 1001 "util.m" id mkgnuattrib(id anyword,id exprlist) { id objcT221,objcT222,objcT223; # 1004 "util.m" id r=(objcT221=GnuAttrib,(*_imp(objcT221,selTransTbl[12]))(objcT221,selTransTbl[12])); (objcT222=r,(*_imp(objcT222,selTransTbl[79]))(objcT222,selTransTbl[79],anyword)); (objcT223=r,(*_imp(objcT223,selTransTbl[80]))(objcT223,selTransTbl[80],exprlist)); return r; } # 22 "gatrdecl.h" extern id GnuAttribDecl; # 1011 "util.m" id mkgnuattribdecl(id keyw,id list) { id objcT224,objcT225,objcT226; # 1014 "util.m" id r=(objcT224=GnuAttribDecl,(*_imp(objcT224,selTransTbl[12]))(objcT224,selTransTbl[12])); (objcT225=r,(*_imp(objcT225,selTransTbl[17]))(objcT225,selTransTbl[17],keyw)); (objcT226=r,(*_imp(objcT226,selTransTbl[81]))(objcT226,selTransTbl[81],list)); return r; } # 22 "listxpr.h" extern id ListExpr; # 1021 "util.m" id mklistexpr(id lb,id x,id rb) { id objcT227,objcT228,objcT229,objcT230; # 1024 "util.m" id r=(objcT227=ListExpr,(*_imp(objcT227,selTransTbl[12]))(objcT227,selTransTbl[12])); (objcT228=r,(*_imp(objcT228,selTransTbl[51]))(objcT228,selTransTbl[51],lb)); (objcT229=r,(*_imp(objcT229,selTransTbl[82]))(objcT229,selTransTbl[82],x)); (objcT230=r,(*_imp(objcT230,selTransTbl[54]))(objcT230,selTransTbl[54],rb)); return r; } # 34 "type.h" extern id Type; # 1032 "util.m" id mktypename(id specs,id decl) { id objcT231,objcT232,objcT233; # 1035 "util.m" id r=(objcT231=Type,(*_imp(objcT231,selTransTbl[12]))(objcT231,selTransTbl[12])); (objcT232=r,(*_imp(objcT232,selTransTbl[30]))(objcT232,selTransTbl[30],specs)); (objcT233=r,(*_imp(objcT233,selTransTbl[36]))(objcT233,selTransTbl[36],decl)); return r; } # 22 "compdef.h" extern id ComponentDef; # 1042 "util.m" id mkcomponentdef(id cdef,id specs,id decl) { id objcT234,objcT235,objcT236; # 1045 "util.m" if(cdef==(id)0) cdef=(objcT234=ComponentDef,(*_imp(objcT234,selTransTbl[12]))(objcT234,selTransTbl[12])); if(specs) (objcT235=cdef,(*_imp(objcT235,selTransTbl[30]))(objcT235,selTransTbl[30],specs)); (objcT236=cdef,(*_imp(objcT236,selTransTbl[31]))(objcT236,selTransTbl[31],decl)); return cdef; } # 24 "structsp.h" extern id StructSpec; # 1053 "util.m" id mkstructspec(id keyw,id name,id lb,id defs,id rb) { id objcT237,objcT238,objcT239,objcT240,objcT241; id objcT242; # 1056 "util.m" id r=(objcT237=StructSpec,(*_imp(objcT237,selTransTbl[12]))(objcT237,selTransTbl[12])); (objcT238=r,(*_imp(objcT238,selTransTbl[17]))(objcT238,selTransTbl[17],keyw)); (objcT239=r,(*_imp(objcT239,selTransTbl[76]))(objcT239,selTransTbl[76],name)); (objcT240=r,(*_imp(objcT240,selTransTbl[51]))(objcT240,selTransTbl[51],lb)); if(defs) (objcT241=r,(*_imp(objcT241,selTransTbl[83]))(objcT241,selTransTbl[83],defs)); (objcT242=r,(*_imp(objcT242,selTransTbl[54]))(objcT242,selTransTbl[54],rb)); return r; } # 22 "keywxpr.h" extern id KeywExpr; # 1067 "util.m" id mkkeywarg(id sel,id arg) { id objcT243,objcT244,objcT245; # 1070 "util.m" id r=(objcT243=KeywExpr,(*_imp(objcT243,selTransTbl[12]))(objcT243,selTransTbl[12])); (objcT244=r,(*_imp(objcT244,selTransTbl[17]))(objcT244,selTransTbl[17],sel)); (objcT245=r,(*_imp(objcT245,selTransTbl[84]))(objcT245,selTransTbl[84],arg)); return r; } # 22 "keywdecl.h" extern id KeywDecl; # 1077 "util.m" id mkkeywdecl(id sel,id cast,id arg) { id objcT246,objcT247,objcT248,objcT249; # 1080 "util.m" id r=(objcT246=KeywDecl,(*_imp(objcT246,selTransTbl[12]))(objcT246,selTransTbl[12])); (objcT247=r,(*_imp(objcT247,selTransTbl[17]))(objcT247,selTransTbl[17],sel)); (objcT248=r,(*_imp(objcT248,selTransTbl[22]))(objcT248,selTransTbl[22],cast)); (objcT249=r,(*_imp(objcT249,selTransTbl[84]))(objcT249,selTransTbl[84],arg)); return r; } # 22 "method.h" extern id Method; # 1088 "util.m" id mkmethproto(id cast,id usel,id ksel,BOOL varargs) { id objcT250,objcT251,objcT252,objcT253,objcT254; # 1091 "util.m" id r=(objcT250=Method,(*_imp(objcT250,selTransTbl[12]))(objcT250,selTransTbl[12])); (objcT251=r,(*_imp(objcT251,selTransTbl[85]))(objcT251,selTransTbl[85],cast)); (objcT252=r,(*_imp(objcT252,selTransTbl[86]))(objcT252,selTransTbl[86],usel)); (objcT253=r,(*_imp(objcT253,selTransTbl[87]))(objcT253,selTransTbl[87],ksel)); (objcT254=r,(*(id(*)(id,SEL,BOOL))_imp(objcT254,selTransTbl[88]))(objcT254,selTransTbl[88],varargs)); return r; } # 22 "identxpr.h" extern id IdentifierExpr; # 1100 "util.m" id mkidentexpr(id name) { id objcT255,objcT256; # 1103 "util.m" id r=(objcT255=IdentifierExpr,(*_imp(objcT255,selTransTbl[12]))(objcT255,selTransTbl[12])); (objcT256=r,(*_imp(objcT256,selTransTbl[40]))(objcT256,selTransTbl[40],name)); return r; } # 22 "constxpr.h" extern id ConstantExpr; # 1109 "util.m" id mkconstexpr(id name,id schain) { id objcT257,objcT258,objcT259; # 1112 "util.m" id r=(objcT257=ConstantExpr,(*_imp(objcT257,selTransTbl[12]))(objcT257,selTransTbl[12])); if(name) (objcT258=r,(*_imp(objcT258,selTransTbl[40]))(objcT258,selTransTbl[40],name)); if(schain) (objcT259=r,(*_imp(objcT259,selTransTbl[46]))(objcT259,selTransTbl[46],schain)); return r; } # 22 "precxpr.h" extern id PrecExpr; # 1121 "util.m" id mkprecexpr(id expr) { id objcT260,objcT261; # 1124 "util.m" id r=(objcT260=PrecExpr,(*_imp(objcT260,selTransTbl[12]))(objcT260,selTransTbl[12])); (objcT261=r,(*_imp(objcT261,selTransTbl[13]))(objcT261,selTransTbl[13],expr)); return r; } id mkbracedgroup(id expr) { id objcT262; # 1133 "util.m" (objcT262=expr,(*(id(*)(id,SEL,BOOL))_imp(objcT262,selTransTbl[89]))(objcT262,selTransTbl[89],(BOOL)1)); return mkprecexpr(expr); } # 22 "arrowxpr.h" extern id ArrowExpr; # 1137 "util.m" id mkarrowexpr(id array,id ix) { id objcT263,objcT264,objcT265; # 1140 "util.m" id r=(objcT263=ArrowExpr,(*_imp(objcT263,selTransTbl[12]))(objcT263,selTransTbl[12])); (objcT264=r,(*_imp(objcT264,selTransTbl[23]))(objcT264,selTransTbl[23],array)); (objcT265=r,(*_imp(objcT265,selTransTbl[24]))(objcT265,selTransTbl[24],ix)); return r; } # 22 "dotxpr.h" extern id DotExpr; # 1147 "util.m" id mkdotexpr(id array,id ix) { id objcT266,objcT267,objcT268; # 1150 "util.m" id r=(objcT266=DotExpr,(*_imp(objcT266,selTransTbl[12]))(objcT266,selTransTbl[12])); (objcT267=r,(*_imp(objcT267,selTransTbl[23]))(objcT267,selTransTbl[23],array)); (objcT268=r,(*_imp(objcT268,selTransTbl[24]))(objcT268,selTransTbl[24],ix)); return r; } # 22 "indexxpr.h" extern id IndexExpr; # 1157 "util.m" id mkindexexpr(id array,id ix) { id objcT269,objcT270,objcT271; # 1160 "util.m" id r=(objcT269=IndexExpr,(*_imp(objcT269,selTransTbl[12]))(objcT269,selTransTbl[12])); (objcT270=r,(*_imp(objcT270,selTransTbl[23]))(objcT270,selTransTbl[23],array)); (objcT271=r,(*_imp(objcT271,selTransTbl[24]))(objcT271,selTransTbl[24],ix)); return r; } # 22 "pfixxpr.h" extern id PostfixExpr; # 1167 "util.m" id mkpostfixexpr(id expr,id pf) { id objcT272,objcT273,objcT274,objcT275; # 1170 "util.m" id r=(objcT272=PostfixExpr,(*_imp(objcT272,selTransTbl[12]))(objcT272,selTransTbl[12])); (objcT273=r,(*_imp(objcT273,selTransTbl[13]))(objcT273,selTransTbl[13],expr)); (objcT274=r,(*(id(*)(id,SEL,STR))_imp(objcT274,selTransTbl[25]))(objcT274,selTransTbl[25],(objcT275=pf,(*(STR(*)(id,SEL))_imp(objcT275,selTransTbl[90]))(objcT275,selTransTbl[90])))); return r; } # 22 "parmdef.h" extern id ParameterDef; # 1177 "util.m" id mkparmdef(id parmdef,id specs,id decl) { id objcT276,objcT277,objcT278; # 1180 "util.m" id r=(objcT276=ParameterDef,(*_imp(objcT276,selTransTbl[12]))(objcT276,selTransTbl[12])); if(specs) (objcT277=r,(*_imp(objcT277,selTransTbl[30]))(objcT277,selTransTbl[30],specs)); (objcT278=r,(*_imp(objcT278,selTransTbl[36]))(objcT278,selTransTbl[36],decl)); return r; } # 22 "parmlist.h" extern id ParameterList; # 1188 "util.m" id mkparmdeflist(id idents,id parmdefs,BOOL varargs) { id objcT279,objcT280,objcT281,objcT282; # 1191 "util.m" id r=(objcT279=ParameterList,(*_imp(objcT279,selTransTbl[12]))(objcT279,selTransTbl[12])); if(idents) (objcT280=r,(*_imp(objcT280,selTransTbl[91]))(objcT280,selTransTbl[91],idents)); if(parmdefs) (objcT281=r,(*_imp(objcT281,selTransTbl[92]))(objcT281,selTransTbl[92],parmdefs)); (objcT282=r,(*(id(*)(id,SEL,BOOL))_imp(objcT282,selTransTbl[88]))(objcT282,selTransTbl[88],varargs)); return r; } # 22 "selector.h" extern id Selector; # 1201 "util.m" id mkselarg(id sel,id usel,int ncols) { if(sel==(id)0){ id objcT283,objcT284; # 1205 "util.m" (void)0; sel=(objcT283=Selector,(*(id(*)(id,SEL,STR))_imp(objcT283,selTransTbl[9]))(objcT283,selTransTbl[9],(objcT284=usel,(*(STR(*)(id,SEL))_imp(objcT284,selTransTbl[90]))(objcT284,selTransTbl[90])))); }else{ id objcT285,objcT286; # 1208 "util.m" if(usel) (objcT285=sel,(*_imp(objcT285,selTransTbl[31]))(objcT285,selTransTbl[31],usel)); while(ncols--) (objcT286=sel,(*_imp(objcT286,selTransTbl[93]))(objcT286,selTransTbl[93])); } return sel; } # 22 "selxpr.h" extern id SelectorExpr; # 1216 "util.m" id mkselectorexpr(id expr) { id objcT287,objcT288; # 1219 "util.m" id r=(objcT287=SelectorExpr,(*_imp(objcT287,selTransTbl[12]))(objcT287,selTransTbl[12])); (objcT288=r,(*_imp(objcT288,selTransTbl[94]))(objcT288,selTransTbl[94],expr)); return r; } id mkfilesupermsg(id sel,id arg) { id objcT289,objcT290,objcT291,objcT292; # 1228 "util.m" id ksel,m; m=(objcT289=MesgExpr,(*_imp(objcT289,selTransTbl[12]))(objcT289,selTransTbl[12])); (objcT290=m,(*_imp(objcT290,selTransTbl[38]))(objcT290,selTransTbl[38],e_super)); ksel=(objcT291=OrdCltn,(*_imp(objcT291,selTransTbl[31]))(objcT291,selTransTbl[31],mkkeywarg(sel,arg))); (objcT292=m,(*_imp(objcT292,selTransTbl[39]))(objcT292,selTransTbl[39],mkmethproto((id)0,(id)0,ksel,(BOOL)0))); return mkexprstmtx(m); } id mkfilemsg(id sel,id name) { id objcT293,objcT294,objcT295,objcT296,objcT297; # 1240 "util.m" id ksel,m; m=(objcT293=MesgExpr,(*_imp(objcT293,selTransTbl[12]))(objcT293,selTransTbl[12])); (objcT294=m,(*_imp(objcT294,selTransTbl[38]))(objcT294,selTransTbl[38],e_aFiler)); ksel=(objcT295=OrdCltn,(*_imp(objcT295,selTransTbl[31]))(objcT295,selTransTbl[31],mkkeywarg(sel,mkaddressof(mkidentexpr(name))))); (objcT296=ksel,(*_imp(objcT296,selTransTbl[31]))(objcT296,selTransTbl[31],mkkeywarg(s_type,e_ft_id))); (objcT297=m,(*_imp(objcT297,selTransTbl[39]))(objcT297,selTransTbl[39],mkmethproto((id)0,(id)0,ksel,(BOOL)0))); return mkexprstmtx(m); } id mkfileinoutmeth(id ssel,id fsel,id ivarnames,id ivartypes) { id objcT298,objcT299,objcT304,objcT305; # 1253 "util.m" id d,b,r; r=(objcT298=MethodDef,(*_imp(objcT298,selTransTbl[12]))(objcT298,selTransTbl[12])); if((d=(objcT299=Method,(*_imp(objcT299,selTransTbl[12]))(objcT299,selTransTbl[12])))){ id objcT300,objcT301,objcT302,objcT303; # 1257 "util.m" id ksel=(objcT300=OrdCltn,(*_imp(objcT300,selTransTbl[31]))(objcT300,selTransTbl[31],mkkeywdecl(ssel,(id)0,s_aFiler))); (objcT301=d,(*_imp(objcT301,selTransTbl[87]))(objcT301,selTransTbl[87],ksel)); (objcT302=d,(*(id(*)(id,SEL,BOOL))_imp(objcT302,selTransTbl[95]))(objcT302,selTransTbl[95],(BOOL)0)); (objcT303=r,(*_imp(objcT303,selTransTbl[33]))(objcT303,selTransTbl[33],d)); } (objcT304=r,(*_imp(objcT304,selTransTbl[34]))(objcT304,selTransTbl[34])); if((b=(objcT305=CompoundStmt,(*_imp(objcT305,selTransTbl[12]))(objcT305,selTransTbl[12])))){ id objcT306,objcT307,objcT308,objcT313,objcT314; id objcT315,objcT316; # 1265 "util.m" int i,n; id s=(objcT306=OrdCltn,(*_imp(objcT306,selTransTbl[12]))(objcT306,selTransTbl[12])); (objcT307=s,(*_imp(objcT307,selTransTbl[31]))(objcT307,selTransTbl[31],mkfilesupermsg(ssel,e_aFiler))); for(i=0,n=(objcT308=ivartypes,(*(unsigned(*)(id,SEL))_imp(objcT308,selTransTbl[69]))(objcT308,selTransTbl[69]));i