diff --git a/src/0000Boot/0000Kernel.BIN.C b/src/0000Boot/0000Kernel.BIN.C index a70c8359..474bc98a 100755 Binary files a/src/0000Boot/0000Kernel.BIN.C and b/src/0000Boot/0000Kernel.BIN.C differ diff --git a/src/Apps/Psalmody/PsalmodyFile.HC b/src/Apps/Psalmody/PsalmodyFile.HC index 4bf76053..78f0125d 100755 --- a/src/Apps/Psalmody/PsalmodyFile.HC +++ b/src/Apps/Psalmody/PsalmodyFile.HC @@ -200,7 +200,7 @@ U0 PsmLoadSong(U8 *filename,I64 *psm_octave,F64 *psm_duration) { U8 *st; PsmNote *tmpn; - CCmpCtrl *cc=CmpCtrlNew(MStrPrint("#include \"%s\"",filename)); + CCompCtrl *cc=CompCtrlNew(MStrPrint("#include \"%s\"",filename)); if (FileOcc("incomplete",filename,"")) psm.incomplete_entry->checked=TRUE; else @@ -242,7 +242,7 @@ U0 PsmLoadSong(U8 *filename,I64 *psm_octave,F64 *psm_duration) } } } - CmpCtrlDel(cc); + CompCtrlDel(cc); } U8 *PsmCvtSong() diff --git a/src/Compiler/Asm.HC b/src/Compiler/Asm.HC index f2fd9128..42c5f11d 100755 --- a/src/Compiler/Asm.HC +++ b/src/Compiler/Asm.HC @@ -1,4 +1,4 @@ -Bool ParseAsmImm(CCmpCtrl *cc,CAsmArg *arg) +Bool ParseAsmImm(CCompCtrl *cc,CAsmArg *arg) { if (arg->imm_or_off_present) LexExcept(cc,"Already one immediate at "); @@ -32,7 +32,7 @@ Bool ParseAsmImm(CCmpCtrl *cc,CAsmArg *arg) return TRUE; } -U0 ParseAsmArg(CCmpCtrl *cc,CAsmArg *arg,Bool rel) +U0 ParseAsmArg(CCompCtrl *cc,CAsmArg *arg,Bool rel) { CHashGeneric *tmph,*tmph1; CHashReg *tmpr; @@ -174,7 +174,7 @@ pa_asm_indirect_imm: } } -I64 AsmMakeArgMask(CCmpCtrl *cc,CAsmArg *arg) +I64 AsmMakeArgMask(CCompCtrl *cc,CAsmArg *arg) { CAOTCtrl *aotc=cc->aotc; I64 res; @@ -265,7 +265,7 @@ mm_done: return res; } -Bool AsmStoreNum(CCmpCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail) +Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail) { CAOTCtrl *aotc=cc->aotc; I64 i; @@ -392,7 +392,7 @@ Bool AsmStoreNum(CCmpCtrl *cc,CAsmNum2 *num2,I64 cnt,Bool U8_avail) U8 asm_seg_prefixes[6]={0x26,0x2E,0x36,0x3E,0x64,0x65}; -Bool ParseAsmInst(CCmpCtrl *cc,CHashOpcode *tmpo,I64 argcnt) +Bool ParseAsmInst(CCompCtrl *cc,CHashOpcode *tmpo,I64 argcnt) { CAOTCtrl *aotc=cc->aotc; I64 i,j,arg1,arg2,om,seg,arg1mask,arg2mask; @@ -811,7 +811,7 @@ Bool ParseAsmInst(CCmpCtrl *cc,CHashOpcode *tmpo,I64 argcnt) LexExcept(cc,"Invalid inst at "); } -U0 ParseAsmDefine(CCmpCtrl *cc,I64 U8_cnt) +U0 ParseAsmDefine(CCompCtrl *cc,I64 U8_cnt) { Bool is_dup; I64 i,dup_val; @@ -885,7 +885,7 @@ U0 ParseAsmDefine(CCmpCtrl *cc,I64 U8_cnt) Lex(cc); } -U0 ParseBinFile(CCmpCtrl *cc) +U0 ParseBinFile(CCompCtrl *cc) { I64 i,size; U8 *buf,*st; @@ -901,7 +901,7 @@ U0 ParseBinFile(CCmpCtrl *cc) Lex(cc); } -U0 ParseAsmBlk(CCmpCtrl *cc,I64 cmp_flags) +U0 ParseAsmBlk(CCompCtrl *cc,I64 cmp_flags) { CAOTCtrl *aotc=cc->aotc; I64 i,j,k,argcnt, diff --git a/src/Compiler/AsmInit.HC b/src/Compiler/AsmInit.HC index bbd2206b..2aea2837 100755 --- a/src/Compiler/AsmInit.HC +++ b/src/Compiler/AsmInit.HC @@ -1,4 +1,4 @@ -U0 AsmPrsInsFlags(CCmpCtrl *cc,CInst *tmpins) +U0 AsmPrsInsFlags(CCompCtrl *cc,CInst *tmpins) { I64 i; while (TRUE) { @@ -51,7 +51,7 @@ U0 AsmHashLoad() {//See $LK,"::/Compiler/OpCodes.DD"$. I64 i,j,size,size_max; CInternalType *tmpit; - CCmpCtrl *cc; + CCompCtrl *cc; CHashGeneric *tmph; CHashReg *tmpr; CHashOpcode *tmpo,*tmpo2,*tmpo_max; @@ -68,7 +68,7 @@ U0 AsmHashLoad() size_max=offset(CHashOpcode.ins)+sizeof(CInst)<<5; tmpo_max=MAlloc(size_max); - cc=CmpCtrlNew(FileRead("OpCodes.DD"),,"OpCodes.DD"); + cc=CompCtrlNew(FileRead("OpCodes.DD"),,"OpCodes.DD"); cc->htc.hash_table_lst=NULL; Lex(cc); while (cc->token) { @@ -193,7 +193,7 @@ U0 AsmHashLoad() Lex(cc); //Skip ';' } Free(tmpo_max); - CmpCtrlDel(cc); + CompCtrlDel(cc); for (i=0;iaotc; I64 i=aotc->rip>>AOT_BIN_BLK_BITS; @@ -27,7 +27,7 @@ U0 AOTStoreCodeU8(CCmpCtrl *cc,U8 b) aotc->num_bin_U8s=aotc->rip; } -U0 AOTStoreCodeU32(CCmpCtrl *cc,U32 d) +U0 AOTStoreCodeU32(CCompCtrl *cc,U32 d) { CAOTCtrl *aotc=cc->aotc; I64 i=aotc->rip>>AOT_BIN_BLK_BITS,j=(aotc->rip+sizeof(U32))>>AOT_BIN_BLK_BITS; @@ -65,7 +65,7 @@ U0 AOTStoreCodeU32(CCmpCtrl *cc,U32 d) } } -U0 AOTStoreCodeU64(CCmpCtrl *cc,U64 q) +U0 AOTStoreCodeU64(CCompCtrl *cc,U64 q) { CAOTCtrl *aotc=cc->aotc; I64 i=aotc->rip>>AOT_BIN_BLK_BITS, @@ -103,7 +103,7 @@ U0 AOTStoreCodeU64(CCmpCtrl *cc,U64 q) } } -U0 AOTStoreCodeU8At(CCmpCtrl *cc,I64 rip,...) +U0 AOTStoreCodeU8At(CCompCtrl *cc,I64 rip,...) { CAOTCtrl *aotc=cc->aotc; CAOTBinBlk *tmpbin; @@ -124,7 +124,7 @@ U0 AOTStoreCodeU8At(CCmpCtrl *cc,I64 rip,...) aotc->num_bin_U8s=rip; } -I64 AsmLexExpression(CCmpCtrl *cc) +I64 AsmLexExpression(CCompCtrl *cc) { U8 *machine_code; I64 res=0; @@ -144,7 +144,7 @@ I64 AsmLexExpression(CCmpCtrl *cc) return res; } -U0 AsmLineLst(CCmpCtrl *cc) +U0 AsmLineLst(CCompCtrl *cc) { CAOTCtrl *aotc=cc->aotc; CLexFile *tmpf=cc->lex_include_stk; diff --git a/src/Compiler/AsmResolve.HC b/src/Compiler/AsmResolve.HC index fa07107d..a7d0f0fd 100755 --- a/src/Compiler/AsmResolve.HC +++ b/src/Compiler/AsmResolve.HC @@ -1,4 +1,4 @@ -U0 AsmResolve(CCmpCtrl *cc,CAsmUnresolvedRef *tmpu,U8 *label,Bool undefined) +U0 AsmResolve(CCompCtrl *cc,CAsmUnresolvedRef *tmpu,U8 *label,Bool undefined) { CAOTImportExport *tmpie; CAsmUndefHash *tmpauh; @@ -40,7 +40,7 @@ U0 AsmResolve(CCmpCtrl *cc,CAsmUnresolvedRef *tmpu,U8 *label,Bool undefined) } } -U0 AOTLocalsResolve(CCmpCtrl *cc) +U0 AOTLocalsResolve(CCompCtrl *cc) { CAOTCtrl *aotc=cc->aotc; CAsmUnresolvedRef *tmpu=aotc->local_unresolved,*tmpu1; @@ -74,7 +74,7 @@ U0 AOTLocalsResolve(CCmpCtrl *cc) aotc->local_unresolved=NULL; } -U0 AOTGlblsResolve(CCmpCtrl *cc,CAOT *tmpaot) +U0 AOTGlblsResolve(CCompCtrl *cc,CAOT *tmpaot) { CAOTCtrl *aotc=cc->aotc; CHashFun *tmpf; @@ -186,7 +186,7 @@ U0 AOTGlblsResolve(CCmpCtrl *cc,CAOT *tmpaot) } } -U0 AsmUnresolvedAdd(CCmpCtrl *cc,U8 *machine_code,I64 type,I64 rip,I64 rel_rip, +U0 AsmUnresolvedAdd(CCompCtrl *cc,U8 *machine_code,I64 type,I64 rip,I64 rel_rip, CAsmUndefHash *local_asm_undef_hash,CAsmUndefHash *glbl_asm_undef_hash, I64 line_num,Bool U8_avail) { diff --git a/src/Compiler/BackB.HC b/src/Compiler/BackB.HC index 6c5135d6..c20179ea 100755 --- a/src/Compiler/BackB.HC +++ b/src/Compiler/BackB.HC @@ -99,7 +99,7 @@ U0 ICXorXor(CIntermediateCode *tmpi,I64 rip) MDF_REG+RT_I64,REG_RAX,0,rip); } -U0 ICCmp(CIntermediateCode *tmpi,I64 us,I64 is,I64 rip) +U0 ICComp(CIntermediateCode *tmpi,I64 us,I64 is,I64 rip) { I64 r1,d1,r2,i=0x48,j=tmpi->arg2.disp; if (tmpi->arg2.type&MDF_IMM && I32_MIN<=j<=I32_MAX) { @@ -274,19 +274,19 @@ U0 ICToUpper(CIntermediateCode *tmpi,I64 rip) ICU32(tmpi,0xE0C08348); } -U0 ICToI64(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip) +U0 ICToI64(CCompCtrl *cc,CIntermediateCode *tmpi,I64 rip) { ICFCvt(cc,tmpi,REG_RAX, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,TRUE,CN_INST,rip); } -U0 ICToF64(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip) +U0 ICToF64(CCompCtrl *cc,CIntermediateCode *tmpi,I64 rip) { ICFCvt(cc,tmpi,REG_RAX, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,FALSE,CN_INST,rip); } -U0 ICToBool(CCmpCtrl *,CIntermediateCode *tmpi,I64 rip) +U0 ICToBool(CCompCtrl *,CIntermediateCode *tmpi,I64 rip) { I64 r; if (tmpi->arg1.type&MDF_REG) @@ -465,7 +465,7 @@ U0 ICAssignPostIncDec(CIntermediateCode *tmpi,I64 op,I64 rip) } } -U0 ICCmpAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip, +U0 ICCompAndBranch(CIntermediateCode *tmpi,Bool has_res,I64 rip, I64 us,I64 is,I64 not_us,I64 not_is,U8 *buf,I64 rip2) { I64 r1,r2,i=0x48,j,res_reg; diff --git a/src/Compiler/BackC.HC b/src/Compiler/BackC.HC index 4e9ed632..41a3e5d7 100755 --- a/src/Compiler/BackC.HC +++ b/src/Compiler/BackC.HC @@ -600,7 +600,7 @@ U0 ICXorEqu(CIntermediateCode *tmpi,I64 rip2) } U0 ICSwitch(CIntermediateCode *tmpi,I64 rip, - Bool nobound,CCmpCtrl *cc,U8 *buf,I64 rip2) + Bool nobound,CCompCtrl *cc,U8 *buf,I64 rip2) { I64 i,j,cnt,min,max,begin,r; CCodeMisc *lb; diff --git a/src/Compiler/BackFA.HC b/src/Compiler/BackFA.HC index b6df4581..7a428dab 100755 --- a/src/Compiler/BackFA.HC +++ b/src/Compiler/BackFA.HC @@ -3,7 +3,7 @@ #define CN_INST 2 #define CN_RES 3 -U0 CmpNoteFloatOp(CCmpCtrl *cc,CIntermediateCode *tmpi, +U0 CompNoteFloatOp(CCompCtrl *cc,CIntermediateCode *tmpi, Bool dont_pushable,Bool dont_popable,I64 pos) { Bool link=FALSE; @@ -59,7 +59,7 @@ U0 CmpNoteFloatOp(CCmpCtrl *cc,CIntermediateCode *tmpi, throw('Compiler'); } -U0 CmpSetFloatOpPushPop(CCmpCtrl *cc,CIntermediateCode *tmpi, +U0 CompSetFloatOpPushPop(CCompCtrl *cc,CIntermediateCode *tmpi, Bool *dont_push_float,Bool *dont_pop_float) { if (cc->pass==7) { @@ -74,7 +74,7 @@ U0 CmpSetFloatOpPushPop(CCmpCtrl *cc,CIntermediateCode *tmpi, } } -U0 ICCopyTemplate(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op, +U0 ICCopyTemplate(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op, Bool off_the_record,Bool dont_pushable,Bool dont_popable,I64 pos) { Bool dont_push_float,dont_pop_float,alt; @@ -85,7 +85,7 @@ U0 ICCopyTemplate(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op, alt=TRUE; else alt=FALSE; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); } else { dont_push_float=FALSE; dont_pop_float=FALSE; @@ -116,11 +116,11 @@ U0 ICCopyTemplate(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op, } MemCpy(&tmpi->ic_body[tmpi->ic_cnt],ptr,i); if (!off_the_record) - CmpNoteFloatOp(cc,tmpi,dont_pushable,dont_popable,pos); + CompNoteFloatOp(cc,tmpi,dont_pushable,dont_popable,pos); tmpi->ic_cnt+=i; } -U0 ICFCvt(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, +U0 ICFCvt(CCompCtrl *cc,CIntermediateCode *tmpi,I64 r1, CICType t2,I64 r2,I64 d2,Bool to_int,I64 pos,I64 rip) { I64 rsp_size=0,op1,op2; @@ -134,7 +134,7 @@ U0 ICFCvt(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, op2=SLASH_OP_FSTP; } - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (!dont_push_float) { if (!(t2.raw_type>=RT_I64 && t2&MDG_DISP_SIB_RIP)) { ICPush(tmpi,t2,r2,d2,rip); @@ -154,9 +154,9 @@ U0 ICFCvt(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, } } if (to_int) - CmpNoteFloatOp(cc,tmpi,TRUE,FALSE,pos); + CompNoteFloatOp(cc,tmpi,TRUE,FALSE,pos); else - CmpNoteFloatOp(cc,tmpi,FALSE,TRUE,pos); + CompNoteFloatOp(cc,tmpi,FALSE,TRUE,pos); if (dont_pop_float) { if (rsp_size) ICAddRSP(tmpi,rsp_size); @@ -166,7 +166,7 @@ U0 ICFCvt(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, } } -U0 ICFCvt2(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, +U0 ICFCvt2(CCompCtrl *cc,CIntermediateCode *tmpi,I64 r1, CICType t2,I64 r2,I64 d2,Bool to_int,I64 rip) { I64 rsp_size=0,op1,op2; @@ -191,7 +191,7 @@ U0 ICFCvt2(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 r1, cc->last_dont_pushable=cc->last_dont_popable=FALSE; //TODO: improve this } -U0 ICFUnaryMinus(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf2,I64 rip) +U0 ICFUnaryMinus(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf2,I64 rip) { CICArg *arg1=&tmpi->arg1; I64 rsp_size=0,builtin1=0,t1,r1,d1; @@ -200,7 +200,7 @@ U0 ICFUnaryMinus(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf2,I64 rip) if (cc->flags&CCF_AOT_COMPILE) buf2=cc->aotc->rip; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (!dont_push_float) { if (arg1->type.raw_type>=RT_I64 && arg1->type&MDG_DISP_SIB_RIP) { t1=arg1->type; @@ -229,7 +229,7 @@ U0 ICFUnaryMinus(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf2,I64 rip) ICAddRSP(tmpi,-8); } ICU16(tmpi,0xE0D9); //FCHS - CmpNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); if (dont_pop_float) { if (rsp_size) ICAddRSP(tmpi,rsp_size); @@ -239,10 +239,10 @@ U0 ICFUnaryMinus(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf2,I64 rip) } } -U0 ICFMod(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip) +U0 ICFMod(CCompCtrl *cc,CIntermediateCode *tmpi,I64 rip) {//for MOD Bool dont_push_float,dont_pop_float; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_push_float) { if (tmpi->ic_flags&ICF_ALT_TEMPLATE) ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0, @@ -263,7 +263,7 @@ U0 ICFMod(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip) MDF_REG+RT_I64,REG_RAX,0,rip); } -U0 ICFPow(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) +U0 ICFPow(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) {//for POW I64 i; CAOTImportExport *tmpie; @@ -336,7 +336,7 @@ U0 ICFPow(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) MDF_REG+RT_I64,REG_RAX,0,rip); } -U0 ICFOp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) +U0 ICFOp(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) {//for ADD,SUB,DIV,MUL CICArg *arg1,*arg2; Bool dont_push_float,dont_pop_float,alt; @@ -355,7 +355,7 @@ U0 ICFOp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) if (cc->flags&CCF_AOT_COMPILE) buf2=cc->aotc->rip; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_push_float) { if (arg2->type.raw_type>=RT_I64 && arg2->type&MDG_DISP_SIB_RIP) { t2=arg2->type; @@ -500,7 +500,7 @@ U0 ICFOp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) ICU16(tmpi,op.u16[2]); } else ICSlashOp(tmpi,t2,r2,d2,op,rip); - CmpNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); if (dont_pop_float) { if (rsp_size) ICAddRSP(tmpi,rsp_size); @@ -516,10 +516,10 @@ U0 ICFOp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) } } -U0 ICFCmp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) +U0 ICFCmp(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) { Bool dont_push_float,dont_pop_float; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_push_float) { if (tmpi->ic_flags&ICF_ALT_TEMPLATE) { if (tmpi->ic_flags&ICF_POP_CMP) @@ -546,10 +546,10 @@ U0 ICFCmp(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) MDF_REG+RT_I64,REG_RAX,0,rip); } -U0 ICFModEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip) +U0 ICFModEqu(CCompCtrl *cc,CIntermediateCode *tmpi,I64 rip) { Bool dont_push_float,dont_pop_float; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (tmpi->ic_flags & ICF_BY_VAL) { if (dont_push_float) { ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0, diff --git a/src/Compiler/BackFB.HC b/src/Compiler/BackFB.HC index e4351e34..dafdfde3 100755 --- a/src/Compiler/BackFB.HC +++ b/src/Compiler/BackFB.HC @@ -1,4 +1,4 @@ -U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) +U0 ICFOpEqu(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) {//for ADD,SUB,DIV,MUL CICArg *arg1=&tmpi->arg1, *arg2=&tmpi->arg2; @@ -9,7 +9,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) if (cc->flags&CCF_AOT_COMPILE) buf2=cc->aotc->rip; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_pop_float) throw('Compiler'); @@ -98,7 +98,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) case 6: op=SLASH_OP_FDIVR; break; } ICSlashOp(tmpi,t1,r1,d1,op,rip); - CmpNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); if (p1_mem && tmpi->arg1_type_pointed_to==RT_F64) { ICSlashOp(tmpi,t1,r1,d1,SLASH_OP_FSTP,rip); if (rsp_size) @@ -197,7 +197,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) case 6: op=SLASH_OP_FDIVR; break; } ICSlashOp(tmpi,t1,r1,d1,op,rip); - CmpNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); if (p1_mem && tmpi->arg1_type_pointed_to==RT_F64) { ICSlashOp(tmpi,MDF_DISP+tmpi->arg1_type_pointed_to, REG_RCX,0,SLASH_OP_FSTP,rip); @@ -223,7 +223,7 @@ U0 ICFOpEqu(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,U8 *buf2,I64 rip) } } -U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip, +U0 ICFCmpAndBranch(CCompCtrl *cc,CIntermediateCode *tmpi,I64 rip, I64 us,I64 not_us,U8 *buf,I64 rip2) { CICArg *arg1,*arg2; @@ -247,7 +247,7 @@ U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip, else buf2=buf; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_push_float) { if (tmpi->ic_flags&ICF_POP_CMP && alt) { t2=MDF_SIB+RT_I64; r2=REG_RSP+REG_RSP<<8; d2=0; @@ -423,7 +423,7 @@ U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip, ICU16(tmpi,0xF1DF); //FCOMIP ICU32(tmpi,0xF7D9C0DD); //FFREE,FINCSTP } - CmpNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,FALSE,CN_INST); if (tmpi->ic_flags&ICF_PUSH_CMP) { if (r2.u8[0]==REG_RSP) { @@ -485,37 +485,37 @@ U0 ICFCmpAndBranch(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 rip, } } -U0 ICFMul(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) +U0 ICFMul(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) { if (tmpi->arg1.type&MDF_IMM && tmpi->arg1.type&RTG_MASK==RT_F64 && tmpi->arg1.disp(F64)==1.0) { - CmpNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg2.type,tmpi->arg2.reg,tmpi->arg2.disp,rip); } else if (tmpi->arg2.type&MDF_IMM && tmpi->arg2.type&RTG_MASK==RT_F64&& tmpi->arg2.disp(F64)==1.0) { - CmpNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip); } else ICFOp(cc,tmpi,SLASH_OP_FMUL,buf,rip); } -U0 ICFDiv(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) +U0 ICFDiv(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) { if (tmpi->arg2.type&MDF_IMM && tmpi->arg2.type&RTG_MASK==RT_F64 && tmpi->arg2.disp(F64)==1.0) { - CmpNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); + CompNoteFloatOp(cc,tmpi,FALSE,FALSE,CN_INST); ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip); } else ICFOp(cc,tmpi,SLASH_OP_FDIV,buf,rip); } -U0 ICFAdd(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) +U0 ICFAdd(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) { Bool dont_push_float,dont_pop_float; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (tmpi->arg1.type&MDF_IMM && !tmpi->arg1.disp) { if (dont_push_float) { ICCopyTemplate(cc,tmpi,CMP_TEMPLATE_FSTP,FALSE,TRUE,TRUE,CN_INST); @@ -526,7 +526,7 @@ U0 ICFAdd(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) tmpi->arg2.type,tmpi->arg2.reg,tmpi->arg2.disp,rip); ICCopyTemplate(cc,tmpi,CMP_TEMPLATE_FLD,FALSE,TRUE,TRUE,CN_INST); } else { - CmpNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg2.type,tmpi->arg2.reg,tmpi->arg2.disp,rip); } @@ -542,17 +542,17 @@ U0 ICFAdd(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) } else { ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip); - CmpNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); } } else ICFOp(cc,tmpi,SLASH_OP_FADD,buf,rip); } -U0 ICFSub(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) +U0 ICFSub(CCompCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) { Bool dont_push_float,dont_pop_float; if (tmpi->arg2.type&MDF_IMM && !tmpi->arg2.disp) { - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (dont_push_float) { ICCopyTemplate(cc,tmpi,CMP_TEMPLATE_FSTP,FALSE,TRUE,TRUE,CN_INST); ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, @@ -564,13 +564,13 @@ U0 ICFSub(CCmpCtrl *cc,CIntermediateCode *tmpi,U8 *buf,I64 rip) } else { ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip); - CmpNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); + CompNoteFloatOp(cc,tmpi,TRUE,TRUE,CN_INST); } } else ICFOp(cc,tmpi,SLASH_OP_FSUB,buf,rip); } -U0 ICFPreIncDec(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) +U0 ICFPreIncDec(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) { if (tmpi->ic_flags & ICF_BY_VAL) { ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0, @@ -590,7 +590,7 @@ U0 ICFPreIncDec(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) MDF_REG+RT_I64,REG_RAX,0,rip); } -U0 ICFPostIncDec(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) +U0 ICFPostIncDec(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) { if (tmpi->ic_flags & ICF_BY_VAL) { ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0, @@ -614,11 +614,11 @@ U0 ICFPostIncDec(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) MDF_REG+RT_I64,REG_RDX,0,rip); } -U0 ICFTemplateFun(CCmpCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) +U0 ICFTemplateFun(CCompCtrl *cc,CIntermediateCode *tmpi,I64 op,I64 rip) { Bool dont_push_float,dont_pop_float; - CmpSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); + CompSetFloatOpPushPop(cc,tmpi,&dont_push_float,&dont_pop_float); if (!dont_push_float) ICMov(tmpi,MDF_REG+RT_I64,REG_RAX,0, tmpi->arg1.type,tmpi->arg1.reg,tmpi->arg1.disp,rip); diff --git a/src/Compiler/BackLib.HC b/src/Compiler/BackLib.HC index 06467861..9679c13e 100755 --- a/src/Compiler/BackLib.HC +++ b/src/Compiler/BackLib.HC @@ -659,7 +659,7 @@ move_redundant: } U0 ICLea(CIntermediateCode *tmpi,CICType t1,I64 r1,I64 d1, - CICType t2,I64 r2,I64 d2,CCmpCtrl *cc,U8 *buf,I64 rip) + CICType t2,I64 r2,I64 d2,CCompCtrl *cc,U8 *buf,I64 rip) { I64 i; CAOTAbsAddr *tmpa; diff --git a/src/Compiler/CExcept.HC b/src/Compiler/CExcept.HC index b584a8ce..ebcdc638 100755 --- a/src/Compiler/CExcept.HC +++ b/src/Compiler/CExcept.HC @@ -1,4 +1,4 @@ -U0 LexPutToken(CCmpCtrl *cc) +U0 LexPutToken(CCompCtrl *cc) {//Print cur token to StdOut. (Crude) '"'; if (cc->token==TK_IDENT || cc->token==TK_STR) @@ -19,7 +19,7 @@ U0 LexPutToken(CCmpCtrl *cc) "\" "; } -U8 *LexPutLine(CCmpCtrl *cc,U8 *start) +U8 *LexPutLine(CCompCtrl *cc,U8 *start) {//Print cur pos to end of line to StdOut. I64 ch; U8 *ptr; @@ -47,7 +47,7 @@ U8 *LexPutLine(CCmpCtrl *cc,U8 *start) return NULL; } -U0 LexPutPos(CCmpCtrl *cc) +U0 LexPutPos(CCompCtrl *cc) {//Print token, line link and, then, $LK,"LexPutLine",A="MN:LexPutLine"$(). LexPutToken(cc); FixSet(cc->lex_include_stk->full_name,cc->lex_include_stk->line_num); @@ -62,7 +62,7 @@ U0 LexPutPos(CCmpCtrl *cc) LexPutLine(cc,cc->lex_include_stk->line_start); } -U0 LexWarn(CCmpCtrl *cc,U8 *str=NULL) +U0 LexWarn(CCompCtrl *cc,U8 *str=NULL) {//Print warn msg, then, $LK,"LexPutPos",A="MN:LexPutPos"$(). if (str) PrintWarn(str); if (cc->htc.fun) { @@ -78,7 +78,7 @@ U0 LexWarn(CCmpCtrl *cc,U8 *str=NULL) cc->warning_cnt++; } -U0 LexExcept(CCmpCtrl *cc,U8 *str=NULL) +U0 LexExcept(CCompCtrl *cc,U8 *str=NULL) {//Print err msg, $LK,"LexPutPos",A="MN:LexPutPos"$() and throw exception. if (!Bt(&sys_run_level,RLf_ZENITH_SERVER)) { Raw(ON); @@ -101,13 +101,13 @@ U0 UndefinedExtern() throw('UndefExt'); } -U0 UnusedExternWarning(CCmpCtrl *cc,CHashClass *tmpc) +U0 UnusedExternWarning(CCompCtrl *cc,CHashClass *tmpc) { PrintWarn("Unused extern '%s'\n",tmpc->str); cc->warning_cnt++; } -U0 ParenWarning(CCmpCtrl *cc) +U0 ParenWarning(CCompCtrl *cc) { if (Bt(&cc->opts,OPTf_WARN_PAREN) && !(cc->lex_include_stk->flags&LFSF_DEFINE)) @@ -181,7 +181,7 @@ U0 ICArgPut(CICArg *a,I64 type_pointed_to) '' CH_SPACE; } -U0 ICPut(CCmpCtrl *cc,CIntermediateCode *tmpi) +U0 ICPut(CCompCtrl *cc,CIntermediateCode *tmpi) { I64 opcode=tmpi->ic_code,i; if (opcode>=IC_END_EXP && opcode!=IC_NOP2) { diff --git a/src/Compiler/CExts.HC b/src/Compiler/CExts.HC index 2f91face..e06a81c5 100755 --- a/src/Compiler/CExts.HC +++ b/src/Compiler/CExts.HC @@ -9,35 +9,35 @@ import I64 DocSize(CDoc *doc); import Bool DocWrite(CDoc *doc,Bool prompt=FALSE); extern U8 *CmdLinePrompt(); extern I64 HashEntrySize2(CHashSrcSym *tmph); -extern Bool IsLexExpression2Bin(CCmpCtrl *cc,U8 **_machine_code); -extern I64 Lex(CCmpCtrl *cc); -extern I64 LexExpression(CCmpCtrl *cc); -extern I64 LexGetChar(CCmpCtrl *cc); +extern Bool IsLexExpression2Bin(CCompCtrl *cc,U8 **_machine_code); +extern I64 Lex(CCompCtrl *cc); +extern I64 LexExpression(CCompCtrl *cc); +extern I64 LexGetChar(CCompCtrl *cc); extern CCodeMisc *OptLabelFwd(CCodeMisc *lb); -extern CIntermediateCode *OptPass012(CCmpCtrl *cc); -extern U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets); -extern U0 OptPass4(CCmpCtrl *cc,COptReg *reg_offsets,I64 *_type); -extern U0 OptPass5(CCmpCtrl *cc); -extern U0 OptPass6(CCmpCtrl *cc); +extern CIntermediateCode *OptPass012(CCompCtrl *cc); +extern U0 OptPass3(CCompCtrl *cc,COptReg *reg_offsets); +extern U0 OptPass4(CCompCtrl *cc,COptReg *reg_offsets,I64 *_type); +extern U0 OptPass5(CCompCtrl *cc); +extern U0 OptPass6(CCompCtrl *cc); extern I64 OptPass789A( - CCmpCtrl *cc,COptReg *reg_offsets,U8 *buf,CDebugInfo **_dbg); + CCompCtrl *cc,COptReg *reg_offsets,U8 *buf,CDebugInfo **_dbg); extern CHashClass *ParseClass( - CCmpCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern); + CCompCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern); extern CHashFun *ParseFunJoin( - CCmpCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags); -extern I64 ParseKeyWord(CCmpCtrl *cc); -extern Bool ParseStatement(CCmpCtrl *cc,I64 try_cnt=0, + CCompCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags); +extern I64 ParseKeyWord(CCompCtrl *cc); +extern Bool ParseStatement(CCompCtrl *cc,I64 try_cnt=0, CCodeMisc *lb_break=NULL,I64 cmp_flags=CMPF_PRS_SEMICOLON); -extern U0 ParseStreamBlk(CCmpCtrl *cc); -extern CHashClass *ParseType(CCmpCtrl *cc,CHashClass **_tmpc1, +extern U0 ParseStreamBlk(CCompCtrl *cc); +extern CHashClass *ParseType(CCompCtrl *cc,CHashClass **_tmpc1, I64 *_mode,CMemberLst *tmpm,U8 **_ident,CHashFun **_fun_ptr, CHashExport **_tmpex,CArrayDim *tmpad,I64 fsp_flags); -extern I64 ParseUnaryModifier(CCmpCtrl *cc,CPrsStk *ps, +extern I64 ParseUnaryModifier(CCompCtrl *cc,CPrsStk *ps, CMemberLst **_local_var,CArrayDim **_tmpad,I64 *unary_post_prec); extern I64 ParseUnaryTerm( - CCmpCtrl *cc,CPrsStk *ps,CMemberLst **_local_var,CArrayDim **_tmpad, + CCompCtrl *cc,CPrsStk *ps,CMemberLst **_local_var,CArrayDim **_tmpad, I64 *max_prec,I64 *unary_pre_prec,I64 *paren_prec); -extern U0 ParseVarInit2(CCmpCtrl *cc,U8 **_dst,CHashClass *tmpc, +extern U0 ParseVarInit2(CCompCtrl *cc,U8 **_dst,CHashClass *tmpc, CArrayDim *tmpad,U8 *data_addr_rip,U8 **_base,Bool data_heap,I64 pass); _extern CMP_TEMPLATES U32 cmp_templates[1]; _extern CMP_TEMPLATES_DONT_POP U32 cmp_templates_dont_pop[1]; diff --git a/src/Compiler/CInit.HC b/src/Compiler/CInit.HC index 109a7a30..086d953c 100755 --- a/src/Compiler/CInit.HC +++ b/src/Compiler/CInit.HC @@ -201,7 +201,7 @@ CIntermediateStruct intermediate_code_table[IC_ICS_NUM]={ {IS_1_ARG,1,IST_NULL,TRUE,FALSE,0,0,0,"ATAN"}, }; -U0 CmpLoadDefines() +U0 CompLoadDefines() { DefineLstLoad("ST_RAW_TYPES", "\0\0I0\0U0\0I8\0U8\0I16\0U16\0I32\0U32\0I64\0U64\0" @@ -236,7 +236,7 @@ U0 CmpLoadDefines() DefineLstLoad("ST_FSTK_REGS","ST0\0ST1\0ST2\0ST3\0ST4\0ST5\0ST6\0ST7\0"); } -U0 CmpFillTables() +U0 CompFillTables() { I64 i; U32 *d; diff --git a/src/Compiler/CMain.HC b/src/Compiler/CMain.HC index 1179b54b..0cc7da13 100755 --- a/src/Compiler/CMain.HC +++ b/src/Compiler/CMain.HC @@ -1,4 +1,4 @@ -U8 *LexStatement2Bin(CCmpCtrl *cc,I64 *_type,I64 cmp_flags=0) +U8 *LexStatement2Bin(CCompCtrl *cc,I64 *_type,I64 cmp_flags=0) {//Compile one cc stmt to bin code. I64 size,i,j,k,*res=INVALID_PTR; CCodeCtrl *tmpcbh; @@ -32,7 +32,7 @@ U8 *LexStatement2Bin(CCmpCtrl *cc,I64 *_type,I64 cmp_flags=0) return res; } -CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0) +CAOT *CompJoin(CCompCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0) { CAOTCtrl *aotc,*old_aot=cc->aotc; I64 i,j,l; @@ -154,24 +154,24 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0) return res; } -CAOT *CmpBuf(U8 *buf,U8 *map_name=NULL, +CAOT *CompBuf(U8 *buf,U8 *map_name=NULL, I64 *error_cnt=NULL, I64 *warning_cnt=NULL,U8 mapfile_drv_let=0) { - CCmpCtrl *cc; + CCompCtrl *cc; CAOT *res=NULL; - cc=CmpCtrlNew(buf,CCF_DONT_FREE_BUF); + cc=CompCtrlNew(buf,CCF_DONT_FREE_BUF); cc->flags|=CCF_AOT_COMPILE; QueueInsert(cc,Fs->last_cc); - res=CmpJoin(cc,CMPF_LEX_FIRST,map_name,mapfile_drv_let); + res=CompJoin(cc,CMPF_LEX_FIRST,map_name,mapfile_drv_let); if (error_cnt) *error_cnt=cc->error_cnt; if (warning_cnt) *warning_cnt=cc->warning_cnt; QueueRemove(cc); if (res) - CmpCtrlDel(cc); + CompCtrlDel(cc); return res; } -U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tmpaot) +U0 CompFixUpJITAsm(CCompCtrl *cc,CAOT *tmpaot) { I64 i,rip2=tmpaot->buf+tmpaot->rip,*str=NULL; U8 *ptr; @@ -299,7 +299,7 @@ U0 CmpFixUpJITAsm(CCmpCtrl *cc,CAOT *tmpaot) Free(tmpaot); } -U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tmpaot) +U0 CompFixUpAOTAsm(CCompCtrl *cc,CAOT *tmpaot) { CAOTCtrl *aotc=cc->aotc; I64 i,rip2=tmpaot->rip+cc->aotc->rip; @@ -416,7 +416,7 @@ U0 CmpFixUpAOTAsm(CCmpCtrl *cc,CAOT *tmpaot) } } -I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0) +I64 Comp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0) {//AOT Compile HC or PRJ file a and output BIN file. Returns err_cnt. U8 *ptr,*fbuf=NULL,*fbuf2=NULL,*fbuf3=NULL, *patch_table=MAlloc(0x20000); @@ -433,7 +433,7 @@ I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0) if (map_name) fbuf3=ExtDft(map_name,"MAP"); - if (tmpaot=CmpBuf(fbuf2,fbuf3,&error_cnt,&warning_cnt,mapfile_drv_let)) { + if (tmpaot=CompBuf(fbuf2,fbuf3,&error_cnt,&warning_cnt,mapfile_drv_let)) { aot_U8s=tmpaot->aot_U8s; ptr=patch_table; //See $LK,"Load",A="MN:Load"$() @@ -573,10 +573,10 @@ I64 ExePutS(U8 *buf,U8 *filename=NULL, {//JIT Compile and execute text from a puts(""). I64 res; Bool okay=TRUE; - CCmpCtrl *cc; + CCompCtrl *cc; if (!filename) filename=blkdev.tmp_filename; - cc=CmpCtrlNew(buf,ccf_flags|CCF_DONT_FREE_BUF,filename); + cc=CompCtrlNew(buf,ccf_flags|CCF_DONT_FREE_BUF,filename); if (Fs->last_cc!=&Fs->next_cc) { cc->opts=Fs->last_cc->opts; if (htc) { @@ -598,7 +598,7 @@ I64 ExePutS(U8 *buf,U8 *filename=NULL, } QueueRemove(cc); if (okay) - CmpCtrlDel(cc); //TODO: can crash + CompCtrlDel(cc); //TODO: can crash return res; } @@ -631,17 +631,17 @@ I64 RunFile(U8 *name,I64 ccf_flags=0,...) I64 ExePutS2(U8 *buf,U8 *filename=NULL,I64 ccf_flags=0) {//throws exceptions I64 res; - CCmpCtrl *cc; + CCompCtrl *cc; if (!filename) filename=blkdev.tmp_filename; - cc=CmpCtrlNew(buf,ccf_flags|CCF_DONT_FREE_BUF,filename); + cc=CompCtrlNew(buf,ccf_flags|CCF_DONT_FREE_BUF,filename); if (Fs->last_cc!=&Fs->next_cc) cc->opts=Fs->last_cc->opts; QueueInsert(cc,Fs->last_cc); Lex(cc); res=ExeCmdLine(cc); QueueRemove(cc); - CmpCtrlDel(cc); + CompCtrlDel(cc); return res; } @@ -675,7 +675,7 @@ I64 StreamExePrint(U8 *fmt,...) U8 *buf=StrPrintJoin(NULL,fmt,argc,argv); I64 res=0; CLexHashTableContext *htc; - CCmpCtrl *cc=Fs->last_cc; + CCompCtrl *cc=Fs->last_cc; if (cc==&Fs->next_cc) PrintErr("Not Compiling\n"); else { @@ -690,8 +690,8 @@ I64 StreamExePrint(U8 *fmt,...) U0 CInit() { - CmpLoadDefines; - CmpFillTables; + CompLoadDefines; + CompFillTables; QueueInit(&cmp.ic_nop); cmp.ic_nop.ic_class=cmp.internal_types[RT_I64]; cmp.ic_nop.ic_code=IC_NOP1; diff --git a/src/Compiler/CMisc.HC b/src/Compiler/CMisc.HC index 54838d6a..53bbd980 100755 --- a/src/Compiler/CMisc.HC +++ b/src/Compiler/CMisc.HC @@ -68,7 +68,7 @@ Bool Echo(Bool val) U0 StreamPrint(U8 *fmt,...) {//Injects text into the compile stream. Used in #exe{} blocks. U8 *buf=StrPrintJoin(NULL,fmt,argc,argv),*st; - CCmpCtrl *cc=Fs->last_cc; + CCompCtrl *cc=Fs->last_cc; CStreamBlk *tmpe=cc->last_stream_blk; if (tmpe!=&cc->next_stream_blk) { st=MStrPrint("%s%s",tmpe->body,buf); @@ -88,7 +88,7 @@ U0 StreamDir() } } -CD2I32 *LexD2I32(CCmpCtrl *cc,CD2I32 *p) +CD2I32 *LexD2I32(CCompCtrl *cc,CD2I32 *p) {//Not HolyC. Sprite-like lex 2D point. if (cc->token!='(') LexExcept(cc,"Expecting '(' at "); @@ -104,7 +104,7 @@ CD2I32 *LexD2I32(CCmpCtrl *cc,CD2I32 *p) return p; } -CD3I32 *LexD3I32(CCmpCtrl *cc,CD3I32 *p) +CD3I32 *LexD3I32(CCompCtrl *cc,CD3I32 *p) {//Not HolyC. Sprite-like lex 3D point. if (cc->token!='(') LexExcept(cc,"Expecting '(' at "); diff --git a/src/Compiler/Compiler.BIN b/src/Compiler/Compiler.BIN index 7712b45b..61f32428 100755 Binary files a/src/Compiler/Compiler.BIN and b/src/Compiler/Compiler.BIN differ diff --git a/src/Compiler/Compiler.MAP b/src/Compiler/Compiler.MAP index a56edf0f..245d26e0 100755 --- a/src/Compiler/Compiler.MAP +++ b/src/Compiler/Compiler.MAP @@ -1,310 +1,310 @@ $LK,"LexPutPos",A="FL:::/Compiler/CExcept.HC,50",BI=1$ $LK,"ICAssignPostIncDec",A="FL:::/Compiler/BackB.HC,429",BI=2$ -$LK,"CmpSetFloatOpPushPop",A="FL:::/Compiler/BackFA.HC,62",BI=3$ -$LK,"ParseDotDotDot",A="FL:::/Compiler/ParseVar.HC,373",BI=4$ -$LK,"ICFCvt2",A="FL:::/Compiler/BackFA.HC,169",BI=5$ -$LK,"CmpMinTypePointed",A="FL:::/Compiler/OptLib.HC,528",BI=6$ -$LK,"CmpRawTypePointed",A="FL:::/Compiler/OptLib.HC,517",BI=7$ -$LK,"OptFixupBinaryOp1",A="FL:::/Compiler/OptLib.HC,96",BI=8$ -$LK,"OptFixupBinaryOp2",A="FL:::/Compiler/OptLib.HC,182",BI=9$ -$LK,"COCInit",A="FL:::/Compiler/ParseLib.HC,99",BI=10$ -$LK,"IsLexExpression2Bin",A="FL:::/Compiler/ParseExp.HC,1135",BI=11$ +$LK,"ParseDotDotDot",A="FL:::/Compiler/ParseVar.HC,373",BI=3$ +$LK,"ICFCvt2",A="FL:::/Compiler/BackFA.HC,169",BI=4$ +$LK,"OptFixupBinaryOp1",A="FL:::/Compiler/OptLib.HC,96",BI=5$ +$LK,"OptFixupBinaryOp2",A="FL:::/Compiler/OptLib.HC,182",BI=6$ +$LK,"COCInit",A="FL:::/Compiler/ParseLib.HC,99",BI=7$ +$LK,"IsLexExpression2Bin",A="FL:::/Compiler/ParseExp.HC,1135",BI=8$ $LK,"CSubSwitch",A="FL:::/Compiler/ParseStatement.HC,566"$ -$LK,"LexFilePop",A="FL:::/Compiler/Lex.HC,11",BI=12$ -$LK,"ExePutS",A="FL:::/Compiler/CMain.HC,571",BI=13$ -$LK,"LexPutLine",A="FL:::/Compiler/CExcept.HC,22",BI=14$ -$LK,"AsmLineLst",A="FL:::/Compiler/AsmLib.HC,147",BI=15$ -$LK,"ICOpSizeRex",A="FL:::/Compiler/BackLib.HC,28",BI=16$ +$LK,"LexFilePop",A="FL:::/Compiler/Lex.HC,11",BI=9$ +$LK,"ExePutS",A="FL:::/Compiler/CMain.HC,571",BI=10$ +$LK,"LexPutLine",A="FL:::/Compiler/CExcept.HC,22",BI=11$ +$LK,"AsmLineLst",A="FL:::/Compiler/AsmLib.HC,147",BI=12$ +$LK,"ICOpSizeRex",A="FL:::/Compiler/BackLib.HC,28",BI=13$ $LK,"CVI2",A="FL:::/Compiler/ParseVar.HC,117"$ -$LK,"ICU8",A="FL:::/Compiler/BackLib.HC,17",BI=17$ -$LK,"AsmStoreNum",A="FL:::/Compiler/Asm.HC,268",BI=18$ -$LK,"OptPass012",A="FL:::/Compiler/OptPass012.HC,23",BI=19$ -$LK,"MemberLstSize",A="FL:::/Compiler/LexLib.HC,221",BI=20$ -$LK,"ParseStaticInit",A="FL:::/Compiler/ParseVar.HC,215",BI=21$ -$LK,"ICQueueIns",A="FL:::/Compiler/BackC.HC,354",BI=22$ -$LK,"ICAndBranch",A="FL:::/Compiler/BackC.HC,1",BI=23$ -$LK,"ParseAsmInst",A="FL:::/Compiler/Asm.HC,395",BI=24$ -$LK,"U",A="FL:::/Compiler/UAsm.HC,653",BI=25$ +$LK,"ICU8",A="FL:::/Compiler/BackLib.HC,17",BI=14$ +$LK,"AsmStoreNum",A="FL:::/Compiler/Asm.HC,268",BI=15$ +$LK,"OptPass012",A="FL:::/Compiler/OptPass012.HC,23",BI=16$ +$LK,"MemberLstSize",A="FL:::/Compiler/LexLib.HC,221",BI=17$ +$LK,"ParseStaticInit",A="FL:::/Compiler/ParseVar.HC,215",BI=18$ +$LK,"ICQueueIns",A="FL:::/Compiler/BackC.HC,354",BI=19$ +$LK,"ICAndBranch",A="FL:::/Compiler/BackC.HC,1",BI=20$ +$LK,"ParseAsmInst",A="FL:::/Compiler/Asm.HC,395",BI=21$ +$LK,"U",A="FL:::/Compiler/UAsm.HC,653",BI=22$ $LK,"LastFun",A="FL:::/Compiler/CMisc.HC,48"$ -$LK,"OptLead1",A="FL:::/Compiler/OptLib.HC,73",BI=26$ -$LK,"CmpNoteFloatOp",A="FL:::/Compiler/BackFA.HC,6",BI=27$ -$LK,"AOTGlblsResolve",A="FL:::/Compiler/AsmResolve.HC,77",BI=28$ -$LK,"ExePutS2",A="FL:::/Compiler/CMain.HC,631",BI=29$ -$LK,"HashEntrySize",A="FL:::/Compiler/CHash.HC,1",BI=30$ -$LK,"COCPush",A="FL:::/Compiler/ParseLib.HC,107",BI=31$ +$LK,"OptLead1",A="FL:::/Compiler/OptLib.HC,73",BI=23$ +$LK,"AOTGlblsResolve",A="FL:::/Compiler/AsmResolve.HC,77",BI=24$ +$LK,"ExePutS2",A="FL:::/Compiler/CMain.HC,631",BI=25$ +$LK,"HashEntrySize",A="FL:::/Compiler/CHash.HC,1",BI=26$ +$LK,"COCPush",A="FL:::/Compiler/ParseLib.HC,107",BI=27$ $LK,"SLASH_OP_DEC",A="FL:::/Compiler/BackLib.HC,259"$ $LK,"MODR_SIB_D32_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC,132"$ -$LK,"ICPushRegs",A="FL:::/Compiler/BackLib.HC,350",BI=32$ +$LK,"CompNoteFloatOp",A="FL:::/Compiler/BackFA.HC,6",BI=28$ +$LK,"ICPushRegs",A="FL:::/Compiler/BackLib.HC,350",BI=29$ $LK,"PE_POP_HIGHER",A="FL:::/Compiler/ParseExp.HC,10"$ $LK,"SLASH_OP_FLD",A="FL:::/Compiler/BackLib.HC,277"$ -$LK,"ICU32",A="FL:::/Compiler/BackLib.HC,47",BI=33$ -$LK,"ICU24",A="FL:::/Compiler/BackLib.HC,41",BI=34$ -$LK,"ICU16",A="FL:::/Compiler/BackLib.HC,35",BI=35$ +$LK,"ICU32",A="FL:::/Compiler/BackLib.HC,47",BI=30$ +$LK,"ICU24",A="FL:::/Compiler/BackLib.HC,41",BI=31$ +$LK,"ICU16",A="FL:::/Compiler/BackLib.HC,35",BI=32$ $LK,"SLASH_OP_DIV",A="FL:::/Compiler/BackLib.HC,266"$ -$LK,"CmpFillTables",A="FL:::/Compiler/CInit.HC,239",BI=36$ -$LK,"AOTStoreCodeU32",A="FL:::/Compiler/AsmLib.HC,30",BI=37$ -$LK,"ICU64",A="FL:::/Compiler/BackLib.HC,53",BI=38$ +$LK,"AOTStoreCodeU32",A="FL:::/Compiler/AsmLib.HC,30",BI=33$ +$LK,"ICU64",A="FL:::/Compiler/BackLib.HC,53",BI=34$ $LK,"SLASH_OP_INC",A="FL:::/Compiler/BackLib.HC,258"$ -$LK,"AOTStoreCodeU64",A="FL:::/Compiler/AsmLib.HC,68",BI=39$ -$LK,"LexPopNoRestore",A="FL:::/Compiler/LexLib.HC,38",BI=40$ -$LK,"ExePrint",A="FL:::/Compiler/CMain.HC,605",BI=41$ +$LK,"AOTStoreCodeU64",A="FL:::/Compiler/AsmLib.HC,68",BI=35$ +$LK,"LexPopNoRestore",A="FL:::/Compiler/LexLib.HC,38",BI=36$ +$LK,"CompFillTables",A="FL:::/Compiler/CInit.HC,239",BI=37$ +$LK,"ExePrint",A="FL:::/Compiler/CMain.HC,605",BI=38$ $LK,"SLASH_OP_NEG",A="FL:::/Compiler/BackLib.HC,261"$ -$LK,"LexWarn",A="FL:::/Compiler/CExcept.HC,65",BI=42$ +$LK,"LexWarn",A="FL:::/Compiler/CExcept.HC,65",BI=39$ $LK,"PE_POP_ALL1",A="FL:::/Compiler/ParseExp.HC,12"$ $LK,"PE_POP_ALL2",A="FL:::/Compiler/ParseExp.HC,13"$ -$LK,"COCAppend",A="FL:::/Compiler/ParseLib.HC,126",BI=43$ -$LK,"LexFilePush",A="FL:::/Compiler/Lex.HC,1",BI=44$ -$LK,"ParseAsmDefine",A="FL:::/Compiler/Asm.HC,814",BI=45$ -$LK,"ParseFunNew",A="FL:::/Compiler/ParseLib.HC,62",BI=46$ -$LK,"OptFixupUnaryOp",A="FL:::/Compiler/OptLib.HC,196",BI=47$ -$LK,"LexPush",A="FL:::/Compiler/LexLib.HC,12",BI=48$ +$LK,"COCAppend",A="FL:::/Compiler/ParseLib.HC,126",BI=40$ +$LK,"LexFilePush",A="FL:::/Compiler/Lex.HC,1",BI=41$ +$LK,"CompMinTypePointed",A="FL:::/Compiler/OptLib.HC,528",BI=42$ +$LK,"ParseAsmDefine",A="FL:::/Compiler/Asm.HC,814",BI=43$ +$LK,"ParseFunNew",A="FL:::/Compiler/ParseLib.HC,62",BI=44$ +$LK,"CompRawTypePointed",A="FL:::/Compiler/OptLib.HC,517",BI=45$ +$LK,"OptFixupUnaryOp",A="FL:::/Compiler/OptLib.HC,196",BI=46$ +$LK,"LexPush",A="FL:::/Compiler/LexLib.HC,12",BI=47$ $LK,"SLASH_OP_MOV",A="FL:::/Compiler/BackLib.HC,267"$ -$LK,"ICPopRegs",A="FL:::/Compiler/BackLib.HC,391",BI=49$ +$LK,"ICPopRegs",A="FL:::/Compiler/BackLib.HC,391",BI=48$ $LK,"SLASH_OP_MUL",A="FL:::/Compiler/BackLib.HC,264"$ $LK,"SLASH_OP_NOT",A="FL:::/Compiler/BackLib.HC,260"$ $LK,"SLASH_OP_POP",A="FL:::/Compiler/BackLib.HC,270"$ -$LK,"ICFOp",A="FL:::/Compiler/BackFA.HC,339",BI=50$ +$LK,"ICFOp",A="FL:::/Compiler/BackFA.HC,339",BI=49$ $LK,"CN_A1",A="FL:::/Compiler/BackFA.HC,2"$ $LK,"CN_A2",A="FL:::/Compiler/BackFA.HC,1"$ -$LK,"LexExpressionF64",A="FL:::/Compiler/ParseExp.HC,1154",BI=51$ -$LK,"ICAdd",A="FL:::/Compiler/ParseLib.HC,79",BI=52$ -$LK,"CmpRawType",A="FL:::/Compiler/OptLib.HC,508",BI=53$ -$LK,"ICFOpEqu",A="FL:::/Compiler/BackFB.HC,1",BI=54$ -$LK,"LexExpressionI64",A="FL:::/Compiler/ParseExp.HC,1140",BI=55$ -$LK,"LexExpression",A="FL:::/Compiler/ParseExp.HC,1168",BI=56$ -$LK,"LexInStr",A="FL:::/Compiler/Lex.HC,367",BI=57$ +$LK,"LexExpressionF64",A="FL:::/Compiler/ParseExp.HC,1154",BI=50$ +$LK,"ICAdd",A="FL:::/Compiler/ParseLib.HC,79",BI=51$ +$LK,"ICFOpEqu",A="FL:::/Compiler/BackFB.HC,1",BI=52$ +$LK,"CompRawType",A="FL:::/Compiler/OptLib.HC,508",BI=53$ +$LK,"LexExpressionI64",A="FL:::/Compiler/ParseExp.HC,1140",BI=54$ +$LK,"LexExpression",A="FL:::/Compiler/ParseExp.HC,1168",BI=55$ +$LK,"LexInStr",A="FL:::/Compiler/Lex.HC,367",BI=56$ $LK,"internal_types_table",A="FL:::/Compiler/CInit.HC,6"$ -$LK,"ICQueueInsRev",A="FL:::/Compiler/BackC.HC,378",BI=58$ +$LK,"ICQueueInsRev",A="FL:::/Compiler/BackC.HC,378",BI=57$ $LK,"CN_INST",A="FL:::/Compiler/BackFA.HC,3"$ -$LK,"CmdLinePrompt",A="FL:::/Compiler/CMisc.HC,127",BI=59$ -$LK,"ParseClassNew",A="FL:::/Compiler/ParseLib.HC,40",BI=60$ -$LK,"OptPass3",A="FL:::/Compiler/OptPass3.HC,1",BI=61$ -$LK,"OptPass4",A="FL:::/Compiler/OptPass4.HC,133",BI=62$ -$LK,"OptPass5",A="FL:::/Compiler/OptPass5.HC,1",BI=63$ -$LK,"OptPass6",A="FL:::/Compiler/OptPass6.HC,96",BI=64$ +$LK,"CmdLinePrompt",A="FL:::/Compiler/CMisc.HC,127",BI=58$ +$LK,"ParseClassNew",A="FL:::/Compiler/ParseLib.HC,40",BI=59$ +$LK,"OptPass3",A="FL:::/Compiler/OptPass3.HC,1",BI=60$ +$LK,"OptPass4",A="FL:::/Compiler/OptPass4.HC,133",BI=61$ +$LK,"OptPass5",A="FL:::/Compiler/OptPass5.HC,1",BI=62$ +$LK,"OptPass6",A="FL:::/Compiler/OptPass6.HC,96",BI=63$ $LK,"MODR_REG",A="FL:::/Compiler/BackLib.HC,126"$ -$LK,"Echo",A="FL:::/Compiler/CMisc.HC,63",BI=65$ -$LK,"ICQueueInit",A="FL:::/Compiler/BackC.HC,340",BI=66$ -$LK,"ICCmp",A="FL:::/Compiler/BackB.HC,102",BI=67$ -$LK,"ICAddRSP",A="FL:::/Compiler/BackLib.HC,59",BI=68$ -$LK,"ICDiv",A="FL:::/Compiler/BackA.HC,355",BI=69$ -$LK,"ICDeref",A="FL:::/Compiler/BackLib.HC,693",BI=70$ -$LK,"ParseNoWarn",A="FL:::/Compiler/ParseStatement.HC,791",BI=71$ -$LK,"ICLea",A="FL:::/Compiler/BackLib.HC,661",BI=72$ -$LK,"ParseExpression",A="FL:::/Compiler/ParseExp.HC,264",BI=73$ -$LK,"CmpBuf",A="FL:::/Compiler/CMain.HC,157",BI=74$ +$LK,"Echo",A="FL:::/Compiler/CMisc.HC,63",BI=64$ +$LK,"ICQueueInit",A="FL:::/Compiler/BackC.HC,340",BI=65$ +$LK,"ICAddRSP",A="FL:::/Compiler/BackLib.HC,59",BI=66$ +$LK,"ICDiv",A="FL:::/Compiler/BackA.HC,355",BI=67$ +$LK,"ICDeref",A="FL:::/Compiler/BackLib.HC,693",BI=68$ +$LK,"ParseNoWarn",A="FL:::/Compiler/ParseStatement.HC,791",BI=69$ +$LK,"ICLea",A="FL:::/Compiler/BackLib.HC,661",BI=70$ +$LK,"ParseExpression",A="FL:::/Compiler/ParseExp.HC,264",BI=71$ $LK,"CMP_TEMPLATES_DONT_PUSH_POP",A="FL:::/Compiler/Templates.HC,385"$ -$LK,"ICAddEct",A="FL:::/Compiler/BackA.HC,1",BI=75$ -$LK,"ICToF64",A="FL:::/Compiler/BackB.HC,283",BI=76$ -$LK,"HashTableSize2",A="FL:::/Compiler/CHash.HC,72",BI=77$ -$LK,"HashEntrySize2",A="FL:::/Compiler/CHash.HC,33",BI=78$ -$LK,"Ui",A="FL:::/Compiler/UAsm.HC,245",BI=79$ -$LK,"ICSlashOp",A="FL:::/Compiler/BackLib.HC,282",BI=80$ -$LK,"ParseGlblVarLst",A="FL:::/Compiler/ParseStatement.HC,209",BI=81$ -$LK,"OptBrZero",A="FL:::/Compiler/OptLib.HC,230",BI=82$ -$LK,"Un",A="FL:::/Compiler/UAsm.HC,668",BI=83$ -$LK,"ICToI64",A="FL:::/Compiler/BackB.HC,277",BI=84$ -$LK,"ICMod",A="FL:::/Compiler/BackA.HC,425",BI=85$ -$LK,"OptSetNOP1",A="FL:::/Compiler/OptLib.HC,17",BI=86$ -$LK,"OptPass789A",A="FL:::/Compiler/OptPass789A.HC,1",BI=87$ -$LK,"OptSetNOP2",A="FL:::/Compiler/OptLib.HC,25",BI=88$ +$LK,"ICAddEct",A="FL:::/Compiler/BackA.HC,1",BI=72$ +$LK,"ICToF64",A="FL:::/Compiler/BackB.HC,283",BI=73$ +$LK,"HashTableSize2",A="FL:::/Compiler/CHash.HC,72",BI=74$ +$LK,"HashEntrySize2",A="FL:::/Compiler/CHash.HC,33",BI=75$ +$LK,"Ui",A="FL:::/Compiler/UAsm.HC,245",BI=76$ +$LK,"ICSlashOp",A="FL:::/Compiler/BackLib.HC,282",BI=77$ +$LK,"ParseGlblVarLst",A="FL:::/Compiler/ParseStatement.HC,209",BI=78$ +$LK,"OptBrZero",A="FL:::/Compiler/OptLib.HC,230",BI=79$ +$LK,"Un",A="FL:::/Compiler/UAsm.HC,668",BI=80$ +$LK,"ICToI64",A="FL:::/Compiler/BackB.HC,277",BI=81$ +$LK,"ICMod",A="FL:::/Compiler/BackA.HC,425",BI=82$ +$LK,"Comp",A="FL:::/Compiler/CMain.HC,419",BI=83$ +$LK,"OptSetNOP1",A="FL:::/Compiler/OptLib.HC,17",BI=84$ +$LK,"OptPass789A",A="FL:::/Compiler/OptPass789A.HC,1",BI=85$ +$LK,"OptSetNOP2",A="FL:::/Compiler/OptLib.HC,25",BI=86$ $LK,"FBO1_F64",A="FL:::/Compiler/OptLib.HC,94"$ -$LK,"ICXorEqu",A="FL:::/Compiler/BackC.HC,581",BI=89$ -$LK,"ICToUpper",A="FL:::/Compiler/BackB.HC,266",BI=90$ -$LK,"AsmLexExpression",A="FL:::/Compiler/AsmLib.HC,127",BI=91$ -$LK,"ParseAddOp",A="FL:::/Compiler/ParseExp.HC,15",BI=92$ -$LK,"ICMov",A="FL:::/Compiler/BackLib.HC,445",BI=93$ -$LK,"ICNot",A="FL:::/Compiler/BackB.HC,10",BI=94$ -$LK,"ICMul",A="FL:::/Compiler/BackA.HC,224",BI=95$ -$LK,"ICRex",A="FL:::/Compiler/BackLib.HC,22",BI=96$ -$LK,"ICPop",A="FL:::/Compiler/BackLib.HC,363",BI=97$ +$LK,"ICXorEqu",A="FL:::/Compiler/BackC.HC,581",BI=87$ +$LK,"ICToUpper",A="FL:::/Compiler/BackB.HC,266",BI=88$ +$LK,"AsmLexExpression",A="FL:::/Compiler/AsmLib.HC,127",BI=89$ +$LK,"ParseAddOp",A="FL:::/Compiler/ParseExp.HC,15",BI=90$ +$LK,"ICMov",A="FL:::/Compiler/BackLib.HC,445",BI=91$ +$LK,"ICNot",A="FL:::/Compiler/BackB.HC,10",BI=92$ +$LK,"ICMul",A="FL:::/Compiler/BackA.HC,224",BI=93$ +$LK,"ICRex",A="FL:::/Compiler/BackLib.HC,22",BI=94$ +$LK,"ICPop",A="FL:::/Compiler/BackLib.HC,363",BI=95$ $LK,"SLASH_OP_FADD",A="FL:::/Compiler/BackLib.HC,271"$ $LK,"MODR_RIP_REL",A="FL:::/Compiler/BackLib.HC,133"$ -$LK,"ICSub",A="FL:::/Compiler/BackA.HC,166",BI=98$ -$LK,"COCFloatConstFind",A="FL:::/Compiler/ParseLib.HC,164",BI=99$ -$LK,"ICPut",A="FL:::/Compiler/CExcept.HC,184",BI=100$ -$LK,"ICSqr",A="FL:::/Compiler/BackC.HC,456",BI=101$ +$LK,"ICSub",A="FL:::/Compiler/BackA.HC,166",BI=96$ +$LK,"COCFloatConstFind",A="FL:::/Compiler/ParseLib.HC,164",BI=97$ +$LK,"ICPut",A="FL:::/Compiler/CExcept.HC,184",BI=98$ +$LK,"ICSqr",A="FL:::/Compiler/BackC.HC,456",BI=99$ $LK,"FBO1_NOT_CONST",A="FL:::/Compiler/OptLib.HC,92"$ $LK,"CMP_TEMPLATES_DONT_POP",A="FL:::/Compiler/Templates.HC,173"$ $LK,"SLASH_OP_MOV_IMM",A="FL:::/Compiler/BackLib.HC,268"$ -$LK,"MemberMetaData",A="FL:::/Compiler/LexLib.HC,45",BI=102$ -$LK,"ICSwitch",A="FL:::/Compiler/BackC.HC,602",BI=103$ -$LK,"ParseArrayDims",A="FL:::/Compiler/ParseVar.HC,247",BI=104$ -$LK,"OptBrNotZero",A="FL:::/Compiler/OptLib.HC,357",BI=105$ -$LK,"LexPutToken",A="FL:::/Compiler/CExcept.HC,1",BI=106$ +$LK,"MemberMetaData",A="FL:::/Compiler/LexLib.HC,45",BI=100$ +$LK,"ICSwitch",A="FL:::/Compiler/BackC.HC,602",BI=101$ +$LK,"ParseArrayDims",A="FL:::/Compiler/ParseVar.HC,247",BI=102$ +$LK,"OptBrNotZero",A="FL:::/Compiler/OptLib.HC,357",BI=103$ +$LK,"LexPutToken",A="FL:::/Compiler/CExcept.HC,1",BI=104$ $LK,"SLASH_OP_FDIV",A="FL:::/Compiler/BackLib.HC,275"$ -$LK,"ParseIf",A="FL:::/Compiler/ParseStatement.HC,459",BI=107$ -$LK,"AsmHashLoad",A="FL:::/Compiler/AsmInit.HC,50",BI=108$ -$LK,"ParseFunCall",A="FL:::/Compiler/ParseExp.HC,383",BI=109$ -$LK,"UAsmHashLoad",A="FL:::/Compiler/UAsm.HC,195",BI=110$ -$LK,"UnusedExternWarning",A="FL:::/Compiler/CExcept.HC,104",BI=111$ +$LK,"ParseIf",A="FL:::/Compiler/ParseStatement.HC,459",BI=105$ +$LK,"AsmHashLoad",A="FL:::/Compiler/AsmInit.HC,50",BI=106$ +$LK,"ParseFunCall",A="FL:::/Compiler/ParseExp.HC,383",BI=107$ +$LK,"UAsmHashLoad",A="FL:::/Compiler/UAsm.HC,195",BI=108$ +$LK,"UnusedExternWarning",A="FL:::/Compiler/CExcept.HC,104",BI=109$ $LK,"SLASH_OP_FILD",A="FL:::/Compiler/BackLib.HC,280"$ -$LK,"ICXorXor",A="FL:::/Compiler/BackB.HC,75",BI=112$ -$LK,"CInit",A="FL:::/Compiler/CMain.HC,691",BI=113$ -$LK,"MemberMetaFind",A="FL:::/Compiler/LexLib.HC,56",BI=114$ -$LK,"ExePrint2",A="FL:::/Compiler/CMain.HC,648",BI=115$ +$LK,"ICXorXor",A="FL:::/Compiler/BackB.HC,75",BI=110$ +$LK,"CInit",A="FL:::/Compiler/CMain.HC,691",BI=111$ +$LK,"MemberMetaFind",A="FL:::/Compiler/LexLib.HC,56",BI=112$ +$LK,"ExePrint2",A="FL:::/Compiler/CMain.HC,648",BI=113$ $LK,"FBO1_INT",A="FL:::/Compiler/OptLib.HC,93"$ $LK,"PE_DO_UNARY_OP",A="FL:::/Compiler/ParseExp.HC,8"$ -$LK,"ICOrEqu",A="FL:::/Compiler/BackC.HC,560",BI=116$ -$LK,"ICModr1",A="FL:::/Compiler/BackLib.HC,136",BI=117$ -$LK,"ICModr2",A="FL:::/Compiler/BackLib.HC,214",BI=118$ +$LK,"ICOrEqu",A="FL:::/Compiler/BackC.HC,560",BI=114$ +$LK,"ICModr1",A="FL:::/Compiler/BackLib.HC,136",BI=115$ +$LK,"ICModr2",A="FL:::/Compiler/BackLib.HC,214",BI=116$ +$LK,"CompSetFloatOpPushPop",A="FL:::/Compiler/BackFA.HC,62",BI=117$ $LK,"SLASH_OP_FMUL",A="FL:::/Compiler/BackLib.HC,274"$ -$LK,"ICPreIncDec",A="FL:::/Compiler/BackB.HC,304",BI=119$ -$LK,"LexFirstRemove",A="FL:::/Compiler/Lex.HC,271",BI=120$ -$LK,"MemberLstDel",A="FL:::/Compiler/LexLib.HC,183",BI=121$ +$LK,"ICPreIncDec",A="FL:::/Compiler/BackB.HC,304",BI=118$ +$LK,"LexFirstRemove",A="FL:::/Compiler/Lex.HC,271",BI=119$ +$LK,"MemberLstDel",A="FL:::/Compiler/LexLib.HC,183",BI=120$ $LK,"SLASH_OP_FSUB",A="FL:::/Compiler/BackLib.HC,272"$ -$LK,"ICAndAnd",A="FL:::/Compiler/BackB.HC,30",BI=122$ -$LK,"InstEntriesCompare",A="FL:::/Compiler/UAsm.HC,1",BI=123$ +$LK,"ICAndAnd",A="FL:::/Compiler/BackB.HC,30",BI=121$ +$LK,"InstEntriesCompare",A="FL:::/Compiler/UAsm.HC,1",BI=122$ $LK,"SLASH_OP_IMUL",A="FL:::/Compiler/BackLib.HC,265"$ -$LK,"MemberLstCmp",A="FL:::/Compiler/LexLib.HC,157",BI=124$ -$LK,"ParseUnaryTerm",A="FL:::/Compiler/ParseExp.HC,593",BI=125$ -$LK,"ParseVarLst",A="FL:::/Compiler/ParseVar.HC,408",BI=126$ +$LK,"MemberLstCmp",A="FL:::/Compiler/LexLib.HC,157",BI=123$ +$LK,"ParseUnaryTerm",A="FL:::/Compiler/ParseExp.HC,593",BI=124$ +$LK,"ParseVarLst",A="FL:::/Compiler/ParseVar.HC,408",BI=125$ $LK,"SLASH_OP_FSTP",A="FL:::/Compiler/BackLib.HC,278"$ -$LK,"COCDel",A="FL:::/Compiler/ParseLib.HC,186",BI=127$ +$LK,"COCDel",A="FL:::/Compiler/ParseLib.HC,186",BI=126$ $LK,"PE_UNARY_TERM1",A="FL:::/Compiler/ParseExp.HC,1"$ -$LK,"ICFAdd",A="FL:::/Compiler/BackFB.HC,515",BI=128$ +$LK,"ICFAdd",A="FL:::/Compiler/BackFB.HC,515",BI=127$ $LK,"PE_UNARY_TERM2",A="FL:::/Compiler/ParseExp.HC,2"$ -$LK,"AsmMakeArgMask",A="FL:::/Compiler/Asm.HC,177",BI=129$ -$LK,"COCHeaderPut",A="FL:::/Compiler/ParseLib.HC,229",BI=130$ -$LK,"ICAndEqu",A="FL:::/Compiler/BackC.HC,539",BI=131$ -$LK,"LexD2I32",A="FL:::/Compiler/CMisc.HC,91",BI=132$ -$LK,"ParseClass",A="FL:::/Compiler/ParseStatement.HC,1",BI=133$ -$LK,"ICQueueRemove",A="FL:::/Compiler/BackC.HC,402",BI=134$ -$LK,"MemberLstNew",A="FL:::/Compiler/LexLib.HC,150",BI=135$ -$LK,"ParseUnaryModifier",A="FL:::/Compiler/ParseExp.HC,960",BI=136$ -$LK,"ParseGlblInit",A="FL:::/Compiler/ParseVar.HC,206",BI=137$ -$LK,"ParseFunJoin",A="FL:::/Compiler/ParseStatement.HC,62",BI=138$ -$LK,"LexD3I32",A="FL:::/Compiler/CMisc.HC,107",BI=139$ -$LK,"OptClassFwd",A="FL:::/Compiler/OptLib.HC,9",BI=140$ -$LK,"ICFCmp",A="FL:::/Compiler/BackFA.HC,519",BI=141$ -$LK,"ICFDiv",A="FL:::/Compiler/BackFB.HC,504",BI=142$ -$LK,"AOTStoreCodeU8At",A="FL:::/Compiler/AsmLib.HC,106",BI=143$ +$LK,"AsmMakeArgMask",A="FL:::/Compiler/Asm.HC,177",BI=128$ +$LK,"COCHeaderPut",A="FL:::/Compiler/ParseLib.HC,229",BI=129$ +$LK,"ICAndEqu",A="FL:::/Compiler/BackC.HC,539",BI=130$ +$LK,"LexD2I32",A="FL:::/Compiler/CMisc.HC,91",BI=131$ +$LK,"ParseClass",A="FL:::/Compiler/ParseStatement.HC,1",BI=132$ +$LK,"ICQueueRemove",A="FL:::/Compiler/BackC.HC,402",BI=133$ +$LK,"MemberLstNew",A="FL:::/Compiler/LexLib.HC,150",BI=134$ +$LK,"ParseUnaryModifier",A="FL:::/Compiler/ParseExp.HC,960",BI=135$ +$LK,"ParseGlblInit",A="FL:::/Compiler/ParseVar.HC,206",BI=136$ +$LK,"ParseFunJoin",A="FL:::/Compiler/ParseStatement.HC,62",BI=137$ +$LK,"LexD3I32",A="FL:::/Compiler/CMisc.HC,107",BI=138$ +$LK,"OptClassFwd",A="FL:::/Compiler/OptLib.HC,9",BI=139$ +$LK,"ICFCmp",A="FL:::/Compiler/BackFA.HC,519",BI=140$ +$LK,"ICFDiv",A="FL:::/Compiler/BackFB.HC,504",BI=141$ +$LK,"AOTStoreCodeU8At",A="FL:::/Compiler/AsmLib.HC,106",BI=142$ $LK,"PE_PUSH_LOWER",A="FL:::/Compiler/ParseExp.HC,11"$ -$LK,"OptPass6Lag",A="FL:::/Compiler/OptPass6.HC,28",BI=144$ -$LK,"OptLag1",A="FL:::/Compiler/OptLib.HC,51",BI=145$ -$LK,"OptLag2",A="FL:::/Compiler/OptLib.HC,62",BI=146$ -$LK,"StreamPrint",A="FL:::/Compiler/CMisc.HC,68",BI=147$ +$LK,"OptPass6Lag",A="FL:::/Compiler/OptPass6.HC,28",BI=143$ +$LK,"OptLag1",A="FL:::/Compiler/OptLib.HC,51",BI=144$ +$LK,"OptLag2",A="FL:::/Compiler/OptLib.HC,62",BI=145$ +$LK,"StreamPrint",A="FL:::/Compiler/CMisc.HC,68",BI=146$ $LK,"_LAST_FUN",A="FL:::/Compiler/CMisc.HC,12"$ -$LK,"ICFCvt",A="FL:::/Compiler/BackFA.HC,123",BI=148$ -$LK,"StreamDir",A="FL:::/Compiler/CMisc.HC,82",BI=149$ -$LK,"GetOption",A="FL:::/Compiler/CMisc.HC,6",BI=150$ -$LK,"LexStatement2Bin",A="FL:::/Compiler/CMain.HC,1",BI=151$ -$LK,"ICShift",A="FL:::/Compiler/BackA.HC,573",BI=152$ -$LK,"ICFMod",A="FL:::/Compiler/BackFA.HC,242",BI=153$ -$LK,"COCPop",A="FL:::/Compiler/ParseLib.HC,121",BI=154$ -$LK,"ParseOffsetOf",A="FL:::/Compiler/ParseExp.HC,353",BI=155$ +$LK,"ICFCvt",A="FL:::/Compiler/BackFA.HC,123",BI=147$ +$LK,"StreamDir",A="FL:::/Compiler/CMisc.HC,82",BI=148$ +$LK,"GetOption",A="FL:::/Compiler/CMisc.HC,6",BI=149$ +$LK,"LexStatement2Bin",A="FL:::/Compiler/CMain.HC,1",BI=150$ +$LK,"ICShift",A="FL:::/Compiler/BackA.HC,573",BI=151$ +$LK,"ICFMod",A="FL:::/Compiler/BackFA.HC,242",BI=152$ +$LK,"COCPop",A="FL:::/Compiler/ParseLib.HC,121",BI=153$ +$LK,"ParseOffsetOf",A="FL:::/Compiler/ParseExp.HC,353",BI=154$ $LK,"SLASH_OP_PUSH",A="FL:::/Compiler/BackLib.HC,269"$ $LK,"PE_DEREFERENCE",A="FL:::/Compiler/ParseExp.HC,5"$ -$LK,"LexPopRestore",A="FL:::/Compiler/LexLib.HC,23",BI=156$ -$LK,"ICUnaries",A="FL:::/Compiler/BackB.HC,1",BI=157$ -$LK,"ICFMul",A="FL:::/Compiler/BackFB.HC,488",BI=158$ -$LK,"ICShiftEqu",A="FL:::/Compiler/BackA.HC,603",BI=159$ -$LK,"LexExpression2Bin",A="FL:::/Compiler/ParseExp.HC,1117",BI=160$ -$LK,"ICFPow",A="FL:::/Compiler/BackFA.HC,266",BI=161$ -$LK,"MapFileWrite",A="FL:::/Compiler/CHash.HC,90",BI=162$ -$LK,"ICFSub",A="FL:::/Compiler/BackFB.HC,551",BI=163$ -$LK,"ParseSizeOf",A="FL:::/Compiler/ParseExp.HC,303",BI=164$ -$LK,"ICFModEqu",A="FL:::/Compiler/BackFA.HC,549",BI=165$ -$LK,"CmpF1PushPop",A="FL:::/Compiler/OptLib.HC,535",BI=166$ -$LK,"OptFree",A="FL:::/Compiler/OptLib.HC,33",BI=167$ +$LK,"LexPopRestore",A="FL:::/Compiler/LexLib.HC,23",BI=155$ +$LK,"ICUnaries",A="FL:::/Compiler/BackB.HC,1",BI=156$ +$LK,"ICFMul",A="FL:::/Compiler/BackFB.HC,488",BI=157$ +$LK,"ICShiftEqu",A="FL:::/Compiler/BackA.HC,603",BI=158$ +$LK,"LexExpression2Bin",A="FL:::/Compiler/ParseExp.HC,1117",BI=159$ +$LK,"ICFPow",A="FL:::/Compiler/BackFA.HC,266",BI=160$ +$LK,"MapFileWrite",A="FL:::/Compiler/CHash.HC,90",BI=161$ +$LK,"ICFSub",A="FL:::/Compiler/BackFB.HC,551",BI=162$ +$LK,"ParseSizeOf",A="FL:::/Compiler/ParseExp.HC,303",BI=163$ +$LK,"ICFModEqu",A="FL:::/Compiler/BackFA.HC,549",BI=164$ +$LK,"OptFree",A="FL:::/Compiler/OptLib.HC,33",BI=165$ +$LK,"CompF1PushPop",A="FL:::/Compiler/OptLib.HC,535",BI=166$ $LK,"CMP_TEMPLATES_DONT_PUSH2",A="FL:::/Compiler/Templates.HC,447"$ -$LK,"ParseKeyWord",A="FL:::/Compiler/ParseLib.HC,31",BI=168$ +$LK,"ParseKeyWord",A="FL:::/Compiler/ParseLib.HC,31",BI=167$ $LK,"CInternalType",A="FL:::/Compiler/CInit.HC,3"$ -$LK,"LexDollar",A="FL:::/Compiler/Lex.HC,93",BI=169$ -$LK,"AsmUnresolvedAdd",A="FL:::/Compiler/AsmResolve.HC,189",BI=170$ -$LK,"AOTStoreCodeU8",A="FL:::/Compiler/AsmLib.HC,1",BI=171$ -$LK,"ParseExpression2",A="FL:::/Compiler/ParseExp.HC,65",BI=172$ -$LK,"ICBitOps",A="FL:::/Compiler/BackB.HC,202",BI=173$ +$LK,"LexDollar",A="FL:::/Compiler/Lex.HC,93",BI=168$ +$LK,"AsmUnresolvedAdd",A="FL:::/Compiler/AsmResolve.HC,189",BI=169$ +$LK,"AOTStoreCodeU8",A="FL:::/Compiler/AsmLib.HC,1",BI=170$ +$LK,"ParseExpression2",A="FL:::/Compiler/ParseExp.HC,65",BI=171$ +$LK,"ICBitOps",A="FL:::/Compiler/BackB.HC,202",BI=172$ $LK,"lex_zeros",A="FL:::/Compiler/Lex.HC,91"$ -$LK,"ClassMemberLstDel",A="FL:::/Compiler/LexLib.HC,209",BI=174$ +$LK,"ClassMemberLstDel",A="FL:::/Compiler/LexLib.HC,209",BI=173$ $LK,"CSwitchCase",A="FL:::/Compiler/ParseStatement.HC,571"$ -$LK,"AsmResolve",A="FL:::/Compiler/AsmResolve.HC,1",BI=175$ -$LK,"COCCompile",A="FL:::/Compiler/ParseLib.HC,249",BI=176$ -$LK,"RunFile2",A="FL:::/Compiler/CMain.HC,667",BI=177$ -$LK,"Cmp",A="FL:::/Compiler/CMain.HC,419",BI=178$ -$LK,"ICArgPut",A="FL:::/Compiler/CExcept.HC,141",BI=179$ -$LK,"UndefinedExtern",A="FL:::/Compiler/CExcept.HC,98",BI=180$ +$LK,"AsmResolve",A="FL:::/Compiler/AsmResolve.HC,1",BI=174$ +$LK,"COCCompile",A="FL:::/Compiler/ParseLib.HC,249",BI=175$ +$LK,"RunFile2",A="FL:::/Compiler/CMain.HC,667",BI=176$ +$LK,"ICArgPut",A="FL:::/Compiler/CExcept.HC,141",BI=177$ +$LK,"UndefinedExtern",A="FL:::/Compiler/CExcept.HC,98",BI=178$ $LK,"CN_RES",A="FL:::/Compiler/BackFA.HC,4"$ -$LK,"OptIC4",A="FL:::/Compiler/OptPass4.HC,1",BI=181$ -$LK,"OptIC6",A="FL:::/Compiler/OptPass6.HC,1",BI=182$ -$LK,"ICCmpAndBranch",A="FL:::/Compiler/BackB.HC,468",BI=183$ -$LK,"ICDivEqu",A="FL:::/Compiler/BackA.HC,372",BI=184$ -$LK,"ICFCmpAndBranch",A="FL:::/Compiler/BackFB.HC,226",BI=185$ -$LK,"Lex",A="FL:::/Compiler/Lex.HC,441",BI=186$ -$LK,"ParseStatement",A="FL:::/Compiler/ParseStatement.HC,904",BI=187$ -$LK,"ICTestAndBranch",A="FL:::/Compiler/BackB.HC,640",BI=188$ -$LK,"ParseTryBlk",A="FL:::/Compiler/ParseStatement.HC,842",BI=189$ +$LK,"OptIC4",A="FL:::/Compiler/OptPass4.HC,1",BI=179$ +$LK,"OptIC6",A="FL:::/Compiler/OptPass6.HC,1",BI=180$ +$LK,"ICDivEqu",A="FL:::/Compiler/BackA.HC,372",BI=181$ +$LK,"ICComp",A="FL:::/Compiler/BackB.HC,102",BI=182$ +$LK,"ICFCmpAndBranch",A="FL:::/Compiler/BackFB.HC,226",BI=183$ +$LK,"Lex",A="FL:::/Compiler/Lex.HC,441",BI=184$ +$LK,"ParseStatement",A="FL:::/Compiler/ParseStatement.HC,904",BI=185$ +$LK,"ICTestAndBranch",A="FL:::/Compiler/BackB.HC,640",BI=186$ +$LK,"ICCompAndBranch",A="FL:::/Compiler/BackB.HC,468",BI=187$ +$LK,"ParseTryBlk",A="FL:::/Compiler/ParseStatement.HC,842",BI=188$ $LK,"uasm",A="FL:::/Compiler/Compiler.PRJ,21"$ $LK,"MODR_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC,127"$ $LK,"PE_MAYBE_MODIFIERS",A="FL:::/Compiler/ParseExp.HC,3"$ $LK,"PE_UNARY_MODIFIERS",A="FL:::/Compiler/ParseExp.HC,4"$ -$LK,"AOTLocalsResolve",A="FL:::/Compiler/AsmResolve.HC,43",BI=190$ +$LK,"AOTLocalsResolve",A="FL:::/Compiler/AsmResolve.HC,43",BI=189$ $LK,"PE_DO_BINARY_OP",A="FL:::/Compiler/ParseExp.HC,9"$ -$LK,"CmpFixUpAOTAsm",A="FL:::/Compiler/CMain.HC,302",BI=191$ -$LK,"OptLabelFwd",A="FL:::/Compiler/OptLib.HC,1",BI=192$ -$LK,"ICOrOr",A="FL:::/Compiler/BackB.HC,51",BI=193$ -$LK,"LexExcept",A="FL:::/Compiler/CExcept.HC,81",BI=194$ +$LK,"OptLabelFwd",A="FL:::/Compiler/OptLib.HC,1",BI=190$ +$LK,"ICOrOr",A="FL:::/Compiler/BackB.HC,51",BI=191$ +$LK,"LexExcept",A="FL:::/Compiler/CExcept.HC,81",BI=192$ $LK,"cmp_templates",A="FL:::/Compiler/CExts.HC,42"$ -$LK,"CmpF2PushPop",A="FL:::/Compiler/OptLib.HC,542",BI=195$ $LK,"INTERNAL_TYPES_NUM",A="FL:::/Compiler/CInit.HC,1"$ -$LK,"CmpJoin",A="FL:::/Compiler/CMain.HC,35",BI=196$ +$LK,"CompF2PushPop",A="FL:::/Compiler/OptLib.HC,542",BI=193$ +$LK,"CompFixUpAOTAsm",A="FL:::/Compiler/CMain.HC,302",BI=194$ $LK,"CMP_TEMPLATES",A="FL:::/Compiler/Templates.HC,4"$ $LK,"MODR_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC,128"$ -$LK,"MemberClassBaseFind",A="FL:::/Compiler/LexLib.HC,87",BI=197$ -$LK,"MemberFind",A="FL:::/Compiler/LexLib.HC,67",BI=198$ +$LK,"MemberClassBaseFind",A="FL:::/Compiler/LexLib.HC,87",BI=195$ +$LK,"MemberFind",A="FL:::/Compiler/LexLib.HC,67",BI=196$ $LK,"cmp",A="FL:::/Compiler/Compiler.PRJ,16"$ -$LK,"ParsePush2",A="FL:::/Compiler/ParseLib.HC,11",BI=199$ -$LK,"ParseSwitch",A="FL:::/Compiler/ParseStatement.HC,578",BI=200$ -$LK,"OptLag",A="FL:::/Compiler/OptLib.HC,40",BI=201$ -$LK,"ICPostIncDec",A="FL:::/Compiler/BackB.HC,345",BI=202$ -$LK,"ICFPostIncDec",A="FL:::/Compiler/BackFB.HC,593",BI=203$ -$LK,"ICTest",A="FL:::/Compiler/BackLib.HC,413",BI=204$ -$LK,"ICModU64",A="FL:::/Compiler/BackC.HC,463",BI=205$ -$LK,"LexExtStr",A="FL:::/Compiler/LexLib.HC,248",BI=206$ -$LK,"ICAddSubEctEqu",A="FL:::/Compiler/BackA.HC,442",BI=207$ -$LK,"ICAddSubEctImm",A="FL:::/Compiler/BackA.HC,56",BI=208$ -$LK,"ICPush",A="FL:::/Compiler/BackLib.HC,312",BI=209$ -$LK,"ParseWhile",A="FL:::/Compiler/ParseStatement.HC,486",BI=210$ -$LK,"ICSwap",A="FL:::/Compiler/BackC.HC,490",BI=211$ +$LK,"ParsePush2",A="FL:::/Compiler/ParseLib.HC,11",BI=197$ +$LK,"ParseSwitch",A="FL:::/Compiler/ParseStatement.HC,578",BI=198$ +$LK,"OptLag",A="FL:::/Compiler/OptLib.HC,40",BI=199$ +$LK,"ICPostIncDec",A="FL:::/Compiler/BackB.HC,345",BI=200$ +$LK,"ICFPostIncDec",A="FL:::/Compiler/BackFB.HC,593",BI=201$ +$LK,"ICTest",A="FL:::/Compiler/BackLib.HC,413",BI=202$ +$LK,"ICModU64",A="FL:::/Compiler/BackC.HC,463",BI=203$ +$LK,"LexExtStr",A="FL:::/Compiler/LexLib.HC,248",BI=204$ +$LK,"ICAddSubEctEqu",A="FL:::/Compiler/BackA.HC,442",BI=205$ +$LK,"ICAddSubEctImm",A="FL:::/Compiler/BackA.HC,56",BI=206$ +$LK,"ICPush",A="FL:::/Compiler/BackLib.HC,312",BI=207$ +$LK,"ParseWhile",A="FL:::/Compiler/ParseStatement.HC,486",BI=208$ +$LK,"ICSwap",A="FL:::/Compiler/BackC.HC,490",BI=209$ $LK,"CMP_TEMPLATES_DONT_PUSH",A="FL:::/Compiler/Templates.HC,260"$ -$LK,"ParsePop2",A="FL:::/Compiler/ParseLib.HC,16",BI=212$ +$LK,"ParsePop2",A="FL:::/Compiler/ParseLib.HC,16",BI=210$ $LK,"intermediate_code_table",A="FL:::/Compiler/CInit.HC,16"$ -$LK,"ICZero",A="FL:::/Compiler/BackLib.HC,404",BI=213$ -$LK,"CmpCtrlDel",A="FL:::/Compiler/Lex.HC,58",BI=214$ -$LK,"ICClassPut",A="FL:::/Compiler/CExcept.HC,117",BI=215$ -$LK,"ICAssign",A="FL:::/Compiler/BackC.HC,159",BI=216$ -$LK,"ICFTemplateFun",A="FL:::/Compiler/BackFB.HC,617",BI=217$ -$LK,"RunFile",A="FL:::/Compiler/CMain.HC,625",BI=218$ -$LK,"MemberAdd",A="FL:::/Compiler/LexLib.HC,103",BI=219$ +$LK,"ICZero",A="FL:::/Compiler/BackLib.HC,404",BI=211$ +$LK,"ICClassPut",A="FL:::/Compiler/CExcept.HC,117",BI=212$ +$LK,"ICAssign",A="FL:::/Compiler/BackC.HC,159",BI=213$ +$LK,"CompCtrlDel",A="FL:::/Compiler/Lex.HC,58",BI=214$ +$LK,"ICFTemplateFun",A="FL:::/Compiler/BackFB.HC,617",BI=215$ +$LK,"RunFile",A="FL:::/Compiler/CMain.HC,625",BI=216$ +$LK,"MemberAdd",A="FL:::/Compiler/LexLib.HC,103",BI=217$ $LK,"SLASH_OP_FDIVR",A="FL:::/Compiler/BackLib.HC,276"$ $LK,"SLASH_OP_FISTTP",A="FL:::/Compiler/BackLib.HC,279"$ -$LK,"ParseBinFile",A="FL:::/Compiler/Asm.HC,888",BI=220$ -$LK,"CmpCtrlSize",A="FL:::/Compiler/Lex.HC,70",BI=221$ -$LK,"ICLocalVarInit",A="FL:::/Compiler/BackC.HC,761",BI=222$ -$LK,"PassTrace",A="FL:::/Compiler/CMisc.HC,50",BI=223$ -$LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.HC,77",BI=224$ -$LK,"ParsePopDeref",A="FL:::/Compiler/ParseLib.HC,21",BI=225$ -$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.HC,293",BI=226$ -$LK,"CmpCtrlNew",A="FL:::/Compiler/Lex.HC,28",BI=227$ +$LK,"ParseBinFile",A="FL:::/Compiler/Asm.HC,888",BI=218$ +$LK,"ICLocalVarInit",A="FL:::/Compiler/BackC.HC,761",BI=219$ +$LK,"CompCtrlSize",A="FL:::/Compiler/Lex.HC,70",BI=220$ +$LK,"PassTrace",A="FL:::/Compiler/CMisc.HC,50",BI=221$ +$LK,"ICCopyTemplate",A="FL:::/Compiler/BackFA.HC,77",BI=222$ +$LK,"ParsePopDeref",A="FL:::/Compiler/ParseLib.HC,21",BI=223$ +$LK,"CompJoin",A="FL:::/Compiler/CMain.HC,35",BI=224$ +$LK,"LexIncludeStr",A="FL:::/Compiler/Lex.HC,293",BI=225$ $LK,"MODR_SIB_D8_INDIRECT_REG",A="FL:::/Compiler/BackLib.HC,131"$ +$LK,"CompCtrlNew",A="FL:::/Compiler/Lex.HC,28",BI=226$ $LK,"cmp_type_flags_src_code",A="FL:::/Compiler/Lex.HC,322"$ -$LK,"ParseFor",A="FL:::/Compiler/ParseStatement.HC,529",BI=228$ -$LK,"ParseFun",A="FL:::/Compiler/ParseStatement.HC,140",BI=229$ +$LK,"ParseFor",A="FL:::/Compiler/ParseStatement.HC,529",BI=227$ +$LK,"ParseFun",A="FL:::/Compiler/ParseStatement.HC,140",BI=228$ +$LK,"CompBuf",A="FL:::/Compiler/CMain.HC,157",BI=229$ $LK,"ParseVarInit2",A="FL:::/Compiler/ParseVar.HC,123",BI=230$ $LK,"asm_seg_prefixes",A="FL:::/Compiler/Asm.HC,393"$ $LK,"ICMinMax",A="FL:::/Compiler/BackC.HC,418",BI=231$ -$LK,"CmpLoadDefines",A="FL:::/Compiler/CInit.HC,204",BI=232$ -$LK,"ParsePush",A="FL:::/Compiler/ParseLib.HC,1",BI=233$ -$LK,"ICBuiltInFloatConst",A="FL:::/Compiler/BackLib.HC,423",BI=234$ -$LK,"ICFUnaryMinus",A="FL:::/Compiler/BackFA.HC,194",BI=235$ -$LK,"LexDocRead",A="FL:::/Compiler/Lex.HC,305",BI=236$ -$LK,"CmpFixUpJITAsm",A="FL:::/Compiler/CMain.HC,174",BI=237$ -$LK,"COCPopNoFree",A="FL:::/Compiler/ParseLib.HC,114",BI=238$ -$LK,"ParenWarning",A="FL:::/Compiler/CExcept.HC,110",BI=239$ +$LK,"ParsePush",A="FL:::/Compiler/ParseLib.HC,1",BI=232$ +$LK,"ICBuiltInFloatConst",A="FL:::/Compiler/BackLib.HC,423",BI=233$ +$LK,"ICFUnaryMinus",A="FL:::/Compiler/BackFA.HC,194",BI=234$ +$LK,"LexDocRead",A="FL:::/Compiler/Lex.HC,305",BI=235$ +$LK,"COCPopNoFree",A="FL:::/Compiler/ParseLib.HC,114",BI=236$ +$LK,"ParenWarning",A="FL:::/Compiler/CExcept.HC,110",BI=237$ $LK,"SLASH_OP_IMM_U32",A="FL:::/Compiler/BackLib.HC,263"$ -$LK,"ParsePop",A="FL:::/Compiler/ParseLib.HC,6",BI=240$ -$LK,"ICDerefPostIncDec",A="FL:::/Compiler/BackB.HC,384",BI=241$ -$LK,"Option",A="FL:::/Compiler/CMisc.HC,1",BI=242$ +$LK,"ParsePop",A="FL:::/Compiler/ParseLib.HC,6",BI=238$ +$LK,"CompLoadDefines",A="FL:::/Compiler/CInit.HC,204",BI=239$ +$LK,"ICDerefPostIncDec",A="FL:::/Compiler/BackB.HC,384",BI=240$ +$LK,"Option",A="FL:::/Compiler/CMisc.HC,1",BI=241$ +$LK,"CompFixUpJITAsm",A="FL:::/Compiler/CMain.HC,174",BI=242$ $LK,"ExeFile2",A="FL:::/Compiler/CMain.HC,657",BI=243$ $LK,"COptMemberVar",A="FL:::/Compiler/OptLib.HC,556"$ $LK,"ParseType",A="FL:::/Compiler/ParseVar.HC,285",BI=244$ @@ -325,9 +325,9 @@ $LK,"SLASH_OP_IMM_U8",A="FL:::/Compiler/BackLib.HC,262"$ $LK,"ExeFile",A="FL:::/Compiler/CMain.HC,614",BI=253$ $LK,"COCMiscNew",A="FL:::/Compiler/ParseLib.HC,143",BI=254$ $LK,"cmp_templates_dont_pop",A="FL:::/Compiler/CExts.HC,43"$ -$LK,"CmpOffset2Reg",A="FL:::/Compiler/OptLib.HC,83",BI=255$ -$LK,"StreamExePrint",A="FL:::/Compiler/CMain.HC,673",BI=256$ -$LK,"COCGoToLabelFind",A="FL:::/Compiler/ParseLib.HC,152",BI=257$ +$LK,"StreamExePrint",A="FL:::/Compiler/CMain.HC,673",BI=255$ +$LK,"COCGoToLabelFind",A="FL:::/Compiler/ParseLib.HC,152",BI=256$ +$LK,"CompOffset2Reg",A="FL:::/Compiler/OptLib.HC,83",BI=257$ $LK,"OptMVCompare",A="FL:::/Compiler/OptLib.HC,562",BI=258$ $LK,"ICToBool",A="FL:::/Compiler/BackB.HC,289",BI=259$ $LK,"ParseAsmBlk",A="FL:::/Compiler/Asm.HC,904",BI=260$ @@ -344,19 +344,19 @@ $LK,"ParseDoWhile",A="FL:::/Compiler/ParseStatement.HC,506",BI=266$ $LK,"ParseStreamBlk",A="FL:::/Compiler/ParseStatement.HC,805",BI=267$ $LK,"ICMulEqu",A="FL:::/Compiler/BackA.HC,285",BI=268$ $LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.HC,1",BI=269$ -H2@2#2#;#A#\#a#########aaaaaaaaaaabbEbSbSbbbbbbbb cc>c>cEcicccccH>Loou$$$$$$$$% %%%!%+%1%<%L%T%d%k%s%{%%%%%%%%p  /EX}(8d`nn .9?DFRYhsy~$4DDI\cjjjjq ! D&&<?BOUbehnpz -,cjpp~ os66DY_ P 7777777777777 ;\LLLLMM;M\MeMvMMMMMMMMM.N?NCNKNKN^NnNrNvN|1"""""""""""""# -###!#$#$#.#``t{ĢբBMXZajlw~(" 77F\b  +7BTeVTŵϵֵݵ  +=N?=nŶ̶жҶض +=N?=nŷ̷зҷط -,=.,]djv¸¸̸ڸ OOl:tÄʄۄ((=??KSWddpx|ƅޅ %49?JOO]frz݆݆͆ 0UlyʇЇׇ܇܇ /44;FLTZejjÿ҈ڈ +H2@2#2#;#A#\#a#########aaaaaaaaaaabbEbSbSbbbbbbbb cc>c>cEcicccccu$$$$$$$$% %%%!%+%1%<%L%T%d%k%s%{%%%%%%%%p  /EX}d`nn .9?DFRYhsy~$4DDI\cjjjjq !D&&<?BOUbehnpz,cjpp~ os66DY_ P 7777777777777 +;\LLLLMM;M\MeMvMMMMMMMMM.N?NCNKNKN^NnNrNvN |1"""""""""""""# +###!#$#$#.# ``t{ĢբBMXZajlw~ (" 77F\b  +7BTeVTŵϵֵݵ  +=N?=nŶ̶жҶض +=N?=nŷ̷зҷط +,=.,]djv¸¸̸ڸ OOl:tÄʄۄ((=??KSWddpx|ƅޅ %49?JOO]frz݆݆͆ 0UlyʇЇׇ܇܇ /44;FLTZejjÿ҈ڈ "((Mtyyʼnމ #)?PV[tz׊!)/6;;QWm~‹‹‹ԋ݋*=DJRXhnv|||ɌԌ݌*;AFX^c|ǍǍ (FFKKW_biott׎6>V^ahnnnя7C^fipvvvv{{Ȑې%19<CIrzӑّ -:@Sǒ̒̒  (4@KKPPjvœדݓ /:COWZ`fkŔݔ'*066GP\dgnty•ŕ̕ҕ+36=CCS\hpsyɖіԖږ">FIOUUfo{ܗ 6S[^ekkkkkppΘژ -5MUX_e}ƙəЙ֙֙֙+:Failsyܚ '-8==Pflwyyқۛ+AGUdii|М֜  5;@LUddii.4QiižžǞǞݞBHJV_jjjjo}ȟ؟ݟ (EUy-<nv|~ССաڡ4;AITZjpxǢǢǢ̢̢̢ޢ&7:FO[bhmmxģɣɣԣأأ /:EKW[[gpss~ǤѤԤؤؤ29DORX]]hllxåΥ٥ߥ*17?JU[ehllt{~Ʀͦئ*,BIOalw}ŧʧʧާ %,00=IQWgk|¨¨Шר++L[suɩҩ۩ *66axZ5Z5l5n5r5{5555555555 6 666"6,6 6JXoulbyG}G}]}l}q}}s}}}}}}}}}}~~3~L~V~mmmmmmmmmmmmmmmmnnnn/nRnsnxnnnnnnnnnnnnnnnoo ooo,oOo]ouozo~ooooooooppBpUpZp`pephpjpppvp|ppppppppppppq)qFIOUUfo{ܗ 6S[^ekkkkkppΘژ -5MUX_e}ƙəЙ֙֙֙+:Failsyܚ '-8==Pflwyyқۛ+AGUdii|М֜  5;@LUddii.4QiižžǞǞݞBHJV_jjjjo}ȟ؟ݟ (EUy-<nv|~ССաڡ4;AITZjpxǢǢǢ̢̢̢ޢ&7:FO[bhmmxģɣɣԣأأ /:EKW[[gpss~ǤѤԤؤؤ29DORX]]hllxåΥ٥ߥ*17?JU[ehllt{~Ʀͦئ*,BIOalw}ŧʧʧާ %,00=IQWgk|¨¨Шר++L[suɩҩ۩ *66axZ5Z5l5n5r5{5555555555 6 666"6,6 6JXoulbyG}G}]}l}q}}s}}}}}}}}}}~~3~L~V~mmmmmmmmmmmmmmmmnnnn/nRnsnxnnnnnnnnnnnnnnnoo ooo,oOo]ouozo~ooooooooppBpUpZp`pephpjpppvp|ppppppppppppq)qBqfW ---3?QYq%3:>@S]krvvvv #7AOVZjuz%3M]h} ',@HSSSSgw 2Kdfqyy """?M[r -$3NYpxx!AOe &>GGNW]iH5ELc~ׇ4IR!&=OOwz  #@X]djl #8?[[mM :EPYadkoxͧܧ - '0A?7OX^^loԨݨ+<<C\hp©ɩ +7;PRcmxĪɪKPwoOoOOOOOOOP PP!P$P0P cccN``lŠȊ/~~ -$,28::F08 2/2/@/F/R/]/n/x///1@ww2S% 8 ? F M S U \ c f f x x            +$3NYpxx!AOe &>GGNW]iH5ELc~ׇ4IR!&M :EPYadkoxͧܧ + '0A?7OX^^loԨݨ+<<C\hp©ɩ +7;PRcmxĪɪKPwoOoOOOOOOOP PP!P$P0P cccN``lŠȊ-8.~~ +$,28::F/8 2/2/@/F/R/]/n/x///0@ww1S% 8 ? F M S U \ c f f x x             & > @@ -378,46 +378,46 @@ $LK,"AsmPrsInsFlags",A="FL:::/Compiler/AsmInit.HC,1",BI=269$       & . 3 9 O _ t y            -   3 K P [ o w               # + 0 7 M ] r w           1IIIU[ep=M[[dn{//H3D -4\ObȊȊ "''8<D\_k50^^glu|~6";;FJUi\&EY]]bs %*>FOW\cu >RVeeeex~ '<OTs{<<<TG4HLQob #(<DMUZas #222EKU\o%*IXQp7Dtffv8<&7@FJU94oGG.G1G5GBGKGVGfGnGxGGGGGGGGGGGGGGGH H HHHH.H3H3HCHHHHHXH]H]H]H`HiHHHHHHHHHHHHHHHHII3I;IAIAIUIUI^IaI!J:lzW~W~m~|~~~~~~~~~~~~~*C\f;44#474T4_4444444 55$5+5?5F5F5U5c5r555555555566 6J6<d(=/7;EOWZ`= nggɬ+/ADOXdwϭ3WkmtѮخ15bbzɯܯ!+>JOOOqǰ̰Ұװװܰ 1=JVeou~DẔ#2<BKTTYYYYYiii˲زڲ +   3 K P [ o w               # + 0 7 M ] r w           1IIIU[ep=M[[dn{//H2D +3\ObȊȊ "''8<D\_k4";;FJUi\&EY]]bs %*>FOW\cu >RVeeeex~ '<OTs{<<<TG4HLQob #(<DMUZas #222EKU\o%*IXQp50^^glu|~6Dtffv7<&7@FJU84oGG.G1G5GBGKGVGfGnGxGGGGGGGGGGGGGGGH H HHHH.H3H3HCHHHHHXH]H]H]H`HiHHHHHHHHHHHHHHHHII3I;IAIAIUIUI^IaI!J9lzW~W~m~|~~~~~~~~~~~~~*C\f:44#474T4_4444444 55$5+5?5F5F5U5c5r555555555566 6J6;d(=/7;EOWZ`< nggɬ+/ADOXdwϭ3WkmtѮخ15bbzɯܯ!+>JOOOqǰ̰Ұװװܰ 1=JVeou~DẔ#2<BKTTYYYYYiii˲زڲ  -$<HZfltzгس +-;;@@GUZmyʹʹʹʹʹʹʹʹʹʹ/<>K[```iµµǵǵǵǵǵǵǵǵܵ 3Hiڶ4<DR|ŷŷŷŷŷ )/5:CLQQQQ`tԸ ';YiottԹڹڹ߹߹߹ 0ANP_aaaaauuuuuuuuuuuuuuuuغ!9HTjû')<jB̼ϼFIXlٽ A?4)OOORWZtҾҾ#DXt`ֿ˿1=>%)4;FZZev}11Lxx)8=EEJJQgw #8>CCCCCCCCCN\lrz"*9C]chho"&/4Xdl$)4<QVVz$38@HJRagowy 2fn}#@EENSSSSSSSSSSSSSSSS^j!),.>HHHJ_psv~1FMMRRRRRRRZeq,4W]dflssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuu#?x[-4;FM^hoy,2HOWmttt&-BSSZZZhV@x`gg(3>IT[nz*9APX{(8Kg|5A ?C11111BDTa|||||| }}'}?}G}CfGSGSiSsSSSSSSSSSSST T!T2TQTYT[TzTTTTTTTTTTTTTTTUU UU!U@UGUIUhUoUoUoUUUUUUUUUUUU VUV!V(V0V6V8VIVNVdVPVsVyVyVVVVVVVVVVVWWW1W1WCWD ;z#APn"9==AFKUXbg%.BBQVVdEPcsAA@A-AbAOAqAAAAAAAAAAFP. FNGD$rrsss)s.s7sCsEsWsWsYssHR~~+?DFFFbI.+<C\`qq{3JP>>8>:>H>N>i>x>>>>>>>K7//00000*0A0X0|0000000 111*12121<1<1G1L1a1g1111111222222/2m222L$ ZZ[[$[,[MTHYeeeeeeeeff -ff"f%f/fN!Gdd(d1dDdQd]diduddddddddddddee+e=e=eFeieieke~eeeeeeOlppppp-q4qHqOqWq_qhqpqxqzqqqqqqqqq r7r@rbr|rrrrrrrss$s@sgsssss t0tLtsttttttttttttt -uu4uLudufufufumumuzuuuuuuuuv v v vv.v`L`_`a`o`}````````````aa'a.a?aMaoavaaaaaaaaaaaaaa bbb$b-b5b:b:bIbVbdbobzbbbbbbbbbbbbbbcc$c*c3cDckcsc}cccccccccccddddeRdFF`i-388Aaaahjjqssyy#-00:@FFJRY]ems{"-2HY^aSL؇؇ &>VYkT$ZZZZZZUPGDGDhDUDDwDDDDDDDDDDDV,WWWxۏ**77>QO__jtzϐԐߐ/5;BYHiou}ؑǑ%+1999OOOOZdmԒْْ  0EZw||Ɠ (>S_pu””є֔֔)8==P_drdԕٕٕ"DIWIkppǖۖ$)7)KPPmrۗ  ;@@[``{ј֘֘)BGmt~Ùԙߙ"'''+DMMsxxĚϚښ "?JT_dow||˛$/P\mrϜޜ%05@HMXhwÝȝȝԝ +$<HZfltzгس +-;;@@GUZmyʹʹʹʹʹʹʹʹʹʹ/<>K[```iµµǵǵǵǵǵǵǵǵܵ 3Hiڶ4<DR|ŷŷŷŷŷ )/5:CLQQQQ`tԸ ';YiottԹڹڹ߹߹߹ 0ANP_aaaaauuuuuuuuuuuuuuuuغ!9HTjû')<jB̼ϼFIXlٽ A?4)OOORWZtҾҾ#DXt`ֿ˿1==%)4;FZZev}11Lxx)8=EEJJQgw #8>CCCCCCCCCN\lrz"*9C]chho"&/4Xdl$)4<QVVz$38@HJRagowy 2fn}#@EENSSSSSSSSSSSSSSSS^j!),.>HHHJ_psv~1FMMRRRRRRRZeq,4W]dflssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuu#>x[-4;FM^hoy,2HOWmttt&-BSSZZZhV?x`gg(3>IT[nz*9APX{(8Kg|5@ ?C11111ADTa|||||| }}'}?}G}B ;z#APn"9==AFKUXbg%.BBQVVdCPcsAA@A-AbAOAqAAAAAAAAAADP. FNED$rrsss)s.s7sCsEsWsWsYssFR~~+?DFFFbG.+<C\`qq{3H7//00000*0A0X0|0000000 111*12121<1<1G1L1a1g1111111222222/2m222I$ ZZ[[$[,[JTHYeeeeeeeeff +ff"f%f/fK!Gdd(d1dDdQd]diduddddddddddddee+e=e=eFeieieke~eeeeeeLlppppp-q4qHqOqWq_qhqpqxqzqqqqqqqqq r7r@rbr|rrrrrrrss$s@sgsssss t0tLtsttttttttttttt +uu4uLudufufufumumuzuuuuuuuuv v v vv.v`L`_`a`o`}````````````aa'a.a?aMaoavaaaaaaaaaaaaaa bbb$b-b5b:b:bIbVbdbobzbbbbbbbbbbbbbbcc$c*c3cDckcsc}cccccccccccddddeOdFF`i-388Aaaahjjqssyy#-00:@FFJRY]ems{"-2HY^aPL؇؇ &>VYkQ$ZZZZZZRPGDGDhDUDDwDDDDDDDDDDDSl:OGOGhGGGGGGGGH'H+H.H2H7HAHDHKHQHXH^HbHgHqHHHHHHHHHHHHHHHHHI"I+I4IQO__jtzϐԐߐ/5;BYHiou}ؑǑ%+1999OOOOZdmԒْْ  0EZw||Ɠ (>S_pu””є֔֔)8==P_drdԕٕٕ"DIWIkppǖۖ$)7)KPPmrۗ  ;@@[``{ј֘֘)BGmt~Ùԙߙ"'''+DMMsxxĚϚښ "?JT_dow||˛$/P\mrϜޜ%05@HMXhwÝȝȝԝ  ))3GQS_g͞ޞ #388CHHP[``hsxxƟПΟ055BGGOTTfx}}}ΠӠӠ4DIIcsxx֡ۡۡ'?Dn\DТ/GLtbLѣ֣֣ݣ-22M9wѤ֤֤!&&9INNV[[chhpuu}ܥʥ `N<*mrrͦҦҦ UC1$ţ @.# X]u]ɨ  ,EUffƩө5#X```lqqҪתתߪ+:EJJUfkkvƫѫƫ  ',@,OTThTwww||ĬĬЬĬ   /;FQVjVy˭íԭ٭٭   +00;@@KPP[``kpp{ĮɮɮӮخخ $$166666>CCKPPX]]ejjrww¯! 0;FKKR]}˰ְ3>WCfq|˱б -<GLLgSvղ2Aaf|óҳݳ   -!!+2UWWaaaaacczŴ#I>aaajqɵԵ   ,<QcssĶɶж!&&*5AO|׷"38Ih¸ҸԸԸظGjjmX, '06Y`EYgg}‡ȇއ.MWZ8 -?Z?Z`ZMZoZzZZZZZZ[\áˡ֡"+.]\@BB_r (;;;NYl]l??div ;[w};RX\u} "AFNTX\nv{(--DFFZ\\suu05555Xt     :=RY[dwy5Uv%=Lc *P_}>@@@LLLj^\ -OOOOOOO PP,PP;PCPNPdPZP|PP_::::::; ; ;;;;!;4;\;w;d;;;;;;;;<<G<O<T<]<i<q<x<<<<<<=<==!=!='=*=.=?=?=b=t=`$ggva|koo)+++3NPPZZrb7777788858L8W8888888889#9:9?9Q9V9Y9y999999999: :(:-:2:=:=:H:H:T:T:f:::::cdύ&6PT\d(r*r********+ -++8+b+s++++++++++++,,,,,,,,B,B,X,X,n,n,,,,,,,,,,,,,--%-%-<-D-O-`-k-|-----.e(́߁f8-7*0*0>0B0G0R0]0`0d0l0gZWWqňʈՈ݈'08B`r{ɉӉۉ݉'9CKKT\rڊ܊3=GPq{Ë܋"=AAAGU_x~Ɍ׌79EGOUnэ)5JOdtŎ̎ގh   ) - 8 J J e h j v                   C!ie )IIOW_gou%''--466<<CEEKKRRZ`fnnnnz !'/6>FJP[anz j`b!b!k!r!!!!!!!!"""-"6"8"L"\""kxee-e?eEeQehehezeeeeeeeeeeeee f f;fl2ȕȕޕ"3FN\zіז#)>FJR`fkk՗!#02DDKSeeŘɘ՘٘"(,6:IM\`swwwwșؙ#+8Scsxxxxƚۚ&,9TdpvśRmTP 8HU[_egjnn -&*-4:>DU[`ert#@d~ ,3?Wcccilo %%*7DDJXoux{&-=AJbgn  'I\nnnnnnno$oi>iaininiiiiiiiijjjRjjjjjj|tZ3Z3n3333333334 4 4!4!4$4'4<4B4D4D4L4}Q88:GRXix -%333>YDatv~$*333FKKSS^s||||#(--9Vet|!**H^in{ ',,9DJSSfs&+2?FXmtz-5=Ifmz|'5@OVVo.5@EMT_dy{)228AA``mpy )24Vi~3 ~%%%%%& +!!+2UWWaaaaacczŴ#I>aaajqɵԵ   ,<QcssĶɶж!&&*5AO|׷"38Ih¸ҸԸԸظGjjmV, '06W`EYgg}‡ȇއ.MWX8 +?Z?Z`ZMZoZzZZZZZZY\áˡ֡"+.]Z@BB_r (;;;NYl[l??div ;[w};RX\u} "AFNTX\nv{(--DFFZ\\suu05555Xt     :=RY[dwy5Uv%=Lc *P_}>@@@LLLj\\ +OOOOOOO PP,PP;PCPNPdPZP|PP]::::::; ; ;;;;!;4;\;w;d;;;;;;;;<<G<O<T<]<i<q<x<<<<<<=<==!=!='=*=.=?=?=b=t=^$ggv_|koo)+++3NPPZZr`7777788858L8W8888888889#9:9?9Q9V9Y9y999999999: :(:-:2:=:=:H:H:T:T:f:::::adύ&6PT\b(r*r********+ +++8+b+s++++++++++++,,,,,,,,B,B,X,X,n,n,,,,,,,,,,,,,--%-%-<-D-O-`-k-|-----.c(́߁d8-7*0*0>0B0G0R0]0`0d0l0eZWWqňʈՈ݈'08B`r{ɉӉۉ݉'9CKKT\rڊ܊3=GPq{Ë܋"=AAAGU_x~Ɍ׌79EGOUnэ)5JOdtŎ̎ގf   ) - 8 J J e h j v                   C!ge )IIOW_gou%''--466<<CEEKKRRZ`fnnnnz !'/6>FJP[anz h`b!b!k!r!!!!!!!!"""-"6"8"L"\""ixee-e?eEeQehehezeeeeeeeeeeeee f f;fj2ȕȕޕ"3FN\zіז#)>FJR`fkk՗!#02DDKSeeŘɘ՘٘"(,6:IM\`swwwwșؙ#+8Scsxxxxƚۚ&,9TdpvśRkTP 8HU[_egjnn +&*-4:>DU[`ert#@d~ ,3?Wcccilo %%*7DDJXoux{&-=AJbgn  'I\lnnnnnno$oLoov0X[[[[[.\\ \[[4\F\6\f\f\}\q\\\\\\\\\]]\,].]J]J]Q]{]{]{]]wd$CCD DDDD,D.D;D=DHD\DdDtDyDDDDDxtR4R4d4m4p4y4444444444444445y`2PPPPPPPPPPQ QQ Q+QAQ6QYQaQz-HhHhfhvhhhhhhhhhhhhhhhhi!i!i1i>i>iaininiiiiiiiijjjRjjjjjj{tZ3Z3n3333333334 4 4!4!4$4'4<4B4D4D4L4|Q88:GRXix +%333>YDatv~$*333FKKSS^s||||#(--9Vet|!**H^in{ ',,9DJSSfs&+2?FXmtz-5=Ifmz|'5@OVVo.5@EMT_dy{)228AA``mpy )24Vi~3 }%%%%%& &&&,&,&7&A&A&N&W&f&q&w&&&&&&&&&&&&&&&'' '3'9'<'B'B'D'J'P'R'R'R'c'm'r'r'''''''''''''''( (((#(,(>(>(c(g(m(s((((((((((((((((((( ) )$)1)5)=)O)o)o)u)x)|))))))))))))* ***0*;*^*i*o*u*{*************+ -+++6+)+P+Y+_+_+t+y+y++++++++++++, ,,,;,A,G,S,j,q,w,,,,,,,,,,,,,,,,,,,, -$-4-A-L-h-j-------------------. ...!.-.4.8.@.H.P.b.p.u..................../ /"/$/$/$///////4/]0``xzƎю &,/9JP\\ď&)))))))) *)**8*I*N*o*[*********++5+!+M+Z+Z+r+r+|+x ֱݱ!0?NXX]dwֲ (*8JJJ\gydz̳ٳ޳'):CCEU\llʹʹʹд\ȏȏ#146@RRY`/gg}ȅ̅҅8&WaL[j22222222222253=gRgRRRRRRRRRRRRSS S&S(S*S7S7STTTTTT UUUU0U6U8UCUJUJUNU]UfUnUwUUUUUUUUUUUUUUUVV#V#V7VBVIVRV`ViVVVVVVVVVVVVVVWWWWWkW\k~7373E3W3]3e3w3}333333334, $OOmAAAPlb8(()),)M):)e)})}))`j~*4?GV`c_oo  !!%-5=GPX[d   +?FMd83=8>HDDQ111111112222=2{ADKPVX]ccu|)0?AWjj|0RZ?2?2H2n22222  -00000"O6O6q6{666666666677 7/777D7L7O7O7O7Q7`7j7s7{7~77=Z/K/K_KeKnKzKKKKKKKKKKK LLL/LGLkLLLl ??Wipw>>F y}!-2a~NN`u&*9LH%/////////////0 OO>O+OMOiO_OOOL'''((=(*(U(Z(((((((([LLLLLLLMM%M'MBM*MQMQM_MiMpMMMMMMMMMMN3NPNSN[NbNNNNNNNNNNOOT]n $'10 ++++6+)+P+Y+_+_+t+y+y++++++++++++, ,,,;,A,G,S,j,q,w,,,,,,,,,,,,,,,,,,,, -$-4-A-L-h-j-------------------. ...!.-.4.8.@.H.P.b.p.u..................../ /"/$/$/$///////4/]0~``xzƎю &,/9JP\\ď&)))))))) *)**8*I*N*o*[*********++5+!+M+Z+Z+r+r+|+x ֱݱ!0?NXX]dwֲ (*8JJJ\gydz̳ٳ޳'):CCEU\llʹʹʹд\ȏȏ#146@RRY`/gg}ȅ̅҅8&WaL[j22222222222253=gRgRRRRRRRRRRRRSS S&S(S*S7S7STTTTTT UUUU0U6U8UCUJUJUNU]UfUnUwUUUUUUUUUUUUUUUVV#V#V7VBVIVRV`ViVVVVVVVVVVVVVVWWWWWkW\k~7373E3W3]3e3w3}333333334, $OOmAAAPlb8(()),)M):)e)})}))`j~*4?GV`c_oo  !!%-5=GPX[d   +?FMd83=8>HDDQ111111112222=2{ADKPVX]ccu|)0?AWjj|0RZ?2?2H2n22222  +00000"O6O6q6{666666666677 7/777D7L7O7O7O7Q7`7j7s7{7~77=Z/K/K_KeKnKzKKKKKKKKKKK LLL/LGLkLLLl ??Wipw>>F y}!-2a~NN`u&*9LH%/////////////0 OO>O+OMOiO_OOOL'''((=(*(U(Z(((((((([LLLLLLLMM%M'MBM*MQMQM_MiMpMMMMMMMMMMN3NPNSN[NbNNNNNNNNNNOOT]n $'10 RGGvk -!,49EJ^eity'9>IQQQSlZ0f0fJfXf]fjfxfffffffggg g"g,g8gYIYVYbYuYYYYYYYYYYYZ(Z(Z(Z:Z< +!,49EJ^eity'9>IQQQSlZ0f0fJfXf]fjfxfffffffggg g"g,g8gYIYVYbYuYYYYYYYYYYYZ(Z(Z(Z:Z< 5 -555$5,545<5C5S5S5X5*ˣأݣ#.69EMgۤǤ*1U\<D̐֐ܐ *0:@JQ]clǑё$)9DI]_pɒђߒ++3A$PP QQQ$Ql:OGOGhGGGGGGGGH'H+H.H2H7HAHDHKHQHXH^HbHgHqHHHHHHHHHHHHHHHHHI"I+I4IGGGYdj  &<CKRgxx%=EKZcgoxx xWWez %-57=CRZ`bhccccccc ddd!d'd0d!W!j!n!n!n!!!!!!!!!!!!!""%"%"%"*"9";"]"]"""""""""""""" # ##2#4#M#^#b#b#i#|############ $$'$:$>$P$P$P$P$b$U$w$$$$$$$$$$$$%%%$%$%7%N%Y%j%o%u%%%%%%%%%%%%%%% &&&#&+&/&3&5&:&B&F&X&Z&_&g&k&m&m&v&&&&&&&&&' ' ' '''1'?'K'R'R'l'n's'''''''''' (J(JEJTJTJTJqJqJJJJJJJJJJJJJJJJJJJJJJJJJJKKK:KL,LDLSLXL_LhL{LLLLLLLLLLLLLMMM%M-M2M2M8M8MAMRMTMiMkMsMyMMMMMMMMMMMMMMMMMMMNNNN N NN1N5N7NCNEN`NfNnNsN|NNNNNNNNNNNNO OOO#O(O(O-O/O7O7OROdOiOuO{O~OOOOOOOOOOOOOOOOPPP4P9PCPkPvPPPPPPPPPPPPPP Q)QBQDQJQLQPQ[Q]Q]QcQiQiQqQzQQQQQQQQQQQQQQQQQRRRRDRDRMR[RlRxRRRRRRRRRRRRRSSS$S&S/S2S2SV>VLVRVXVbVlVzVVVVVVVVVVVVVVVVVVVVVVWW!W&W+W0W5W:W?W?WDWIWeWoWWWWWWWWWWWWWWWXXXXX!X&X/X/X4X4X:XBXGXGXLXWX\XaXfXuXuXXXXXXXXXXXXXXXYYYY YYYY!Y)Y.Y.Y3Y>YCYHYMY\Y\YmYsYsYYYYYYYYYYYYYYYYYYZZZZZZ"Z(Z(Z6ZGGGYdj  &<CKRgxx%=EKZcgoxx xWWez %-57=CRZ`bhtAAA +BA?B%BBNB]BeBpBrB}BBBBBBBCC6C#CJCECfCuC}CCCCCCCCCCCCCDD;D;D;DCDfGSGSiSsSSSSSSSSSSST T!T2TQTYT[TzTTTTTTTTTTTTTTTUU UU!U@UGUIUhUoUoUoUUUUUUUUUUUU VUV!V(V0V6V8VIVNVdVPVsVyVyVVVVVVVVVVVWWW1W1WCW$=PW^eikry}}      < < J a f                  !!%!!W!j!n!n!n!!!!!!!!!!!!!""%"%"%"*"9";"]"]"""""""""""""" # ##2#4#M#^#b#b#i#|############ $$'$:$>$P$P$P$P$b$U$w$$$$$$$$$$$$%%%$%$%7%N%Y%j%o%u%%%%%%%%%%%%%%% &&&#&+&/&3&5&:&B&F&X&Z&_&g&k&m&m&v&&&&&&&&&' ' ' '''1'?'K'R'R'l'n's'''''''''' (J(JEJTJTJTJqJqJJJJJJJJJJJJJJJJJJJJJJJJJJKKK:KL,LDLSLXL_LhL{LLLLLLLLLLLLLMMM%M-M2M2M8M8MAMRMTMiMkMsMyMMMMMMMMMMMMMMMMMMMNNNN N NN1N5N7NCNEN`NfNnNsN|NNNNNNNNNNNNO OOO#O(O(O-O/O7O7OROdOiOuO{O~OOOOOOOOOOOOOOOOPPP4P9PCPkPvPPPPPPPPPPPPPP Q)QBQDQJQLQPQ[Q]Q]QcQiQiQqQzQQQQQQQQQQQQQQQQQRRRRDRDRMR[RlRxRRRRRRRRRRRRRSSS$S&S/S2S2SV>VLVRVXVbVlVzVVVVVVVVVVVVVVVVVVVVVVWW!W&W+W0W5W:W?W?WDWIWeWoWWWWWWWWWWWWWWWXXXXX!X&X/X/X4X4X:XBXGXGXLXWX\XaXfXuXuXXXXXXXXXXXXXXXYYYY YYYY!Y)Y.Y.Y3Y>YCYHYMY\Y\YmYsYsYYYYYYYYYYYYYYYYYYZZZZZZ"Z(Z(Z6Z<I<|<<<<<<<<<<=!=)=4=6=F=^=v========>> >LWf"1"161:1?1J1J1T1Z1Z1^1f1\CV0000000000011111  @F`Biiiij(j6j8jFjSjYjdj{jjjjjjjjjjkk%k3kEkGkUkgkgkpkkkkkkkkkkkkkkll3lBlMl_lklllllllllllllll mm m m.m.m3m3m=mHmZm`mlm|mmmmmmmmmmmmnn'n.n4n@nHnSnZn^nqnwnnnnnnnno ooo&o1oAoQoQoaofofopo{oooooooooooop +^^^^$^:^:^C^C^C^L^Q^Q^Y^^^^^{^^^^^^^^^^^^^^^^^^___!_+_4_6_6_6_<_@_B_B_B_B_G_M_S_W_b xx-x0x6xJxRxcxpxvx{x{xxxxxxxxxxx y yy.y9y=yNyNyNySySy_ynyyyyyyyyyyyyyyyyzzzzz"z*z,z1z=z?zDzLzNzSz[z]zbzjzlzqzyzyzyzzzzzzzzzzzzzzz{{&{1{7{D{I{N{N{c{k{u{}{{{{{{{{{{{{| |||'|+|0|5|@|K|V|X|^|k|p|u|||||||||||||| } } }}}#}%}%}8}:}:}M}O}O}b}d}d}w}y}y}}}}}}}}}}}}}}} ~~~~~3~6~8~G~Y~i~u~~~~~~~~~~!)15CINNThx}} !--3@BO[j}}€̀Հ݀߀&&=MMamox́́́́́Ijjjjjj k"k7kBkXkDkgkokok~k~kkkkkkkkkkkkk ll.l0l5lDlOl\lflfltlccccccc ddd!d'd0dHTH`HuHHHHHHHHHII,I"IAIGIVI~ImIIIIIIIIIII JJJ2J8J8J8JAJaJJxJJJJJJJJJJKK/K8222222223333$323<3A3i3n3{33333334!4&4;4g4o4t4t44444444455555(5@5E5H5K5K5x5}5}555555555566666,6C6E6E6R6i6i6y6~666666 77)737575757Q7Y7[7[7778]  2LT[`{\?f?fUfgfmfxfffffffffffg.g!&&27<GLLLnЃ  9RkԄ!:SSSe HHQpu0''-<:E"9"9+969D9P9\9e9n9w9}99lu&&&&&&&&&&& '('*':':'?'A'H'z'sss tts-t_tEt8tttttttttDu7u,uuJuUuuuuuuuuuuvu)vv@vGvsvsvsvsv{vLix'/'/E/W/^/////////$qv?O?OSO[OfOlOgj1j111111111 2222$2<2G2W2c2j2u222222222222222222*3Lxnn*`FZ9999999999999999: ::<ߎߎ <GW,29111.1G1[1^1d1Mz  %79=ADWp49@Y4xx<%0DDDDDDDEE)E9778%8,808F8s88888888899995ohohhhhhhhhhhiii i&i9i?iHiNi`ifiqiyiiii oWoWWWWWWWWWWXXX"X4X4XRX]XpXwXXXXXX YY!Y)Y6Y?YDYTYbYYYYYYYYYYY0ZZ Z@Z{ZeZVZZZZB[X{..Ycv ')9IRX]djpv$+3Nkox0!38>AEEhm€рӀ  +:::U ""11@@OO^^m|# ƈ݈d688< -1=RTm|((:P1A0E0EFEREZE^EoE}EEEEEEEE ->>>>>>???.???Q?c?r?????????????????? @ @@@&@.@;@C@K@\@g@l@l@y@@@@@@@@@@@@@AAAA!A!A)A)A;ABAXAXAXA]A]AuAAAAAAAAAAAAAAAAA -BBBBBBB*B,B,B/B/B/B/B/B8B>BBBNBnB{BBBXC(rx (ntZ&Z&c&m&~&&&&  +ppp#p'p7p@pRpXpZpZphpnpwpppppppppppppqqBqTq_qqquqzqqqqqqqqqqr8(2^^gguyY]]]]]]]][^A^6^^^a^v^f^^^^^^^^^^^_C_&_Z_x_x_x__lQh---.-.1.M.C.e.}.j........//#/4//CHNRVu}x!+2HMRVX^dzg߂Ղ2626P6T6X6`6n6q6t666666666666666 77<DD/E:E_EAEyEEEEEEEEEEF5FGFTFoFFFFFFFFFF G'GCG9G]GcGcGlGGGGGGGGGGGGGHH6H6H;H>HTH`HuHHHHHHHHHII,I"IAIGIVI~ImIIIIIIIIIII JJJ2J8J8J8JAJaJJxJJJJJJJJJJKK/K8222222223333$323<3A3i3n3{33333334!4&4;4g4o4t4t44444444455555(5@5E5H5K5K5x5}5}555555555566666,6C6E6E6R6i6i6y6~666666 77)737575757Q7Y7[7[7778]  2LT[`{\?f?fUfgfmfxfffffffffffg.g!&&27<GLLLnЃ  9RkԄ!:SSSe HHQpu0''-lu&&&&&&&&&&& '('*':':'?'A'H'z'sss tts-t_tEt8tttttttttDu7u,uuJuUuuuuuuuuuuvu)vv@vGvsvsvsvsv{v<:E"9"9+969D9P9\9e9n9w9}99Lix'/'/E/W/^/////////$qv?O?OSO[OfOlOgj1j111111111 2222$2<2G2W2c2j2u222222222222222222*3Lxnn*<ߎߎ <GW`FZ9999999999999999: ::,29111.1G1[1^1d1Mz  %79=ADWp49@Y4xx#777777777 88+8M8u8888888 9*999T9_9z999999 ::-:<:<:G:Z:k:~::::::::::::;;(;9;=;E;P;h;;;;;;;;;; <<<<<><I<|<<<<<<<<<<=!=)=4=6=F=^=v========>> ><%0DDDDDDDEE)E9778%8,808F8s88888888899995ohohhhhhhhhhhiii i&i9i?iHiNi`ifiqiyiiii oWoWWWWWWWWWWXXX"X4X4XRX]XpXwXXXXXX YY!Y)Y6Y?YDYTYbYYYYYYYYYYY0ZZ Z@Z{ZeZVZZZZB[P>>8>:>H>N>i>x>>>>>>>X{..Ycv ')9IRX]djpv$+3Nkox0!38>AEEhm€рӀ  +:::U ƈ݈d688< +1=RTm|((:P1A0E0EFEREZE^EoE}EEEEEEEE(rx (ntZ&Z&c&m&~&&&&   -___________``(`Y`<`/`|````````` aa3aIaIaoaoa{a ^0^0m0004PPPPPPPPPltF!F!h!s!v!~!!!!!!!!!!!!!!!!!!!!"#"&"."6";";"B"K"\"b"k"v"""""""""""""""######&#/#@#a#r#############$8 .... + ""11@@OO^^m|#___________``(`Y`<`/`|````````` aa3aIaIaoaoa{a ^0^0m000 ->>>>>>???.???Q?c?r?????????????????? @ @@@&@.@;@C@K@\@g@l@l@y@@@@@@@@@@@@@AAAA!A!A)A)A;ABAXAXAXA]A]AuAAAAAAAAAAAAAAAAA +BBBBBBB*B,B,B/B/B/B/B/B8B>BBBNBnB{BBBXC4PPPPPPPPPltF!F!h!s!v!~!!!!!!!!!!!!!!!!!!!!"#"&"."6";";"B"K"\"b"k"v"""""""""""""""######&#/#@#a#r#############$8 .... ////%/%/+/ :>g1g1q1y1~1SvvvvvvvvwLwRwXw`wbwjwwwwwwwww-x3x9xAxFxNxcxfxqx}xxxxxxxxxx yyyy-y/ySyyyyyyyyyyyy z zz"z9z;zXzpz|zzzzzzzzzz {{){K{b{{{{{{{{{{{{||-|1|1|1|8|=|P|[|u|w|||||||||tVVx %*M`dj -  ?MYs!8CR`o|$/4:Q\ipp~(k:::::::::::;;;;;;";&;<;<;r;~;;;;;;;;;;;;;<<<$<0<8<=<=<Y<e<n<v<~<<<<<<<<<< =#=-=9=A=F=F=e=q================= >>*>,>/>4>4>4>>>F>M>U>^>i>o>|>>>>>>>>>>???(?0?0?2?2?7?7?>?D?H?O?S?S?S?S?b?b?????C(CCCCCCwlwlllllllllmmmm mm%m>m@mEmSm^mkmrmm\=P,,,,,, -,!-6-#-E-^-p-------8fpNNNNOOOO O>O0),40S[&&:BOYlT'Q'QAQTQWQaQnQQQQQQQQQR<88LS_k{ 26H!//[/[C[O[e[Q[t[v[}[[[[\[..HO\glr469EMU]kqz.DO]hx $))499DIITTov|5J\mv  +1FL]hn~~%3COal{} %339@D#ѭ٭٭ <<<DFFNPPXZZbbkqvvîЮ !@@@HJJJRTTT\^^^fhhssy~~~~ȯȯȯدد߯"/X[dkӰ۰&,118CCHZ````l (**>@IOOOOW"``nȬͬ !-8CLTTXEnEEEEEF F FF(F,F1FFFHFKFOFVFjFnFvFFFFFFFFFFFFFFFFG Bjjjjjjjjjjjkkkkkk$k-k8k>kGkZk_ktkkkkkkkkkkkl lllll!l'l,l,l?lMl[lelklplzlllllllllllmmm3mZm_m_m_mbmimomvm{m{mmmmmmmmmmmmmnnnnn)n3n9n@n@nBnBnBnGnMnRnVnXn[nfnunxnzn~n~nnnnn +  ?MYs!8CR`o|$/4:Q\ipp~(k:::::::::::;;;;;;";&;<;<;r;~;;;;;;;;;;;;;<<<$<0<8<=<=<Y<e<n<v<~<<<<<<<<<< =#=-=9=A=F=F=e=q================= >>*>,>/>4>4>4>>>F>M>U>^>i>o>|>>>>>>>>>>???(?0?0?2?2?7?7?>?D?H?O?S?S?S?S?b?b?????C(CCCCCCwlwlllllllllmmmm mm%m>m@mEmSm^mkmrmm\=P,,,,,, -,!-6-#-E-^-p-------8fpNNNNOOOO O>O0),4T'Q'QAQTQWQaQnQQQQQQQQQR<88LS_k{0S[&&:BOYl 26H!//[/[C[O[e[Q[t[v[}[[[[\[..HO\glr469EMU]kqz.DO]hx $))499DIITTov|5J\mv  +1FL]hn~~%3COal{} %339@D#ѭ٭٭ <<<DFFNPPXZZbbkqvvîЮ !@@@HJJJRTTT\^^^fhhssy~~~~ȯȯȯدد߯"/X[dkӰ۰&,118CCHZ````l (**>@IOOOOW"``nȬͬ !-8CLTTXEnEEEEEF F FF(F,F1FFFHFKFOFVFjFnFvFFFFFFFFFFFFFFFFG Bjjjjjjjjjjjkkkkkk$k-k8k>kGkZk_ktkkkkkkkkkkkl lllll!l'l,l,l?lMl[lelklplzlllllllllllmmm3mZm_m_m_mbmimomvm{m{mmmmmmmmmmmmmnnnnn)n3n9n@n@nBnBnBnGnMnRnVnXn[nfnunxnzn~n~nnnnn h/g/gEgPg[gigtg}ggggggggggh hh!hoh %Issssssssst tt,tYtsttttttttttttuu"u(uKu $bw=w========= > >,>4>C>}>>>>>>?>"??1?7?F?[?]?h?p?p????????@??@2@@R@j@W@@y@@@@@@@@@@AAA 1““ /6ES\luwwww~Õ \ No newline at end of file diff --git a/src/Compiler/Compiler.PRJ b/src/Compiler/Compiler.PRJ index dffac601..3b2af16e 100755 --- a/src/Compiler/Compiler.PRJ +++ b/src/Compiler/Compiler.PRJ @@ -13,7 +13,7 @@ #exe {Option(OPTf_KEEP_PRIVATE,OFF);}; #include "Templates" #include "CExts" -CCmpGlbls cmp; +CCompGlbls cmp; #include "CInit" #include "CExcept" #include "LexLib" diff --git a/src/Compiler/CompilerB.HH b/src/Compiler/CompilerB.HH index 44eded0c..93cf0cad 100755 --- a/src/Compiler/CompilerB.HH +++ b/src/Compiler/CompilerB.HH @@ -10,7 +10,7 @@ public extern I64 ExePutS2(U8 *buf,U8 *filename=NULL,I64 ccf_flags=0); public _extern _LAST_FUN I64 LastFun(I64 argc,I64 *argv); public extern I64 RunFile(U8 *name,I64 ccf_flags=0,...); public extern I64 RunFile2(U8 *name,I64 ccf_flags=0,...); -public extern CCmpGlbls cmp; +public extern CCompGlbls cmp; #help_index "Compiler/Directive" #help_file "::/Doc/Directives" @@ -25,34 +25,34 @@ public extern Bool Trace(Bool val=ON); #help_index "Compiler/Lex" #help_file "::/Doc/Lex" extern U0 ClassMemberLstDel(CHashClass *c); -public extern U0 CmpCtrlDel(CCmpCtrl *cc); -public extern CCmpCtrl *CmpCtrlNew(U8 *buf=NULL,I64 flags=0,U8 *filename=NULL); -public extern I64 CmpCtrlSize(CCmpCtrl *cc); +public extern U0 CompCtrlDel(CCompCtrl *cc); +public extern CCompCtrl *CompCtrlNew(U8 *buf=NULL,I64 flags=0,U8 *filename=NULL); +public extern I64 CompCtrlSize(CCompCtrl *cc); public extern I64 IsLexExpression2Bin( - CCmpCtrl *cc,U8 **machine_code); //FALSE=no err -public extern I64 Lex(CCmpCtrl *cc); -public extern U0 LexAttachDoc(CCmpCtrl *cc,CLexFile *tmpf=NULL, + CCompCtrl *cc,U8 **machine_code); //FALSE=no err +public extern I64 Lex(CCompCtrl *cc); +public extern U0 LexAttachDoc(CCompCtrl *cc,CLexFile *tmpf=NULL, CDoc *doc=NULL,U8 *abs_filename=NULL,CDocEntry *doc_e=NULL,I64 col=0); -public extern CD2I32 *LexD2I32(CCmpCtrl *cc,CD2I32 *p); -public extern CD3I32 *LexD3I32(CCmpCtrl *cc,CD3I32 *p); -public extern U0 LexExcept(CCmpCtrl *cc,U8 *str=NULL); -public extern I64 LexExpression(CCmpCtrl *cc); -public extern U8 *LexExpression2Bin(CCmpCtrl *cc,I64 *_type=NULL); -public extern F64 LexExpressionF64(CCmpCtrl *cc); -public extern I64 LexExpressionI64(CCmpCtrl *cc); -public extern U8 *LexExtStr(CCmpCtrl *cc,I64 *_size=NULL,Bool lex_next=TRUE); -public extern U8 *LexFirstRemove(CCmpCtrl *cc,U8 *marker,I64 _len=NULL); -public extern I64 LexGetChar(CCmpCtrl *cc); -public extern U0 LexPopNoRestore(CCmpCtrl *cc); -public extern U0 LexPopRestore(CCmpCtrl *cc); -public extern U0 LexPush(CCmpCtrl *cc); -public extern U0 LexPutLine(CCmpCtrl *cc,U8 *start); -public extern U0 LexPutPos(CCmpCtrl *cc); -public extern U0 LexPutToken(CCmpCtrl *cc); -public extern U0 LexSkipEol(CCmpCtrl *cc); +public extern CD2I32 *LexD2I32(CCompCtrl *cc,CD2I32 *p); +public extern CD3I32 *LexD3I32(CCompCtrl *cc,CD3I32 *p); +public extern U0 LexExcept(CCompCtrl *cc,U8 *str=NULL); +public extern I64 LexExpression(CCompCtrl *cc); +public extern U8 *LexExpression2Bin(CCompCtrl *cc,I64 *_type=NULL); +public extern F64 LexExpressionF64(CCompCtrl *cc); +public extern I64 LexExpressionI64(CCompCtrl *cc); +public extern U8 *LexExtStr(CCompCtrl *cc,I64 *_size=NULL,Bool lex_next=TRUE); +public extern U8 *LexFirstRemove(CCompCtrl *cc,U8 *marker,I64 _len=NULL); +public extern I64 LexGetChar(CCompCtrl *cc); +public extern U0 LexPopNoRestore(CCompCtrl *cc); +public extern U0 LexPopRestore(CCompCtrl *cc); +public extern U0 LexPush(CCompCtrl *cc); +public extern U0 LexPutLine(CCompCtrl *cc,U8 *start); +public extern U0 LexPutPos(CCompCtrl *cc); +public extern U0 LexPutToken(CCompCtrl *cc); +public extern U0 LexSkipEol(CCompCtrl *cc); public extern U8 *LexStatement2Bin( - CCmpCtrl *cc,I64 *_type,I64 cmp_flags=CMPF_PRS_SEMICOLON); -public extern U0 LexWarn(CCmpCtrl *cc,U8 *str=NULL); + CCompCtrl *cc,I64 *_type,I64 cmp_flags=CMPF_PRS_SEMICOLON); +public extern U0 LexWarn(CCompCtrl *cc,U8 *str=NULL); extern CMemberLst *MemberClassBaseFind( CHashClass *needle_class,CHashClass *haystack_class); public extern CMemberLst *MemberFind(U8 *needle_str,CHashClass *haystack_class); @@ -60,10 +60,10 @@ extern U0 MemberLstDel(CMemberLst *tmpm); public extern I64 MemberMetaData(U8 *st,CMemberLst *ml); public extern CMemberLstMeta *MemberMetaFind(U8 *st,CMemberLst *ml); public extern CHashClass *OptClassFwd(CHashClass *tmpc); -public extern I64 ParseKeyWord(CCmpCtrl *cc); +public extern I64 ParseKeyWord(CCompCtrl *cc); #help_index "Compiler;Cmd Line (Typically)" -extern I64 Cmp(U8 *filename, +extern I64 Comp(U8 *filename, U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0); #help_index "Debugging/Unassemble" diff --git a/src/Compiler/Lex.HC b/src/Compiler/Lex.HC index 7fa4edce..c9138e87 100755 --- a/src/Compiler/Lex.HC +++ b/src/Compiler/Lex.HC @@ -1,4 +1,4 @@ -CLexFile *LexFilePush(CCmpCtrl *cc) +CLexFile *LexFilePush(CCompCtrl *cc) {//#include file push. CLexFile *res=CAlloc(sizeof(CLexFile)); if (res->next=cc->lex_include_stk) @@ -8,7 +8,7 @@ CLexFile *LexFilePush(CCmpCtrl *cc) return cc->lex_include_stk=res; } -CLexFile *LexFilePop(CCmpCtrl *cc) +CLexFile *LexFilePop(CCompCtrl *cc) {//#include file pop. CLexFile *tmpf; if (tmpf=cc->lex_include_stk) { @@ -25,12 +25,12 @@ CLexFile *LexFilePop(CCmpCtrl *cc) return cc->lex_include_stk; } -CCmpCtrl *CmpCtrlNew(U8 *buf=NULL,I64 flags=0,U8 *filename=NULL) -{//MAlloc and Init CCmpCtrl. -//Frees buf in $LK,"CmpCtrlDel",A="MN:CmpCtrlDel"$ unless $LK,"CCF_DONT_FREE_BUF",A="MN:CCF_DONT_FREE_BUF"$ flag is set. +CCompCtrl *CompCtrlNew(U8 *buf=NULL,I64 flags=0,U8 *filename=NULL) +{//MAlloc and Init CCompCtrl. +//Frees buf in $LK,"CompCtrlDel",A="MN:CompCtrlDel"$ unless $LK,"CCF_DONT_FREE_BUF",A="MN:CCF_DONT_FREE_BUF"$ flag is set. //FileName is for error reporting. If files are #included, - //new names are used. See $LK,"Psalmody CmpCtrlNew",A="FF:::/Apps/Psalmody/PsalmodyFile.HC,CmpCtrlNew"$. - CCmpCtrl *cc=CAlloc(sizeof(CCmpCtrl)); + //new names are used. See $LK,"Psalmody CompCtrlNew",A="FF:::/Apps/Psalmody/PsalmodyFile.HC,CompCtrlNew"$. + CCompCtrl *cc=CAlloc(sizeof(CCompCtrl)); CLexFile *tmpf; QueueInit(cc); cc->flags=flags; @@ -55,8 +55,8 @@ CCmpCtrl *CmpCtrlNew(U8 *buf=NULL,I64 flags=0,U8 *filename=NULL) return cc; } -U0 CmpCtrlDel(CCmpCtrl *cc) -{//Free CCmpCtrl. +U0 CompCtrlDel(CCompCtrl *cc) +{//Free CCompCtrl. while (LexFilePop(cc)); LinkedLstDel(cc->lex_prs_stk); LinkedLstDel(cc->htc.next); @@ -67,8 +67,8 @@ U0 CmpCtrlDel(CCmpCtrl *cc) Free(cc); } -I64 CmpCtrlSize(CCmpCtrl *cc) -{//Mem size of CCmpCtrl and its members. +I64 CompCtrlSize(CCompCtrl *cc) +{//Mem size of CCompCtrl and its members. CLexFile *tmpf=cc->lex_include_stk; I64 res=0; while (tmpf) { @@ -90,7 +90,7 @@ I64 CmpCtrlSize(CCmpCtrl *cc) U32 lex_zeros=0; -Bool LexDollar(CCmpCtrl *cc,CDoc *doc,CDocEntry *doc_e) +Bool LexDollar(CCompCtrl *cc,CDoc *doc,CDocEntry *doc_e) { U8 *st; if (cc->flags&CCF_IN_QUOTES) { @@ -104,7 +104,7 @@ Bool LexDollar(CCmpCtrl *cc,CDoc *doc,CDocEntry *doc_e) return FALSE; } -I64 LexGetChar(CCmpCtrl *cc) +I64 LexGetChar(CCompCtrl *cc) {//Get one char from stream. Allow put-back one. U8 *ptr,*src; CLexFile *tmpf; @@ -261,14 +261,14 @@ lgc_done: return cc->last_U16; } -U0 LexSkipEol(CCmpCtrl *cc) +U0 LexSkipEol(CCompCtrl *cc) {//$LK,"LexGetChar",A="MN:LexGetChar"$ to NULL until end-of-line. I64 ch; do ch=$WW,0$LexGetChar(cc); while (Bt(char_bmp_non_eol,ch)); } -U8 *LexFirstRemove(CCmpCtrl *cc,U8 *marker,I64 _len=NULL) +U8 *LexFirstRemove(CCompCtrl *cc,U8 *marker,I64 _len=NULL) {//$LK,"LexGetChar",A="MN:LexGetChar"$() chars making str until marker. U8 *res,*ptr; CQueueVectU8 *tmpv=QueueVectU8New; @@ -290,7 +290,7 @@ U8 *LexFirstRemove(CCmpCtrl *cc,U8 *marker,I64 _len=NULL) return res; } -U0 LexIncludeStr(CCmpCtrl *cc,U8 *abs_filename,U8 *src,Bool actual_file) +U0 LexIncludeStr(CCompCtrl *cc,U8 *abs_filename,U8 *src,Bool actual_file) { LexBackupLastChar(cc); CLexFile *tmpf=LexFilePush(cc); @@ -322,7 +322,7 @@ CDoc *LexDocRead(U8 *abs_filename,I64 flags) I64 cmp_type_flags_src_code[(DOCT_TYPES_NUM+63)/64]={ 1<last_U16=0; } -I64 LexInStr(CCmpCtrl *cc,U8 *buf,I64 size,Bool *done) +I64 LexInStr(CCompCtrl *cc,U8 *buf,I64 size,Bool *done) { I64 i=0,j,k,ch; *done=TRUE; @@ -438,7 +438,7 @@ I64 LexInStr(CCmpCtrl *cc,U8 *buf,I64 size,Bool *done) return i; } -I64 Lex(CCmpCtrl *cc) +I64 Lex(CCompCtrl *cc) {//Fetch next token. I64 i,j,k,l,ch; CHash *tmph; diff --git a/src/Compiler/LexLib.HC b/src/Compiler/LexLib.HC index d9975dcd..ec61350f 100755 --- a/src/Compiler/LexLib.HC +++ b/src/Compiler/LexLib.HC @@ -1,4 +1,4 @@ -U0 LexBackupLastChar(CCmpCtrl *cc) +U0 LexBackupLastChar(CCompCtrl *cc) { CLexFile *tmpf=cc->lex_include_stk; tmpf->buf_ptr=cc->cur_buf_ptr; @@ -9,7 +9,7 @@ U0 LexBackupLastChar(CCmpCtrl *cc) tmpf->last_U16=0; } -U0 LexPush(CCmpCtrl *cc) +U0 LexPush(CCompCtrl *cc) {//Create token-stream save point. CLexFile *tmpf; LexBackupLastChar(cc); @@ -20,7 +20,7 @@ U0 LexPush(CCmpCtrl *cc) cc->lex_prs_stk=tmpf; } -U0 LexPopRestore(CCmpCtrl *cc) +U0 LexPopRestore(CCompCtrl *cc) {//Restore token-stream saved-point. //Bad things can happen if you cross an #include file boundary. CLexFile *tmpf=cc->lex_prs_stk; @@ -35,7 +35,7 @@ U0 LexPopRestore(CCmpCtrl *cc) Free(tmpf); } -U0 LexPopNoRestore(CCmpCtrl *cc) +U0 LexPopNoRestore(CCompCtrl *cc) {//Don't restore token-stream saved-point. CLexFile *tmpf=cc->lex_prs_stk; cc->lex_prs_stk=tmpf->next; @@ -100,7 +100,7 @@ CMemberLst *MemberClassBaseFind(CHashClass *needle_class, return NULL; } -U0 MemberAdd(CCmpCtrl *cc,CMemberLst *tmpm,CHashClass *tmpc,I64 mode) +U0 MemberAdd(CCompCtrl *cc,CMemberLst *tmpm,CHashClass *tmpc,I64 mode) { U8 *st=tmpm->str; CMemberLst **tmpm1,*tmpm2; @@ -245,7 +245,7 @@ I64 MemberLstSize(CHashClass *tmpc) return res; } -U8 *LexExtStr(CCmpCtrl *cc,I64 *_size=NULL,Bool lex_next=TRUE) +U8 *LexExtStr(CCompCtrl *cc,I64 *_size=NULL,Bool lex_next=TRUE) {//Lex $LK,"TK_STR",A="MN:TK_STR"$'s to one combined str. _size includes terminator. I64 len=cc->cur_str_len,len1,len2; U8 *st=cc->cur_str,*st1,*st2; diff --git a/src/Compiler/OptLib.HC b/src/Compiler/OptLib.HC index b3fca952..b508b63f 100755 --- a/src/Compiler/OptLib.HC +++ b/src/Compiler/OptLib.HC @@ -80,7 +80,7 @@ CIntermediateCode *OptLead1(CIntermediateCode *tmpi) return tmpi; } -I64 CmpOffset2Reg(I64 offset,COptReg *reg_offsets) +I64 CompOffset2Reg(I64 offset,COptReg *reg_offsets) { I64 i; for (i=0;iptr_stars_cnt) @@ -525,21 +525,21 @@ I64 CmpRawTypePointed(CHashClass *tmpc) return 0; } -U0 CmpMinTypePointed(CIntermediateCode *tmpi,I64 pt1) +U0 CompMinTypePointed(CIntermediateCode *tmpi,I64 pt1) { I64 pt; if ((pt=tmpi->arg1_type_pointed_to) && pt!=RT_F64 && 0arg1_type_pointed_to=pt; } -U0 CmpF1PushPop(CIntermediateCode *tmpi,CIntermediateCode *tmpi2) +U0 CompF1PushPop(CIntermediateCode *tmpi,CIntermediateCode *tmpi2) { if (intermediate_code_table[tmpi2->ic_code].fpop|| tmpi2->ic_flags&ICF_RES_TO_F64) Bts(&tmpi->ic_flags,ICf_DONT_PUSH_FLOAT0); } -U0 CmpF2PushPop(CIntermediateCode *tmpi, +U0 CompF2PushPop(CIntermediateCode *tmpi, CIntermediateCode *tmpi1,CIntermediateCode *tmpi2) { if ((tmpi2->ic_code==IC_MOV || tmpi2->ic_code==IC_IMM_F64) && diff --git a/src/Compiler/OptPass012.HC b/src/Compiler/OptPass012.HC index c08f7b95..2e2accee 100755 --- a/src/Compiler/OptPass012.HC +++ b/src/Compiler/OptPass012.HC @@ -20,7 +20,7 @@ logic. 3-Arg comparisons are established. */ -CIntermediateCode *OptPass012(CCmpCtrl *cc) +CIntermediateCode *OptPass012(CCompCtrl *cc) {/*Simplify CONST arithmetic. Sets the class throughout Expression trees. Returns the type of an Expression for use diff --git a/src/Compiler/OptPass3.HC b/src/Compiler/OptPass3.HC index a341370a..41c8ed15 100755 --- a/src/Compiler/OptPass3.HC +++ b/src/Compiler/OptPass3.HC @@ -1,4 +1,4 @@ -U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) +U0 OptPass3(CCompCtrl *cc,COptReg *reg_offsets) { CHashClass *tmpc,*tmpc1,*tmpc2; CCodeMisc *lb; @@ -73,7 +73,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) tmpc2=cmp.internal_types[RT_I64]; else tmpc2=tmpi->t.arg2_class; - tmpi->arg2.type=MDF_STK+CmpRawType(tmpc2); + tmpi->arg2.type=MDF_STK+CompRawType(tmpc2); tmpi->ic_flags|=ICF_ARG2_WAS_STK; case IS_1_ARG: tmpi1=ParsePop(ps); @@ -83,15 +83,15 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) tmpc1=cmp.internal_types[RT_I64]; else tmpc1=tmpi->t.arg1_class; - tmpi->arg1.type=MDF_STK+CmpRawType(tmpc1); - tmpi->arg1_type_pointed_to=CmpRawTypePointed(tmpc1); + tmpi->arg1.type=MDF_STK+CompRawType(tmpc1); + tmpi->arg1_type_pointed_to=CompRawTypePointed(tmpc1); tmpi->ic_flags|=ICF_ARG1_WAS_STK; break; case IS_0_ARG: //nobound switch break; } if (intermediate_code_table[code].res_cnt) { - tmpi->res.type=MDF_STK+CmpRawType(tmpc); + tmpi->res.type=MDF_STK+CompRawType(tmpc); tmpi->ic_flags|=ICF_RES_WAS_STK; ParsePush(ps,tmpi); } @@ -123,7 +123,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) tmpi->arg1.reg=tmpi1->arg1.reg; tmpi->arg1.disp=tmpi1->arg1.disp; tmpi->arg1.type=MDF_DISP+tmpi->res.type.raw_type; - tmpi->arg1_type_pointed_to=CmpRawTypePointed(tmpc); + tmpi->arg1_type_pointed_to=CompRawTypePointed(tmpc); tmpi->ic_code=IC_MOV; OptFree(tmpi1); if (tmpi->arg1.reg==REG_RBP) @@ -139,7 +139,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) tmpi->arg1.reg=tmpil2->arg1.reg; tmpi->arg1.disp=tmpi->ic_data; tmpi->arg1.type=MDF_DISP+tmpi->res.type.raw_type; - tmpi->arg1_type_pointed_to=CmpRawTypePointed(tmpc); + tmpi->arg1_type_pointed_to=CompRawTypePointed(tmpc); tmpi->ic_code=IC_MOV; OptFree(tmpil2); OptFree(tmpil1); @@ -150,7 +150,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) case IC__MM: case IC_PP_: case IC_MM_: - CmpMinTypePointed(tmpi,CmpRawTypePointed(tmpi->t.arg1_class)); + CompMinTypePointed(tmpi,CompRawTypePointed(tmpi->t.arg1_class)); case IC_DEREF_PP: case IC_DEREF_MM: if (tmpi1->ic_code==IC_LEA && tmpi1->arg1.type&MDF_DISP && @@ -166,13 +166,13 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) case IC_MUL: case IC_DIV: if (tmpc->raw_type==RT_F64) { - CmpF2PushPop(tmpi,tmpi1,tmpi2); + CompF2PushPop(tmpi,tmpi1,tmpi2); break; } break; case IC_ADD: if (tmpc->raw_type==RT_F64) { - CmpF2PushPop(tmpi,tmpi1,tmpi2); + CompF2PushPop(tmpi,tmpi1,tmpi2); break; } if (OptFixupBinaryOp2(&tmpi1,&tmpi2)) { @@ -202,7 +202,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) break; case IC_SUB: if (tmpc->raw_type==RT_F64) { - CmpF2PushPop(tmpi,tmpi1,tmpi2); + CompF2PushPop(tmpi,tmpi1,tmpi2); break; } if (tmpi2->ic_code==IC_IMM_I64) { @@ -218,14 +218,14 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) case IC_GREATER: case IC_LESS_EQU: if (tmpi->ic_flags&ICF_USE_F64) - CmpF2PushPop(tmpi,tmpi1,tmpi2); + CompF2PushPop(tmpi,tmpi1,tmpi2); break; case IC_MUL_EQU: case IC_DIV_EQU: case IC_ADD_EQU: case IC_SUB_EQU: if (tmpc->raw_type==RT_F64) - CmpF1PushPop(tmpi,tmpi2); + CompF1PushPop(tmpi,tmpi2); case IC_ASSIGN_PP: case IC_ASSIGN_MM: case IC_ASSIGN: @@ -244,7 +244,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) break; } tmpi->arg1_type_pointed_to=tmpi->res.type.raw_type; - CmpMinTypePointed(tmpi,CmpRawTypePointed(tmpi->t.arg1_class)); + CompMinTypePointed(tmpi,CompRawTypePointed(tmpi->t.arg1_class)); break; case IC_RETURN_VAL: case IC_RETURN_VAL2: @@ -264,7 +264,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) case IC_TAN: case IC_ATAN: if (tmpc->raw_type==RT_F64) - CmpF1PushPop(tmpi,tmpi1); + CompF1PushPop(tmpi,tmpi1); break; case IC_NOBOUND_SWITCH: case IC_SWITCH: @@ -367,14 +367,14 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets) mv[i].score++; break; } - tmpi->arg1_type_pointed_to=CmpRawType(tmpc); + tmpi->arg1_type_pointed_to=CompRawType(tmpc); goto here1; case IC_BR_LESS: case IC_BR_GREATER_EQU: case IC_BR_GREATER: case IC_BR_LESS_EQU: if (tmpi->ic_flags&ICF_USE_F64) - CmpF2PushPop(tmpi,tmpi1,tmpi2); + CompF2PushPop(tmpi,tmpi1,tmpi2); case IC_BR_EQU_EQU2...IC_BR_LESS_EQU2: case IC_BR_CARRY: case IC_BR_NOT_CARRY: diff --git a/src/Compiler/OptPass4.HC b/src/Compiler/OptPass4.HC index 9b75eb55..340800c3 100755 --- a/src/Compiler/OptPass4.HC +++ b/src/Compiler/OptPass4.HC @@ -84,7 +84,7 @@ Bool OptIC4(CIntermediateCode *tmpi) tmpil1->arg1.type=tmpil2->arg1.type&MDG_MASK+ MinI64(tmpil1->arg1.type.raw_type, MinI64(tmpil2->res.type.raw_type,tmpil2->arg1.type.raw_type)); - CmpMinTypePointed(tmpil1,tmpil2->arg1_type_pointed_to); + CompMinTypePointed(tmpil1,tmpil2->arg1_type_pointed_to); tmpil1->arg1.reg=tmpil2->arg1.reg; tmpil1->arg1.disp=tmpil2->arg1.disp; tmpil1->ic_flags|=tmpil2->ic_flags&ICG_NO_CVT_MASK; @@ -130,7 +130,7 @@ Bool OptIC4(CIntermediateCode *tmpi) return FALSE; } -U0 OptPass4(CCmpCtrl *cc,COptReg *reg_offsets,I64 *_type) +U0 OptPass4(CCompCtrl *cc,COptReg *reg_offsets,I64 *_type) { CHashClass *tmpc,*tmpc1,*tmpc2; CIntermediateCode *tmpi,*tmpi1,*tmpi2,*tmpil1,*tmpil2,*tmpil3, @@ -195,7 +195,7 @@ U0 OptPass4(CCmpCtrl *cc,COptReg *reg_offsets,I64 *_type) break; case IC_MOV: if (tmpi->arg1.type&MDF_DISP && tmpi->arg1.reg==REG_RBP) { - i=CmpOffset2Reg(tmpi->arg1.disp,reg_offsets); + i=CompOffset2Reg(tmpi->arg1.disp,reg_offsets); if (i>=0) { tmpi->arg1.type=MDF_REG+tmpi->arg1.type.raw_type; tmpi->arg1.reg=i; @@ -206,7 +206,7 @@ U0 OptPass4(CCmpCtrl *cc,COptReg *reg_offsets,I64 *_type) case IC_DEREF: if (tmpi1->ic_code==IC_LEA) { if (tmpi1->arg1.type&MDF_DISP && tmpi1->arg1.reg==REG_RBP) { - i=CmpOffset2Reg(tmpi1->arg1.disp,reg_offsets); + i=CompOffset2Reg(tmpi1->arg1.disp,reg_offsets); if (i>=0) { tmpi->ic_flags|=tmpi1->ic_flags; tmpi->ic_code=IC_REG; @@ -242,7 +242,7 @@ U0 OptPass4(CCmpCtrl *cc,COptReg *reg_offsets,I64 *_type) case IC_MM_: if (tmpi1->ic_code==IC_LEA) { if (tmpi1->arg1.type&MDF_DISP && tmpi1->arg1.reg==REG_RBP) { - i=CmpOffset2Reg(tmpi1->arg1.disp,reg_offsets); + i=CompOffset2Reg(tmpi1->arg1.disp,reg_offsets); if (i>=0) { tmpi->ic_flags|=tmpi1->ic_flags; tmpi->arg1.type=MDF_REG+tmpi->arg1.type.raw_type; @@ -316,7 +316,7 @@ p4_sib: } else if (tmpi1->ic_code==IC_LEA && tmpi1->arg1.type&MDF_DISP) { if (tmpi1->arg1.reg==REG_RBP && - CmpOffset2Reg(tmpi1->arg1.disp,reg_offsets)>=0) + CompOffset2Reg(tmpi1->arg1.disp,reg_offsets)>=0) break; if (tmpi2->ic_code==IC_MOV && tmpi2->arg1.type==MDF_REG+RT_I64 || tmpi2->ic_code==IC_REG) { @@ -364,7 +364,7 @@ p4_sib: if (tmpi1->arg1.type&(MDF_DISP|MDF_SIB)) { tmpi2=tmpi->next; if (tmpi1->arg1.type&MDF_DISP && tmpi1->arg1.reg==REG_RBP) { - i=CmpOffset2Reg(tmpi1->arg1.disp,reg_offsets); + i=CompOffset2Reg(tmpi1->arg1.disp,reg_offsets); if (i>=0) { tmpi->ic_flags|=tmpi1->ic_flags; tmpi->arg1.type=MDF_REG+tmpi->arg1.type.raw_type; @@ -394,7 +394,7 @@ p4_sib: tmpi2->arg2.type=tmpi->arg1.type; tmpi2->arg2.reg=tmpi->arg1.reg; tmpi2->arg2.disp=tmpi->arg1.disp; - CmpMinTypePointed(tmpi2,tmpi->arg1_type_pointed_to); + CompMinTypePointed(tmpi2,tmpi->arg1_type_pointed_to); } tmpi->ic_flags|=ICF_BY_VAL; } diff --git a/src/Compiler/OptPass5.HC b/src/Compiler/OptPass5.HC index 56b485d3..bc0d7cdf 100755 --- a/src/Compiler/OptPass5.HC +++ b/src/Compiler/OptPass5.HC @@ -1,4 +1,4 @@ -U0 OptPass5(CCmpCtrl *cc) +U0 OptPass5(CCompCtrl *cc) { CIntermediateCode *tmpi,*tmpi1; I64 code,i; @@ -70,7 +70,7 @@ U0 OptPass5(CCmpCtrl *cc) tmpi->arg1.type=tmpi1->arg1.type&MDG_MASK+ MinI64(tmpi->arg1.type.raw_type, MinI64(tmpi1->res.type.raw_type,tmpi1->arg1.type.raw_type)); - CmpMinTypePointed(tmpi,tmpi1->arg1_type_pointed_to); + CompMinTypePointed(tmpi,tmpi1->arg1_type_pointed_to); tmpi->arg1.reg=tmpi1->arg1.reg; tmpi->arg1.disp=tmpi1->arg1.disp; tmpi->ic_flags|=tmpi1->ic_flags&ICG_NO_CVT_MASK; diff --git a/src/Compiler/OptPass6.HC b/src/Compiler/OptPass6.HC index a8443c2e..4b470caf 100755 --- a/src/Compiler/OptPass6.HC +++ b/src/Compiler/OptPass6.HC @@ -25,7 +25,7 @@ Bool OptIC6(CIntermediateCode *tmpi) return FALSE; } -U0 OptPass6Lag(CCmpCtrl *cc,CPrsStk *ps,CIntermediateCode *tmpi, +U0 OptPass6Lag(CCompCtrl *cc,CPrsStk *ps,CIntermediateCode *tmpi, I64 *_stk_ptr,I64 reg_stk_size,I64 *_clobbered_reg_mask) { I64 stk_ptr=*_stk_ptr,code, @@ -93,7 +93,7 @@ U0 OptPass6Lag(CCmpCtrl *cc,CPrsStk *ps,CIntermediateCode *tmpi, *_clobbered_reg_mask=clobbered_reg_mask; } -U0 OptPass6(CCmpCtrl *cc) +U0 OptPass6(CCompCtrl *cc) { CIntermediateCode *tmpi,*tmpi_next,*tmpil1,*tmpil2,*old_tmpil2; I64 stk_ptr=0,reg_stk_size,clobbered_reg_mask=REGG_CLOBBERED; diff --git a/src/Compiler/OptPass789A.HC b/src/Compiler/OptPass789A.HC index 690111ab..d5e98d43 100755 --- a/src/Compiler/OptPass789A.HC +++ b/src/Compiler/OptPass789A.HC @@ -1,4 +1,4 @@ -I64 OptPass789A(CCmpCtrl *cc,COptReg *reg_offsets,U8 *buf,CDebugInfo **_dbg) +I64 OptPass789A(CCompCtrl *cc,COptReg *reg_offsets,U8 *buf,CDebugInfo **_dbg) {/*cc->pass==7 is first time cc->pass==8 is second time cc->pass==9 is third time @@ -170,63 +170,63 @@ cc->pass==10 is final pass, code is placed into buf. ICFlagBranch(tmpi,rip,0x75850F,buf); break; case IC_BR_EQU_EQU: - ICCmpAndBranch(tmpi,FALSE,rip,0x74840F,0x74840F, + ICCompAndBranch(tmpi,FALSE,rip,0x74840F,0x74840F, 0x74840F,0x74840F,buf,rip2); break; case IC_BR_EQU_EQU2: - ICCmpAndBranch(tmpi,TRUE,rip,0x74840F,0x74840F, + ICCompAndBranch(tmpi,TRUE,rip,0x74840F,0x74840F, 0x74840F,0x74840F,buf,rip2); break; case IC_BR_NOT_EQU: - ICCmpAndBranch(tmpi,FALSE,rip,0x75850F,0x75850F, + ICCompAndBranch(tmpi,FALSE,rip,0x75850F,0x75850F, 0x75850F,0x75850F,buf,rip2); break; case IC_BR_NOT_EQU2: - ICCmpAndBranch(tmpi,TRUE,rip,0x75850F,0x75850F, + ICCompAndBranch(tmpi,TRUE,rip,0x75850F,0x75850F, 0x75850F,0x75850F,buf,rip2); break; case IC_BR_LESS: if (tmpi->ic_flags&ICF_USE_F64) ICFCmpAndBranch(cc,tmpi, rip,0x72820F,0x77870F,buf,rip2); else - ICCmpAndBranch(tmpi,FALSE,rip,0x72820F,0x7C8C0F, + ICCompAndBranch(tmpi,FALSE,rip,0x72820F,0x7C8C0F, 0x77870F,0x7F8F0F,buf,rip2); break; case IC_BR_LESS2: - ICCmpAndBranch(tmpi,TRUE,rip,0x72820F,0x7C8C0F, + ICCompAndBranch(tmpi,TRUE,rip,0x72820F,0x7C8C0F, 0x77870F,0x7F8F0F,buf,rip2); break; case IC_BR_GREATER_EQU: if (tmpi->ic_flags&ICF_USE_F64) ICFCmpAndBranch(cc,tmpi, rip,0x73830F,0x76860F,buf,rip2); else - ICCmpAndBranch(tmpi,FALSE,rip,0x73830F,0x7D8D0F, + ICCompAndBranch(tmpi,FALSE,rip,0x73830F,0x7D8D0F, 0x76860F,0x7E8E0F,buf,rip2); break; case IC_BR_GREATER_EQU2: - ICCmpAndBranch(tmpi,TRUE,rip,0x73830F,0x7D8D0F, + ICCompAndBranch(tmpi,TRUE,rip,0x73830F,0x7D8D0F, 0x76860F,0x7E8E0F,buf,rip2); break; case IC_BR_GREATER: if (tmpi->ic_flags&ICF_USE_F64) ICFCmpAndBranch(cc,tmpi, rip,0x77870F,0x72820F,buf,rip2); else - ICCmpAndBranch(tmpi,FALSE,rip,0x77870F,0x7F8F0F, + ICCompAndBranch(tmpi,FALSE,rip,0x77870F,0x7F8F0F, 0x72820F,0x7C8C0F,buf,rip2); break; case IC_BR_GREATER2: - ICCmpAndBranch(tmpi,TRUE,rip,0x77870F,0x7F8F0F, + ICCompAndBranch(tmpi,TRUE,rip,0x77870F,0x7F8F0F, 0x72820F,0x7C8C0F,buf,rip2); break; case IC_BR_LESS_EQU: if (tmpi->ic_flags&ICF_USE_F64) ICFCmpAndBranch(cc,tmpi, rip,0x76860F,0x73830F,buf,rip2); else - ICCmpAndBranch(tmpi,FALSE,rip,0x76860F,0x7E8E0F, + ICCompAndBranch(tmpi,FALSE,rip,0x76860F,0x7E8E0F, 0x73830F,0x7D8D0F,buf,rip2); break; case IC_BR_LESS_EQU2: - ICCmpAndBranch(tmpi,TRUE,rip,0x76860F,0x7E8E0F, + ICCompAndBranch(tmpi,TRUE,rip,0x76860F,0x7E8E0F, 0x73830F,0x7D8D0F,buf,rip2); break; case IC_BR_BT: @@ -313,9 +313,9 @@ cc->pass==10 is final pass, code is placed into buf. tmpaot->rip=rip; tmpaot->rip2=rip2; if (cc->flags&CCF_AOT_COMPILE) - CmpFixUpAOTAsm(cc,tmpaot); + CompFixUpAOTAsm(cc,tmpaot); else - CmpFixUpJITAsm(cc,tmpaot); + CompFixUpJITAsm(cc,tmpaot); cnt=tmpi->ic_cnt; goto op789A_skip_copy; } @@ -431,7 +431,7 @@ cc->pass==10 is final pass, code is placed into buf. ICU8(tmpi,0x64); //It's ugly to use ic_class here ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, - MDF_DISP+CmpRawType(tmpi->ic_class),REG_RAX,tmpi->ic_data, + MDF_DISP+CompRawType(tmpi->ic_class),REG_RAX,tmpi->ic_data, rip2); break; case IC_MOV_GS: @@ -439,7 +439,7 @@ cc->pass==10 is final pass, code is placed into buf. ICU8(tmpi,0x65); //It's ugly to use ic_class here ICMov(tmpi,tmpi->res.type,tmpi->res.reg,tmpi->res.disp, - MDF_DISP+CmpRawType(tmpi->ic_class),REG_RAX,tmpi->ic_data, + MDF_DISP+CompRawType(tmpi->ic_class),REG_RAX,tmpi->ic_data, rip2); break; case IC_HOLYC_TYPECAST: @@ -565,32 +565,32 @@ cc->pass==10 is final pass, code is placed into buf. ICFSub(cc,tmpi,buf,rip2); break; case IC_EQU_EQU: - ICCmp(tmpi,0x75,0x75,rip2); + ICComp(tmpi,0x75,0x75,rip2); break; case IC_NOT_EQU: - ICCmp(tmpi,0x74,0x74,rip2); + ICComp(tmpi,0x74,0x74,rip2); break; case IC_LESS: if (tmpi->ic_flags&ICF_USE_INT) - ICCmp(tmpi,0x73,0x7D,rip2); + ICComp(tmpi,0x73,0x7D,rip2); else ICFCmp(cc,tmpi,CMP_TEMPLATE_LESS,rip2); break; case IC_GREATER_EQU: if (tmpi->ic_flags&ICF_USE_INT) - ICCmp(tmpi,0x72,0x7C,rip2); + ICComp(tmpi,0x72,0x7C,rip2); else ICFCmp(cc,tmpi,CMP_TEMPLATE_GREATER_EQU,rip2); break; case IC_GREATER: if (tmpi->ic_flags&ICF_USE_INT) - ICCmp(tmpi,0x76,0x7E,rip2); + ICComp(tmpi,0x76,0x7E,rip2); else ICFCmp(cc,tmpi,CMP_TEMPLATE_GREATER,rip2); break; case IC_LESS_EQU: if (tmpi->ic_flags&ICF_USE_INT) - ICCmp(tmpi,0x77,0x7F,rip2); + ICComp(tmpi,0x77,0x7F,rip2); else ICFCmp(cc,tmpi,CMP_TEMPLATE_LESS_EQU,rip2); break; diff --git a/src/Compiler/ParseExp.HC b/src/Compiler/ParseExp.HC index 0b79a689..b3f95b38 100755 --- a/src/Compiler/ParseExp.HC +++ b/src/Compiler/ParseExp.HC @@ -12,7 +12,7 @@ #define PE_POP_ALL1 11 #define PE_POP_ALL2 12 -CIntermediateCode *ParseAddOp(CCmpCtrl *cc,I64 stk_op,CHashClass *tmpc) +CIntermediateCode *ParseAddOp(CCompCtrl *cc,I64 stk_op,CHashClass *tmpc) { CIntermediateCode *tmpi=cc->coc.coc_head.last; Bool div_sizeof=FALSE; @@ -62,7 +62,7 @@ CIntermediateCode *ParseAddOp(CCmpCtrl *cc,I64 stk_op,CHashClass *tmpc) return tmpi; } -U0 ParseExpression2(CCmpCtrl *cc,I64 *_max_prec,CPrsStk *ps) +U0 ParseExpression2(CCompCtrl *cc,I64 *_max_prec,CPrsStk *ps) { I64 i,cur_op,stk_op,state,max_prec=PREC_NULL,unary_pre_prec,paren_prec, unary_post_prec,left_prec=PREC_MAX; @@ -261,7 +261,7 @@ pe_done: *_max_prec=max_prec; } -Bool ParseExpression(CCmpCtrl *cc,I64 *_max_prec,Bool end_exp,CPrsStk *_ps=NULL) +Bool ParseExpression(CCompCtrl *cc,I64 *_max_prec,Bool end_exp,CPrsStk *_ps=NULL) { Bool res=TRUE; I64 old_flags=cc->flags; @@ -300,7 +300,7 @@ Bool ParseExpression(CCmpCtrl *cc,I64 *_max_prec,Bool end_exp,CPrsStk *_ps=NULL) return res; } -U0 ParseSizeOf(CCmpCtrl *cc) +U0 ParseSizeOf(CCompCtrl *cc) { CHashClass *tmpc; CMemberLst *tmpm; @@ -350,7 +350,7 @@ pu_sizeof_member: ICAdd(cc,IC_IMM_I64,i,cmp.internal_types[RT_I64]); } -U0 ParseOffsetOf(CCmpCtrl *cc) +U0 ParseOffsetOf(CCompCtrl *cc) { CHashClass *tmpc; CMemberLst *tmpm; @@ -380,7 +380,7 @@ U0 ParseOffsetOf(CCmpCtrl *cc) ICAdd(cc,IC_IMM_I64,i,cmp.internal_types[RT_I64]); } -I64 ParseFunCall(CCmpCtrl *cc,CPrsStk *ps,Bool indirect,CHashFun *tmpf) +I64 ParseFunCall(CCompCtrl *cc,CPrsStk *ps,Bool indirect,CHashFun *tmpf) { I64 i,argc_cnt,dft_val; Bool is_first_arg=TRUE,needs_right_paren,is_print,is_putchars, @@ -590,7 +590,7 @@ I64 ParseFunCall(CCmpCtrl *cc,CPrsStk *ps,Bool indirect,CHashFun *tmpf) return PE_UNARY_MODIFIERS; } -I64 ParseUnaryTerm(CCmpCtrl *cc,CPrsStk *ps,CMemberLst **_local_var, +I64 ParseUnaryTerm(CCompCtrl *cc,CPrsStk *ps,CMemberLst **_local_var, CArrayDim **_tmpad,I64 *max_prec,I64 *unary_pre_prec,I64 *paren_prec) { I64 i,j; @@ -957,7 +957,7 @@ pu_export_sys_sym: LexExcept(cc,"Missing expression at "); } -I64 ParseUnaryModifier(CCmpCtrl *cc,CPrsStk *ps,CMemberLst **_local_var, +I64 ParseUnaryModifier(CCompCtrl *cc,CPrsStk *ps,CMemberLst **_local_var, CArrayDim **_tmpad,I64 *unary_post_prec) { CHashClass *tmpc,*tmpc1; @@ -1114,7 +1114,7 @@ I64 ParseUnaryModifier(CCmpCtrl *cc,CPrsStk *ps,CMemberLst **_local_var, return PE_DEREFERENCE; } -U8 *LexExpression2Bin(CCmpCtrl *cc,I64 *_type=NULL) +U8 *LexExpression2Bin(CCompCtrl *cc,I64 *_type=NULL) {//Compile cc expression. You call the code. U8 *res; I64 size; @@ -1132,12 +1132,12 @@ U8 *LexExpression2Bin(CCmpCtrl *cc,I64 *_type=NULL) return res; } -Bool IsLexExpression2Bin(CCmpCtrl *cc,U8 **_machine_code) +Bool IsLexExpression2Bin(CCompCtrl *cc,U8 **_machine_code) {//Compile cc expression to bin. Return err status. return ToBool(*_machine_code=LexExpression2Bin(cc)); } -I64 LexExpressionI64(CCmpCtrl *cc) +I64 LexExpressionI64(CCompCtrl *cc) {//Compile cc expression, forcing to I64 and eval. U8 *machine_code; I64 res,type; @@ -1151,7 +1151,7 @@ I64 LexExpressionI64(CCmpCtrl *cc) return res; } -F64 LexExpressionF64(CCmpCtrl *cc) +F64 LexExpressionF64(CCompCtrl *cc) {//Compile cc expression, forcing to F64 and eval. U8 *machine_code; I64 res,type; @@ -1165,7 +1165,7 @@ F64 LexExpressionF64(CCmpCtrl *cc) return res(F64); } -I64 LexExpression(CCmpCtrl *cc) +I64 LexExpression(CCompCtrl *cc) {//Compile cc expression and eval. Might be I64 or F64. U8 *machine_code; I64 res; diff --git a/src/Compiler/ParseLib.HC b/src/Compiler/ParseLib.HC index 2dace908..7e2e4371 100755 --- a/src/Compiler/ParseLib.HC +++ b/src/Compiler/ParseLib.HC @@ -28,7 +28,7 @@ U0 ParsePopDeref(CPrsStk *ps) } } -I64 ParseKeyWord(CCmpCtrl *cc) +I64 ParseKeyWord(CCompCtrl *cc) {//Cvt cur token to $LK,"KEYWORD",A="FF:::/Compiler/OpCodes.DD,KEYWORD"$ or -1. CHashGeneric *tmph; if (cc->token==TK_IDENT &&(tmph=cc->hash_entry) && tmph->type&HTT_KEYWORD) @@ -76,7 +76,7 @@ CHashFun *ParseFunNew() return res; } -CIntermediateCode *ICAdd(CCmpCtrl *cc, +CIntermediateCode *ICAdd(CCompCtrl *cc, I64 opcode_and_precedence,I64 arg, CHashClass *c,I64 flags=0) { CIntermediateCode *tmpi=MAlloc(sizeof(CIntermediateCode)); @@ -96,7 +96,7 @@ CIntermediateCode *ICAdd(CCmpCtrl *cc, return tmpi; } -U0 COCInit(CCmpCtrl *cc) +U0 COCInit(CCompCtrl *cc) { CCodeCtrl *tmpcbh=&cc->coc; QueueInit(&tmpcbh->coc_head.next); @@ -104,26 +104,26 @@ U0 COCInit(CCmpCtrl *cc) tmpcbh->coc_head.ic_code=IC_END; } -U0 COCPush(CCmpCtrl *cc) +U0 COCPush(CCompCtrl *cc) { CCodeCtrl *tmpcbh=MAlloc(sizeof(CCodeCtrl)); MemCpy(tmpcbh,&cc->coc,sizeof(CCodeCtrl)); cc->coc.coc_next=tmpcbh; } -CCmpCtrl *COCPopNoFree(CCmpCtrl *cc) +CCompCtrl *COCPopNoFree(CCompCtrl *cc) { CCodeCtrl *tmpcbh=cc->coc.coc_next; MemCpy(&cc->coc,tmpcbh,sizeof(CCodeCtrl)); return tmpcbh; } -U0 COCPop(CCmpCtrl *cc) +U0 COCPop(CCompCtrl *cc) { Free(COCPopNoFree(cc)); } -U0 COCAppend(CCmpCtrl *cc, CCodeCtrl *tmpcbh) +U0 COCAppend(CCompCtrl *cc, CCodeCtrl *tmpcbh) { if (tmpcbh->coc_head.next!=&cc->coc.coc_head.next) { cc->coc.coc_head.last->next=tmpcbh->coc_head.next; @@ -140,7 +140,7 @@ U0 COCAppend(CCmpCtrl *cc, CCodeCtrl *tmpcbh) Free(tmpcbh); } -CCodeMisc *COCMiscNew(CCmpCtrl *cc,I64 ty) +CCodeMisc *COCMiscNew(CCompCtrl *cc,I64 ty) { CCodeMisc *res=CAlloc(sizeof(CCodeMisc)); res->addr=INVALID_PTR; @@ -149,7 +149,7 @@ CCodeMisc *COCMiscNew(CCmpCtrl *cc,I64 ty) return res; } -CCodeMisc *COCGoToLabelFind(CCmpCtrl *cc,U8 *name) +CCodeMisc *COCGoToLabelFind(CCompCtrl *cc,U8 *name) { CCodeMisc *cm=cc->coc.coc_next_misc; while (cm!=&cc->coc.coc_next_misc) { @@ -161,7 +161,7 @@ CCodeMisc *COCGoToLabelFind(CCmpCtrl *cc,U8 *name) return NULL; } -I64 COCFloatConstFind(CCmpCtrl *cc,F64 d) +I64 COCFloatConstFind(CCompCtrl *cc,F64 d) { I64 i; CCodeMisc *cm=cc->coc.coc_next_misc; @@ -183,7 +183,7 @@ I64 COCFloatConstFind(CCmpCtrl *cc,F64 d) return cm->addr; } -U0 COCDel(CCmpCtrl *cc,CCodeCtrl *coc) +U0 COCDel(CCompCtrl *cc,CCodeCtrl *coc) { CCodeMisc *cm,*cm1; U8 *undef=NULL; @@ -226,7 +226,7 @@ U0 COCDel(CCmpCtrl *cc,CCodeCtrl *coc) } } -U0 COCHeaderPut(CCmpCtrl *cc,I64 pass,Bool put) +U0 COCHeaderPut(CCompCtrl *cc,I64 pass,Bool put) { CIntermediateCode *tmpi; if (Bt(&cc->flags,CCf_PASS_TRACE_PRESENT)) { @@ -246,7 +246,7 @@ U0 COCHeaderPut(CCmpCtrl *cc,I64 pass,Bool put) cc->pass=pass; } -U8 *COCCompile(CCmpCtrl *cc,I64 *_code_size,CDebugInfo **_dbg,I64 *_type) +U8 *COCCompile(CCompCtrl *cc,I64 *_code_size,CDebugInfo **_dbg,I64 *_type) { U8 *res; CCodeMisc *lb; diff --git a/src/Compiler/ParseStatement.HC b/src/Compiler/ParseStatement.HC index 5c387889..e99deaec 100755 --- a/src/Compiler/ParseStatement.HC +++ b/src/Compiler/ParseStatement.HC @@ -1,4 +1,4 @@ -CHashClass *ParseClass(CCmpCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern) +CHashClass *ParseClass(CCompCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern) { CHashClass *tmpc,*base_class; if (cc->token!=TK_IDENT) @@ -59,7 +59,7 @@ CHashClass *ParseClass(CCmpCtrl *cc,I64 keyword,I64 fsp_flags,Bool is_extern) return tmpc; } -CHashFun *ParseFunJoin(CCmpCtrl *cc,CHashClass *tmp_return, +CHashFun *ParseFunJoin(CCompCtrl *cc,CHashClass *tmp_return, U8 *name,I64 fsp_flags) { CMemberLst *tmpm,*header_lst; @@ -137,7 +137,7 @@ CHashFun *ParseFunJoin(CCmpCtrl *cc,CHashClass *tmp_return, return tmpf; } -U0 ParseFun(CCmpCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags) +U0 ParseFun(CCompCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags) { CMemberLst *tmpm; CCodeMisc *saved_leave_label; @@ -206,7 +206,7 @@ U0 ParseFun(CCmpCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags) cc->htc.local_var_lst=cc->htc.fun=cc->fun_lex_file=NULL; } -U0 ParseGlblVarLst(CCmpCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc, +U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc, I64 saved_val,I64 fsp_flags) { I64 i,j,mode,k,val; @@ -456,7 +456,7 @@ U0 ParseGlblVarLst(CCmpCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc, } } -U0 ParseIf(CCmpCtrl *cc,I64 try_cnt,CCodeMisc *lb_break) +U0 ParseIf(CCompCtrl *cc,I64 try_cnt,CCodeMisc *lb_break) { CCodeMisc *lb,*lb1; I64 k; @@ -483,7 +483,7 @@ U0 ParseIf(CCmpCtrl *cc,I64 try_cnt,CCodeMisc *lb_break) ICAdd(cc,IC_LABEL,lb,0); } -U0 ParseWhile(CCmpCtrl *cc,I64 try_cnt) +U0 ParseWhile(CCompCtrl *cc,I64 try_cnt) { CCodeMisc *lb,*lb_done; if (cc->token!='(') @@ -503,7 +503,7 @@ U0 ParseWhile(CCmpCtrl *cc,I64 try_cnt) ICAdd(cc,IC_LABEL,lb_done,0); } -U0 ParseDoWhile(CCmpCtrl *cc,I64 try_cnt) +U0 ParseDoWhile(CCompCtrl *cc,I64 try_cnt) { CCodeMisc *lb,*lb_done; lb=COCMiscNew(cc,CMT_LABEL); @@ -526,7 +526,7 @@ U0 ParseDoWhile(CCmpCtrl *cc,I64 try_cnt) Lex(cc); } -U0 ParseFor(CCmpCtrl *cc,I64 try_cnt) +U0 ParseFor(CCompCtrl *cc,I64 try_cnt) { CCodeCtrl *tmpcbh; CCodeMisc *lb,*lb_done; @@ -575,7 +575,7 @@ class CSwitchCase { CSubSwitch *ss; }; -U0 ParseSwitch(CCmpCtrl *cc,I64 try_cnt) +U0 ParseSwitch(CCompCtrl *cc,I64 try_cnt) { CSwitchCase *header=NULL,*tmps,*tmps1; //Leaks on except CSubSwitch head,*tmpss; //Leaks on except @@ -788,7 +788,7 @@ sw_sub_end: mc_jt->range=range; } -U0 ParseNoWarn(CCmpCtrl *cc) +U0 ParseNoWarn(CCompCtrl *cc) { CMemberLst *tmpm; while (cc->token==TK_IDENT) { @@ -802,7 +802,7 @@ U0 ParseNoWarn(CCmpCtrl *cc) } } -U0 ParseStreamBlk(CCmpCtrl *cc) +U0 ParseStreamBlk(CCompCtrl *cc) { CLexHashTableContext *htc=MAlloc(sizeof(CLexHashTableContext)); CStreamBlk *tmpe=MAlloc(sizeof(CStreamBlk)); @@ -839,7 +839,7 @@ U0 ParseStreamBlk(CCmpCtrl *cc) Lex(cc); //Skip '}' } -U0 ParseTryBlk(CCmpCtrl *cc,I64 try_cnt) +U0 ParseTryBlk(CCompCtrl *cc,I64 try_cnt) { CCodeMisc *lb_catch,*lb_done,*lb_untry; CHashClass *tmpc=cmp.internal_types[RT_PTR]; @@ -901,7 +901,7 @@ U0 ParseTryBlk(CCmpCtrl *cc,I64 try_cnt) ICAdd(cc,IC_LABEL,lb_done,0); } -Bool ParseStatement(CCmpCtrl *cc,I64 try_cnt=0, +Bool ParseStatement(CCompCtrl *cc,I64 try_cnt=0, CCodeMisc *lb_break=NULL,I64 cmp_flags=CMPF_PRS_SEMICOLON) { I64 i,fsp_flags=0; @@ -913,8 +913,8 @@ Bool ParseStatement(CCmpCtrl *cc,I64 try_cnt=0, if (cmp_flags&CMPF_ONE_ASM_INS) { if (cc->flags&CCF_AOT_COMPILE || cc->aot_depth) ParseAsmBlk(cc,CMPF_ONE_ASM_INS); - else if (tmpaot=CmpJoin(cc,CMPF_ASM_BLK|CMPF_ONE_ASM_INS)) - CmpFixUpJITAsm(cc,tmpaot); + else if (tmpaot=CompJoin(cc,CMPF_ASM_BLK|CMPF_ONE_ASM_INS)) + CompFixUpJITAsm(cc,tmpaot); fsp_flags=FSF_ASM; } else while (TRUE) { @@ -943,7 +943,7 @@ Bool ParseStatement(CCmpCtrl *cc,I64 try_cnt=0, start: case KW_ASM: if (cc->htc.fun) { - if (tmpaot=CmpJoin(cc,CMPF_ASM_BLK)) + if (tmpaot=CompJoin(cc,CMPF_ASM_BLK)) ICAdd(cc,IC_ASM,tmpaot,0); Lex(cc); //Skip '}' of asm{} } else { @@ -953,8 +953,8 @@ Bool ParseStatement(CCmpCtrl *cc,I64 try_cnt=0, if (cc->flags&CCF_AOT_COMPILE && cc->aot_depth==1) Lex(cc); //Skip '}' of asm{} } else { - if (tmpaot=CmpJoin(cc,CMPF_ASM_BLK)) - CmpFixUpJITAsm(cc,tmpaot); + if (tmpaot=CompJoin(cc,CMPF_ASM_BLK)) + CompFixUpJITAsm(cc,tmpaot); Lex(cc); //Skip '}' of asm{} } fsp_flags=FSF_ASM; @@ -1169,7 +1169,7 @@ sm_not_keyword_afterall: } else { if (tmpex->type & (HTT_OPCODE|HTT_ASM_KEYWORD)) { if (cc->htc.fun) { - if (tmpaot=CmpJoin(cc,CMPF_ASM_BLK|CMPF_ONE_ASM_INS)) + if (tmpaot=CompJoin(cc,CMPF_ASM_BLK|CMPF_ONE_ASM_INS)) ICAdd(cc,IC_ASM,tmpaot,0); } else LexExcept(cc,"Use Asm Blk at "); diff --git a/src/Compiler/ParseVar.HC b/src/Compiler/ParseVar.HC index ae4a21e0..44fcae4f 100755 --- a/src/Compiler/ParseVar.HC +++ b/src/Compiler/ParseVar.HC @@ -1,4 +1,4 @@ -U0 ParseVarInit(CCmpCtrl *cc,U8 **_dst,CHashClass *tmpc,CArrayDim *tmpad, +U0 ParseVarInit(CCompCtrl *cc,U8 **_dst,CHashClass *tmpc,CArrayDim *tmpad, U8 *data_addr_rip,U8 **_base,Bool data_heap,I64 pass) { U8 *dst=*_dst,*machine_code; @@ -120,7 +120,7 @@ class CVI2 U0 base; }; -U0 ParseVarInit2(CCmpCtrl *cc,U8 **_dst,CHashClass *tmpc, +U0 ParseVarInit2(CCompCtrl *cc,U8 **_dst,CHashClass *tmpc, CArrayDim *tmpad,U8 *data_addr_rip,U8 **_base,Bool data_heap,I64 pass) { I64 i,j,cnt; @@ -203,7 +203,7 @@ U0 ParseVarInit2(CCmpCtrl *cc,U8 **_dst,CHashClass *tmpc, } } -U0 ParseGlblInit(CCmpCtrl *cc,CHashGlblVar *tmpg,I64 pass) +U0 ParseGlblInit(CCompCtrl *cc,CHashGlblVar *tmpg,I64 pass) { U8 *dst=tmpg->data_addr; ParseVarInit2(cc,&dst,tmpg->var_class,&tmpg->dim, @@ -212,7 +212,7 @@ U0 ParseGlblInit(CCmpCtrl *cc,CHashGlblVar *tmpg,I64 pass) Bt(&cc->flags,CCf_AOT_COMPILE),pass); } -U0 ParseStaticInit(CCmpCtrl *cc,CMemberLst *tmpm,I64 pass) +U0 ParseStaticInit(CCompCtrl *cc,CMemberLst *tmpm,I64 pass) { U8 *machine_code,*dst=tmpm->static_data; CHashClass *tmpc=tmpm->member_class; @@ -244,7 +244,7 @@ U0 ParseStaticInit(CCmpCtrl *cc,CMemberLst *tmpm,I64 pass) } } -U0 ParseArrayDims(CCmpCtrl *cc,I64 mode,CArrayDim *dim) +U0 ParseArrayDims(CCompCtrl *cc,I64 mode,CArrayDim *dim) {//dim->next!=0 for array CArrayDim *tmpad,*tmpad1; I64 j; @@ -282,7 +282,7 @@ U0 ParseArrayDims(CCmpCtrl *cc,I64 mode,CArrayDim *dim) } } -CHashClass *ParseType(CCmpCtrl *cc,CHashClass **_tmpc1, +CHashClass *ParseType(CCompCtrl *cc,CHashClass **_tmpc1, I64 *_mode,CMemberLst *tmpm,U8 **_ident,CHashFun **_fun_ptr, CHashExport **_tmpex,CArrayDim *tmpad,I64 fsp_flags) { @@ -370,7 +370,7 @@ CHashClass *ParseType(CCmpCtrl *cc,CHashClass **_tmpc1, return tmpc1; } -U0 ParseDotDotDot(CCmpCtrl *cc,CHashFun *tmpf,I64 _reg) +U0 ParseDotDotDot(CCompCtrl *cc,CHashFun *tmpf,I64 _reg) { CMemberLst *tmpm; CArrayDim *tmpad; @@ -405,7 +405,7 @@ U0 ParseDotDotDot(CCmpCtrl *cc,CHashFun *tmpf,I64 _reg) Lex(cc); } -U0 ParseVarLst(CCmpCtrl *cc,CHashClass *tmpc,I64 mode,I64 union_base=0) +U0 ParseVarLst(CCompCtrl *cc,CHashClass *tmpc,I64 mode,I64 union_base=0) { I64 i,k,old_flags=cc->flags,old_flags2,type,_reg; CHashClass *tmpc1,*tmpc2; diff --git a/src/Demo/AcctExample/PersonalNotes.DD b/src/Demo/AcctExample/PersonalNotes.DD index e2547efd..b9a0d144 100755 --- a/src/Demo/AcctExample/PersonalNotes.DD +++ b/src/Demo/AcctExample/PersonalNotes.DD @@ -93,7 +93,7 @@ $WW,1$$FG,5$$TX+CX,"TODO"$$FG$ * Use thick and pen_height when clipping with thick>1. -* Asm LIST NOLIST bugs. +* Asm LIST NOLIST bugs. * Review writing to same cache-line from multicore. Do $LK,"CTask",A="MN:CTask"$->task_flags and others need to be in separate cache lines? @@ -126,7 +126,7 @@ $FG,5$$TX+CX,"TODO? Meh"$$FG$ * Clean-up ASCII #127 delete char? (No. Maybe, we want a new usage for 127 in future centuries.) -* Compiler: Exceptions don't free $LK,"CCmpCtrl",A="MN:CCmpCtrl"$ stuff. +* Compiler: Exceptions don't free $LK,"CCompCtrl",A="MN:CCompCtrl"$ stuff. * $LK,"::/Zenith/DolDoc/DocHighlight.HC"$ for code comments at top of documents. @@ -295,7 +295,7 @@ $FG,5$$TX+CX,"Committee Needed"$$FG$ * Compiler: Local var array/struct initialization. -* Compiler Optimization: Bools use r,rm in $LK,"ICCmp",A="MN:ICCmp"$() like in $LK,"ICCmpAndBranch",A="MN:ICCmpAndBranch"$()? +* Compiler Optimization: Bools use r,rm in $LK,"ICComp",A="MN:ICComp"$() like in $LK,"ICCompAndBranch",A="MN:ICCompAndBranch"$()? * Compiler: !F64 ~F64 @@ -358,7 +358,7 @@ $FG,5$$TX+CX,"Inspirational Ideas"$$FG$ * Compiler: More use of more floating-point stk? -* Compiler: More aggressive in $LK,"CmpF2PushPop",A="MN:CmpF2PushPop"$() with types besides MOV and F64. +* Compiler: More aggressive in $LK,"CompF2PushPop",A="MN:CompF2PushPop"$() with types besides MOV and F64. * Playing with $LK,"::/Demo/Lectures/NegDisp.HC"$ on $LK,"CTask",A="MN:CTask"$? $ID,5$$$=-CTASK_NEG_OFFSET diff --git a/src/Demo/CompileDemo.HC b/src/Demo/CompileDemo.HC index f947c747..88f48fe8 100755 --- a/src/Demo/CompileDemo.HC +++ b/src/Demo/CompileDemo.HC @@ -4,7 +4,7 @@ F64 CompileDemo(U8 *st) { I64 type; U8 *machine_code; - CCmpCtrl *cc=CmpCtrlNew(st,CCF_DONT_FREE_BUF); + CCompCtrl *cc=CompCtrlNew(st,CCF_DONT_FREE_BUF); F64 res=0; Lex(cc); //Gotta get it started "Compile \"%s\"\n",st; @@ -20,7 +20,7 @@ F64 CompileDemo(U8 *st) if (cc->token==';') Lex(cc); } while (cc->token!=TK_EOF); //end of file? - CmpCtrlDel(cc); + CompCtrlDel(cc); return res; } diff --git a/src/Demo/MultiCore/LoadTest.HC b/src/Demo/MultiCore/LoadTest.HC index 0727ab58..050518dc 100755 --- a/src/Demo/MultiCore/LoadTest.HC +++ b/src/Demo/MultiCore/LoadTest.HC @@ -6,7 +6,7 @@ U0 Job1(I64) Silent; while (!app_done) { Cd("::/Compiler"); - Cmp("Compiler"); + Comp("Compiler"); } lock {app_done_ack--;} } diff --git a/src/Demo/SortFileDemo/F64FileSort.HC b/src/Demo/SortFileDemo/F64FileSort.HC index af02a1e9..8442e37a 100755 --- a/src/Demo/SortFileDemo/F64FileSort.HC +++ b/src/Demo/SortFileDemo/F64FileSort.HC @@ -9,28 +9,28 @@ I64 Compare(F64 e1,F64 e2) U0 F64FileSortTXT(U8 *in_name,U8 *out_name) { - CCmpCtrl *cc; + CCompCtrl *cc; I64 i,n; F64 *a; CDoc *doc; //Pass1: Count the number of F64s. n=0; - cc=CmpCtrlNew(MStrPrint("#include \"%s\"",in_name)); + cc=CompCtrlNew(MStrPrint("#include \"%s\"",in_name)); while (Lex(cc)) if (cc->token==TK_F64) n++; - CmpCtrlDel(cc); + CompCtrlDel(cc); a=MAlloc(n*sizeof(F64)); //Pass2: Read F64s. i=0; - cc=CmpCtrlNew(MStrPrint("#include \"%s\"",in_name)); + cc=CompCtrlNew(MStrPrint("#include \"%s\"",in_name)); while (Lex(cc)) if (cc->token==TK_F64) a[i++]=cc->cur_f64; - CmpCtrlDel(cc); + CompCtrlDel(cc); QSortI64(a,n,&Compare); //Sort 64-bit sized values diff --git a/src/Demo/Templates/Lex1.HC b/src/Demo/Templates/Lex1.HC index 12987d8a..43f006fa 100755 --- a/src/Demo/Templates/Lex1.HC +++ b/src/Demo/Templates/Lex1.HC @@ -1,6 +1,6 @@ U0 MyRead(U8 *filename) { - CCmpCtrl *cc=CmpCtrlNew(MStrPrint("#include \"%s\"",filename)); + CCompCtrl *cc=CompCtrlNew(MStrPrint("#include \"%s\"",filename)); while (Lex(cc)) { "%03d:",cc->token; switch (cc->token) { @@ -12,5 +12,5 @@ U0 MyRead(U8 *filename) } '\n'; } - CmpCtrlDel(cc); + CompCtrlDel(cc); } diff --git a/src/Doc/Glossary.DD b/src/Doc/Glossary.DD index 847b4afa..081a8a0e 100755 --- a/src/Doc/Glossary.DD +++ b/src/Doc/Glossary.DD @@ -28,7 +28,7 @@ $FG,2$Check$FG$ Check $FG,2$Clip$FG$ Clipboard $FG,2$Clus$FG$ Cluster $FG,2$Cmd$FG$ Command -$FG,2$Cmp$FG$ Compiler +$FG,2$Comp$FG$ Compiler $FG,2$Cnt$FG$ Count $FG,2$Const$FG$ Consant $FG,2$Cont$FG$ Continue @@ -176,7 +176,7 @@ $ID,2$$FG,2$Ahead-of-Time$FG$ compiling is conventional compilation mode. Do no In $FG,2$AOT$FG$ mode, $FG,2$.PRJ$FG$ files are compiled to $FG,2$.BIN$FG$ files, skipping $FG,2$.OBJ$FG$ files. After compiling, $FG,2$.BIN$FG$ files are $LK,"Load",A="MN:Load"$()ed. -There is no $FG,2$main()$FG$ routine. Instead, stmts outside functions are automatically executed upon loading. There is no way to unload except by killing the task. To invoke $FG,2$AOT Compiled Mode$FG$, $LK,"Cmp",A="MN:Cmp"$() is used. The $FG,2$Kernel$FG$ module and compiler are made in $FG,2$AOT$FG$ compiled mode. See $LK,"BootHDIns",A="MN:BootHDIns"$() which calls $LK,"MakeAll",A="MN:MakeAll"$() where $LK,"::/Kernel.BIN.C",A="FI:::/Kernel/Kernel.PRJ"$ and $LK,"::/Compiler/Compiler.BIN",A="FI:::/Compiler/Compiler.PRJ"$ are created. +There is no $FG,2$main()$FG$ routine. Instead, stmts outside functions are automatically executed upon loading. There is no way to unload except by killing the task. To invoke $FG,2$AOT Compiled Mode$FG$, $LK,"Comp",A="MN:Comp"$() is used. The $FG,2$Kernel$FG$ module and compiler are made in $FG,2$AOT$FG$ compiled mode. See $LK,"BootHDIns",A="MN:BootHDIns"$() which calls $LK,"MakeAll",A="MN:MakeAll"$() where $LK,"::/Kernel.BIN.C",A="FI:::/Kernel/Kernel.PRJ"$ and $LK,"::/Compiler/Compiler.BIN",A="FI:::/Compiler/Compiler.PRJ"$ are created. $ID,-2$$TR,"JIT Compile Mode"$ $ID,2$In $FG,2$just-in-time$FG$ mode, the compiler places code and data in memory alloced from the heap, incrementally, making them immediately ready for in-place execution. This mode is used during cmd line operations. When you $FG,2$#include$FG$ a file, it is compiled function by function and code ends-up all over in the memory, at least in the first 2Gig of memory. The $LK,"ExeFile",A="MN:ExeFile"$() routine is the same as $FG,2$#include$FG$ but can be used in programs. $LK,"ExePrint",A="MN:ExePrint"$() routine will compile and run a string. $ID,-2$$TR,"Compiler Intermediate Code"$ @@ -231,7 +231,7 @@ $FG,5$*.HH.Z;*.HH$FG$ $FG,5$*.MAP;*.MAP$FG$ Compiler "map" files $FG,5$*.BIN;*.BIN.C;*.BIN$FG$ - Binary executable files, created by $LK,"Cmp",A="MN:Cmp"$() and read by $LK,"Load",A="MN:Load"$(). + Binary executable files, created by $LK,"Comp",A="MN:Comp"$() and read by $LK,"Load",A="MN:Load"$(). $FG,5$*.DATA.Z;*.DATA$FG$ Data files $FG,5$*.ISO$FG$ diff --git a/src/Doc/Lex.DD b/src/Doc/Lex.DD index a8e6531a..24623dd7 100755 --- a/src/Doc/Lex.DD +++ b/src/Doc/Lex.DD @@ -1,3 +1,3 @@ -$WW,1$The compiler's lexical analyzer can be used in your programs to simplify parsing. See $LK,"Doc Parsing",A="FF:::/Zenith/DolDoc/DocPlain.HC,CmpCtrlNew"$ or $LK,"Parse Opcode File",A="FF:::/Compiler/AsmInit.HC,Opcodes.DD"$. +$WW,1$The compiler's lexical analyzer can be used in your programs to simplify parsing. See $LK,"Doc Parsing",A="FF:::/Zenith/DolDoc/DocPlain.HC,CompCtrlNew"$ or $LK,"Parse Opcode File",A="FF:::/Compiler/AsmInit.HC,Opcodes.DD"$. See $LK,"Tokens",A="MN:TK_IDENT"$. diff --git a/src/Kernel.BIN.C b/src/Kernel.BIN.C index 44acb98f..d56189cf 100755 Binary files a/src/Kernel.BIN.C and b/src/Kernel.BIN.C differ diff --git a/src/Kernel/KHashB.HC b/src/Kernel/KHashB.HC index c69922f0..ed8c53ff 100755 --- a/src/Kernel/KHashB.HC +++ b/src/Kernel/KHashB.HC @@ -151,7 +151,7 @@ CHashGeneric *HashGenericAdd(U8 *name,I64 type, return res; } -U0 HashSrcFileSet(CCmpCtrl *cc,CHashSrcSym *h,I64 line_num_offset=0) +U0 HashSrcFileSet(CCompCtrl *cc,CHashSrcSym *h,I64 line_num_offset=0) {//Set $LK,"CHashSrcSym",A="MN:CHashSrcSym"$ link and help_index by cur cc pos. CLexFile *tmpf=cc->lex_include_stk; I64 line_num=tmpf->line_num+line_num_offset; diff --git a/src/Kernel/KTask.HC b/src/Kernel/KTask.HC index ade7cd93..be301cfe 100755 --- a/src/Kernel/KTask.HC +++ b/src/Kernel/KTask.HC @@ -299,8 +299,8 @@ U0 TaskDerivedValsUpdate(CTask *task=NULL,Bool update_z_buf=TRUE) POPFD } -I64 ExeCmdLine(CCmpCtrl *cc) -{//Terminal JIT-compile-and-execute loop for CCmpCtrl. +I64 ExeCmdLine(CCompCtrl *cc) +{//Terminal JIT-compile-and-execute loop for CCompCtrl. I64 res=0,type,old_title_src=Fs->title_src; U8 *ptr,*ptr2,*ptr3,*machine_code,*old_task_title=StrNew(Fs->task_title); F64 t0; @@ -383,18 +383,18 @@ U0 SrvTaskCont() U0 UserTaskCont() {//Terminal key-input-execute loop. - CCmpCtrl *cc; + CCompCtrl *cc; CDoc *doc; Bool cont=TRUE; do { - cc=CmpCtrlNew(,CCF_CMD_LINE|CCF_PMT|CCF_QUESTION_HELP); + cc=CompCtrlNew(,CCF_CMD_LINE|CCF_PMT|CCF_QUESTION_HELP); QueueInsert(cc,Fs->last_cc); try { Lex(cc); ExeCmdLine(cc); cont=Bt(&cc->flags,CCf_PMT); QueueRemove(cc); - CmpCtrlDel(cc); + CompCtrlDel(cc); } catch { if ((doc=Fs->put_doc) && doc->doc_signature==DOC_SIGNATURE_VAL) DocUnlock(doc); diff --git a/src/Kernel/Kernel.MAP b/src/Kernel/Kernel.MAP index 8066361b..c9cdd313 100755 --- a/src/Kernel/Kernel.MAP +++ b/src/Kernel/Kernel.MAP @@ -69,7 +69,6 @@ $LK,"LstMatch",A="FL:::/Kernel/StrA.HC,416",BI=10$ $LK,"IET_REL_I32",A="FL:::/Kernel/KernelA.HH,413"$ $LK,"IET_REL_I16",A="FL:::/Kernel/KernelA.HH,411"$ $LK,"CPrsStk",A="FL:::/Kernel/KernelA.HH,1689"$ -$LK,"CCmpCtrl",A="FL:::/Kernel/KernelA.HH,2179"$ $LK,"ATAWBlks",A="FL:::/Kernel/BlkDev/DiskATA.HC,582",BI=11$ $LK,"CCPU",A="FL:::/Kernel/KernelA.HH,3391"$ $LK,"ATABlkSel",A="FL:::/Kernel/BlkDev/DiskATA.HC,1",BI=12$ @@ -304,7 +303,7 @@ $LK,"CtrlAltD",A="FL:::/Kernel/KeyDev.HC,138",BI=65$ $LK,"RandI64",A="FL:::/Kernel/KMathB.HC,117",BI=66$ $LK,"CH_CTRLT",A="FL:::/Kernel/KernelA.HH,3445"$ $LK,"MBS_UNUSED_SIGNATURE_VAL",A="FL:::/Kernel/KernelA.HH,2813"$ -$LK,"CCmpGlbls",A="FL:::/Kernel/KernelA.HH,2226"$ +$LK,"CCompGlbls",A="FL:::/Kernel/KernelA.HH,2226"$ $LK,"RT_U32",A="FL:::/Kernel/KernelA.HH,1571"$ $LK,"RT_U16",A="FL:::/Kernel/KernelA.HH,1569"$ $LK,"CExternUsage",A="FL:::/Kernel/KernelA.HH,822"$ @@ -1531,6 +1530,7 @@ $LK,"DOC_COLOR_DEFINE_STR",A="FL:::/Kernel/KernelA.HH,1151"$ $LK,"DriveFATBlkAlloc",A="FL:::/Kernel/BlkDev/DiskDrive.HC,89",BI=335$ $LK,"VM_VIRTUALBOX",A="FL:::/Kernel/KernelA.HH,3893"$ $LK,"SCF_NEW_KEY",A="FL:::/Kernel/KernelA.HH,3486"$ +$LK,"CCompCtrl",A="FL:::/Kernel/KernelA.HH,2179"$ $LK,"TASK_CONTEXT_SAVE",A="FL:::/Kernel/Sched.HC,56"$ $LK,"SCf_NEW_KEY",A="FL:::/Kernel/KernelA.HH,3471"$ $LK,"CDirContext",A="FL:::/Kernel/KernelA.HH,2747"$ diff --git a/src/Kernel/Kernel.PRJ b/src/Kernel/Kernel.PRJ index e782b743..9f7df96c 100755 --- a/src/Kernel/Kernel.PRJ +++ b/src/Kernel/Kernel.PRJ @@ -1,5 +1,5 @@ //Compile this by calling $LK,"BootHDIns",A="MN:BootHDIns"$(). -//Don't do it directly.See $LK,"Cmp(\"/Kernel/Kernel\")",A="FF:::/Zenith/Boot/BootHDIns.HC,Cmp(\"/Kernel/Kernel\""$. +//Don't do it directly.See $LK,"Comp(\"/Kernel/Kernel\")",A="FF:::/Zenith/Boot/BootHDIns.HC,Comp(\"/Kernel/Kernel\""$. #exe { Cd(__DIR__);; diff --git a/src/Kernel/KernelA.HH b/src/Kernel/KernelA.HH index 891830f3..5a6f3265 100755 --- a/src/Kernel/KernelA.HH +++ b/src/Kernel/KernelA.HH @@ -2133,7 +2133,7 @@ class CLexHashTableContext *glbl_hash_table; }; -//CmpCtrl flags +//CompCtrl flags #define CCF_CMD_LINE 0x001 #define CCF_PMT 0x002 #define CCf_PMT 1 @@ -2176,9 +2176,9 @@ class CLexHashTableContext #define CCF_CLASS_DOL_OFFSET 0x4000000000 #define CCF_DONT_MAKE_RES 0x8000000000 -public class CCmpCtrl +public class CCompCtrl { - CCmpCtrl *next,*last; + CCompCtrl *next,*last; I64 token, flags, cur_i64; @@ -2223,7 +2223,7 @@ public class CCmpCtrl }; #help_index "Compiler" -public class CCmpGlbls +public class CCompGlbls { CHashTable *asm_hash; CHashClass *internal_types[RT_RTS_NUM]; @@ -3336,7 +3336,7 @@ public class CTask //The Fs segment reg points to current CTask. CHashTable *hash_table; CJobCtrl srv_ctrl; - CCmpCtrl *next_cc,*last_cc; + CCompCtrl *next_cc,*last_cc; CHashFun *last_fun; U0 (*task_end_cb)(); diff --git a/src/Kernel/KernelC.HH b/src/Kernel/KernelC.HH index 4b62401f..a46a1840 100755 --- a/src/Kernel/KernelC.HH +++ b/src/Kernel/KernelC.HH @@ -109,7 +109,7 @@ extern U8 *StrPrintHex(U8 *dst,I64 num;I64 width); public extern CTextGlbls text; #help_index "Compiler/Lex" -public extern U0 HashSrcFileSet(CCmpCtrl *cc, +public extern U0 HashSrcFileSet(CCompCtrl *cc, CHashSrcSym *h,I64 line_num_offset=0); #help_index "Compiler;Cmd Line (Typically)" @@ -459,7 +459,7 @@ public extern I64 Scale2Mem(I64 min,I64 max,I64 limit=2*1024*1024*1024); #help_index "Job/Exe;Task/Job/Exe" public extern U0 ZenithErr(U8 *fmt,...); public extern U0 ZenithLog(U8 *fmt,...); -public extern I64 ExeCmdLine(CCmpCtrl *cc); +public extern I64 ExeCmdLine(CCompCtrl *cc); public extern U0 JobDel(CJob *tmpc); public extern I64 JobsHandler(I64 run_flags,CTask *task=NULL); extern U0 SrvCmdLine(); diff --git a/src/Tmp/MyDistro.iso b/src/Tmp/MyDistro.iso index bc8e84b9..3d253f85 100755 Binary files a/src/Tmp/MyDistro.iso and b/src/Tmp/MyDistro.iso differ diff --git a/src/Zenith/Boot/BootDVDIns.HC b/src/Zenith/Boot/BootDVDIns.HC index ba77af88..9fc2ce95 100755 --- a/src/Zenith/Boot/BootDVDIns.HC +++ b/src/Zenith/Boot/BootDVDIns.HC @@ -12,9 +12,9 @@ U0 MakeAll() { - if (Cmp("/Compiler/Compiler","Compiler",,':')) + if (Comp("/Compiler/Compiler","Compiler",,':')) throw; - if (Cmp("/Kernel/Kernel","Kernel",,':')) + if (Comp("/Kernel/Kernel","Kernel",,':')) throw; } diff --git a/src/Zenith/Boot/BootHDIns.HC b/src/Zenith/Boot/BootHDIns.HC index 32a5c30c..e5d438f5 100755 --- a/src/Zenith/Boot/BootHDIns.HC +++ b/src/Zenith/Boot/BootHDIns.HC @@ -7,11 +7,17 @@ #define KERNEL_BIN_C "Kernel.BIN.C" + +U0 CompComp() +{ + if (Comp("/Compiler/Compiler","Compiler",,':')) + throw; +} + U0 MakeAll() { - if (Cmp("/Compiler/Compiler","Compiler",,':')) - throw; - if (Cmp("/Kernel/Kernel","Kernel",,':')) + CompComp; + if (Comp("/Kernel/Kernel","Kernel",,':')) throw; } diff --git a/src/Zenith/DolDoc/DocCodeTools.HC b/src/Zenith/DolDoc/DocCodeTools.HC index a3878f70..5bb3c6d5 100755 --- a/src/Zenith/DolDoc/DocCodeTools.HC +++ b/src/Zenith/DolDoc/DocCodeTools.HC @@ -56,7 +56,7 @@ I64 PopUpEdFmt() class CRILex { - CCmpCtrl *cc1,*cc2; + CCompCtrl *cc1,*cc2; CQueueVectU8 *indent; I64 depth,exp_depth,one_shot; Bool was_new_line,is_not_cont; @@ -246,12 +246,12 @@ CQueueVectU8 *EdRICode(CDoc *doc) CQueueVectU8 *res; CRILex *rx=CAlloc(sizeof(CRILex)); - rx->cc1=CmpCtrlNew(,CCF_KEEP_NEW_LINES|CCF_DONT_FREE_BUF,doc->filename.name); + rx->cc1=CompCtrlNew(,CCF_KEEP_NEW_LINES|CCF_DONT_FREE_BUF,doc->filename.name); Free(rx->cc1->lex_include_stk->full_name); LexAttachDoc(rx->cc1,rx->cc1->lex_include_stk,doc,, doc->cur_entry,doc->cur_col); - rx->cc2=CmpCtrlNew(,CCF_KEEP_NEW_LINES|CCF_DONT_FREE_BUF,doc->filename.name); + rx->cc2=CompCtrlNew(,CCF_KEEP_NEW_LINES|CCF_DONT_FREE_BUF,doc->filename.name); Free(rx->cc2->lex_include_stk->full_name); LexAttachDoc(rx->cc2,rx->cc2->lex_include_stk,doc,, doc->cur_entry,doc->cur_col); @@ -261,8 +261,8 @@ CQueueVectU8 *EdRICode(CDoc *doc) Lex(rx->cc1); EdRIStatement(rx,FALSE); - CmpCtrlDel(rx->cc1); - CmpCtrlDel(rx->cc2); + CompCtrlDel(rx->cc1); + CompCtrlDel(rx->cc2); res=rx->indent; Free(rx); return res; @@ -458,7 +458,7 @@ U0 EdCodeTools2(CDoc *doc,I64 tool_action,Bool beep=TRUE) tmpc=TaskExe(task,Fs,st,1<htc.hash_table_lst=NULL; @@ -40,7 +40,7 @@ U0 DocInit() if (cc->token==';') Lex(cc); } - CmpCtrlDel(cc); + CompCtrlDel(cc); for (i=0;ihtc.hash_table_lst; try { cc->htc.hash_table_lst=NULL; @@ -476,7 +476,7 @@ pd_err: DocDataScan(doc,doc_e); DocDataFmt(doc,doc_e); } - CmpCtrlDel(cc); + CompCtrlDel(cc); } catch { Fs->catch_except=TRUE; if (!doc_e) diff --git a/src/Zenith/DolDoc/DocTree.HC b/src/Zenith/DolDoc/DocTree.HC index b820c02f..857b4da8 100755 --- a/src/Zenith/DolDoc/DocTree.HC +++ b/src/Zenith/DolDoc/DocTree.HC @@ -193,7 +193,7 @@ public I64 ExeDoc(CDoc *doc,I64 ccf_flags=0) {//JIT Compile and execute a document. I64 res; Bool okay=TRUE,unlock_doc=DocLock(doc); - CCmpCtrl *cc=CmpCtrlNew(,ccf_flags|CCF_DONT_FREE_BUF); + CCompCtrl *cc=CompCtrlNew(,ccf_flags|CCF_DONT_FREE_BUF); if (Fs->last_cc!=&Fs->next_cc) cc->opts=Fs->last_cc->opts; QueueInsert(cc,Fs->last_cc); @@ -210,7 +210,7 @@ public I64 ExeDoc(CDoc *doc,I64 ccf_flags=0) } QueueRemove(cc); if (okay) - CmpCtrlDel(cc); //TODO: can crash + CompCtrlDel(cc); //TODO: can crash if (unlock_doc) DocUnlock(doc); return res; diff --git a/src/Zenith/Gr/SpriteCode.HC b/src/Zenith/Gr/SpriteCode.HC index 7cf302c5..46ab3def 100755 --- a/src/Zenith/Gr/SpriteCode.HC +++ b/src/Zenith/Gr/SpriteCode.HC @@ -199,7 +199,7 @@ public U0 Sprite2Code(CDoc *doc=NULL,U8 *elems) } } -CSprite *Code2SpriteElem(CCmpCtrl *cc,I64 type) +CSprite *Code2SpriteElem(CCompCtrl *cc,I64 type) { I64 i,num1,num2,size; CSprite *res,g; @@ -565,7 +565,7 @@ public U8 *Code2Sprite(CDoc *doc,I64 *_size=NULL) CSprite head; U8 *res; Bool okay=TRUE,unlock_doc=DocLock(doc); - CCmpCtrl *cc=CmpCtrlNew(,CCF_DONT_FREE_BUF); + CCompCtrl *cc=CompCtrlNew(,CCF_DONT_FREE_BUF); CHashTable *old_hash_table_lst=cc->htc.hash_table_lst; CHashGeneric *tmph; I64 i,size=0; @@ -591,7 +591,7 @@ public U8 *Code2Sprite(CDoc *doc,I64 *_size=NULL) if (unlock_doc) DocUnlock(doc); if (okay) { - CmpCtrlDel(cc); //TODO: can crash + CompCtrlDel(cc); //TODO: can crash res=SpriteQueue2Sprite(&head,&size); } else { res=NULL; diff --git a/src/Zenith/Menu.HC b/src/Zenith/Menu.HC index b790d5b9..efec0b90 100755 --- a/src/Zenith/Menu.HC +++ b/src/Zenith/Menu.HC @@ -41,7 +41,7 @@ public CMenuEntry *MenuEntryFind(CMenu *haystack_menu,U8 *needle_full_name) return tmpse; } -CMenuEntry *MenuNewSub(CCmpCtrl *cc,CTask *task) +CMenuEntry *MenuNewSub(CCompCtrl *cc,CTask *task) { CMenuEntry *tmpme=NULL,*tmpse; if (cc->token==TK_IDENT) { @@ -86,7 +86,7 @@ public CMenu *MenuNew(U8 *st,I64 flags=0,CTask *task=NULL) {//Parse a menu. You probably don't need this. CMenu *m; CMenuEntry *tmpse; - CCmpCtrl *cc=CmpCtrlNew(st,CCF_DONT_FREE_BUF); + CCompCtrl *cc=CompCtrlNew(st,CCF_DONT_FREE_BUF); if (!task) task=Fs; Lex(cc); m=CAlloc(sizeof(CMenu),task); @@ -96,7 +96,7 @@ public CMenu *MenuNew(U8 *st,I64 flags=0,CTask *task=NULL) tmpse=&m->sub; while (tmpse) tmpse=tmpse->next=MenuNewSub(cc,task); - CmpCtrlDel(cc); + CompCtrlDel(cc); return m; } diff --git a/src/Zenith/Utils/MemRep.HC b/src/Zenith/Utils/MemRep.HC index 250c3cdf..d66ea710 100755 --- a/src/Zenith/Utils/MemRep.HC +++ b/src/Zenith/Utils/MemRep.HC @@ -90,7 +90,7 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE) { I64 i,j,k,m,n; CDoc *pdoc,*ddoc,*bdoc; - CCmpCtrl *cc; + CCompCtrl *cc; CMathODE *o; CCPU *c; CTask *task1; @@ -123,7 +123,7 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE) cc=task->next_cc; while (cc!=&task->next_cc) { - "CmpCtrl\t:%010X\n",CmpCtrlSize(cc); + "CompCtrl\t:%010X\n",CompCtrlSize(cc); cc=cc->next; }