Пример #1
0
N_NIMCALL(NimStringDesc*, findmodule_137312)(NimStringDesc* modulename, NimStringDesc* currentmodule) {
	NimStringDesc* result;
	NimStringDesc* m;
	NimStringDesc* currentpath;
	TY108700 LOC1;
	nimfr("findModule", "options.nim")
	result = 0;
	nimln(338, "options.nim");
	m = nosaddFileExt(modulename, ((NimStringDesc*) &TMP434));
	nimln(339, "options.nim");
	nimln(339, "options.nim");
	memset((void*)&LOC1, 0, sizeof(LOC1));
	nossplitFile(currentmodule, &LOC1);
	currentpath = LOC1.Field0;
	nimln(340, "options.nim");
	result = HEX2F_108477(currentpath, m);
	nimln(341, "options.nim");
	{
		NIM_BOOL LOC4;
		nimln(341, "options.nim");
		nimln(341, "options.nim");
		LOC4 = 0;
		LOC4 = nosexistsFile(result);
		if (!!(LOC4)) goto LA5;
		nimln(342, "options.nim");
		result = findfile_137306(m);
	}
	LA5: ;
	popFrame();
	return result;
}
Пример #2
0
N_NIMCALL(NimStringDesc*, findmodule_114591)(NimStringDesc* modulename, NimStringDesc* currentmodule) {
	NimStringDesc* result;
	NimStringDesc* m;
	NimStringDesc* currentpath;
	TY102259 LOC1;
	nimfr("findModule", "options.nim")
	result = 0;
	nimln(292, "options.nim");
	m = nosaddFileExt(modulename, ((NimStringDesc*) &TMP352));
	nimln(293, "options.nim");
	nimln(293, "options.nim");
	memset((void*)&LOC1, 0, sizeof(LOC1));
	nossplitFile(currentmodule, &LOC1);	currentpath = LOC1.Field0;
	nimln(294, "options.nim");
	result = HEX2F_102067(currentpath, m);
	nimln(295, "options.nim");
	{
		NIM_BOOL LOC4;
		nimln(295, "options.nim");
		nimln(295, "options.nim");
		LOC4 = 0;
		LOC4 = nosexistsFile(result);
		if (!!(LOC4)) goto LA5;
		nimln(296, "options.nim");
		result = findfile_114585(m);
	}	LA5: ;
	popFrame();
	return result;
}
Пример #3
0
N_NIMCALL(void, Generatescript_70590)(NimStringDesc* Projectfile_70592, TY52008* Script_70593) {
TY38661 LOC1;
NimStringDesc* Dir_70594;
NimStringDesc* Name_70595;
NimStringDesc* Ext_70596;
NimStringDesc* LOC2;
NimStringDesc* LOC3;
NimStringDesc* LOC4;
memset((void*)&LOC1, 0, sizeof(LOC1));
nossplitFile(Projectfile_70592, &LOC1);
Dir_70594 = 0;
Dir_70594 = copyString(LOC1.Dir);
Name_70595 = 0;
Name_70595 = copyString(LOC1.Name);
Ext_70596 = 0;
Ext_70596 = copyString(LOC1.Ext);
LOC2 = 0;
LOC2 = rawNewString(Name_70595->Sup.len + 8);
appendString(LOC2, ((NimStringDesc*) &TMP196877));
appendString(LOC2, Name_70595);
LOC3 = 0;
LOC3 = nosaddFileExt(LOC2, Os_51053[(Targetos_51570)-1].Scriptext);
LOC4 = 0;
LOC4 = HEX2F_38480(Dir_70594, LOC3);
Writerope_52055(Script_70593, LOC4);
}
Пример #4
0
N_NIMCALL(NimStringDesc*, withpackagename_136873)(NimStringDesc* path) {
	NimStringDesc* result;
	NimStringDesc* x;
	nimfr("withPackageName", "options.nim")
	result = 0;
	nimln(253, "options.nim");
	x = getpackagename_136811(path);
	nimln(254, "options.nim");
	{
		nimln(254, "options.nim");
		nimln(254, "options.nim");
		if (!(x->Sup.len == 0)) goto LA3;
		nimln(255, "options.nim");
		result = copyString(path);
	}
	goto LA1;
	LA3: ;
	{
		TY108700 LOC6;
		NimStringDesc* p;
		NimStringDesc* file;
		NimStringDesc* ext;
		NimStringDesc* LOC7;
		NimStringDesc* LOC8;
		NimStringDesc* LOC9;
		nimln(257, "options.nim");
		nimln(257, "options.nim");
		memset((void*)&LOC6, 0, sizeof(LOC6));
		nossplitFile(path, &LOC6);
		p = LOC6.Field0;
		file = LOC6.Field1;
		ext = LOC6.Field2;
		nimln(258, "options.nim");
		nimln(258, "options.nim");
		LOC7 = 0;
		nimln(258, "options.nim");
		nimln(258, "options.nim");
		LOC8 = 0;
		LOC8 = rawNewString(x->Sup.len + file->Sup.len + 1);
appendString(LOC8, x);
appendChar(LOC8, 95);
appendString(LOC8, file);
		LOC9 = 0;
		LOC9 = HEX2F_108477(p, LOC8);
		LOC7 = rawNewString(LOC9->Sup.len + ext->Sup.len + 0);
appendString(LOC7, LOC9);
appendString(LOC7, ext);
		result = LOC7;
	}
	LA1: ;
	popFrame();
	return result;
}
Пример #5
0
N_NIMCALL(NimStringDesc*, nosgetAppDir)(void) {
	NimStringDesc* result;
	NimStringDesc* LOC1;
	TY118589 LOC2;
	result = 0;
	LOC1 = 0;
	LOC1 = nosgetAppFilename();
	memset((void*)(&LOC2), 0, sizeof(LOC2));
	nossplitFile(LOC1, (&LOC2));
	result = copyString(LOC2.Field0);
	return result;
}
Пример #6
0
N_NIMCALL(NimStringDesc*, withpackagename_153944)(NimStringDesc* path) {
	NimStringDesc* result;
	NimStringDesc* x;
	result = 0;
	x = getpackagename_153825(path);
	{
		if (!((x ? x->Sup.len : 0) == ((NI) 0))) goto LA3;
		result = copyString(path);
	}
	goto LA1;
	LA3: ;
	{
		TY118589 LOC6;
		NimStringDesc* p;
		NimStringDesc* file;
		NimStringDesc* ext;
		NimStringDesc* LOC7;
		NimStringDesc* LOC8;
		NimStringDesc* LOC9;
		memset((void*)(&LOC6), 0, sizeof(LOC6));
		nossplitFile(path, (&LOC6));
		p = 0;
		p = LOC6.Field0;
		file = 0;
		file = LOC6.Field1;
		ext = 0;
		ext = LOC6.Field2;
		LOC7 = 0;
		LOC8 = 0;
		LOC8 = rawNewString(x->Sup.len + file->Sup.len + 1);
appendString(LOC8, x);
appendChar(LOC8, 95);
appendString(LOC8, file);
		LOC9 = 0;
		LOC9 = HEX2F_118292(p, LOC8);
		LOC7 = rawNewString(LOC9->Sup.len + ext->Sup.len + 0);
appendString(LOC7, LOC9);
appendString(LOC7, ext);
		result = LOC7;
	}
	LA1: ;
	return result;
}
Пример #7
0
N_NIMCALL(NimStringDesc*, findmodule_154351)(NimStringDesc* modulename, NimStringDesc* currentmodule) {
	NimStringDesc* result;
	NimStringDesc* m;
	NimStringDesc* currentpath;
	TY118589 LOC1;
	result = 0;
	m = nosaddFileExt(modulename, ((NimStringDesc*) &TMP1485));
	memset((void*)(&LOC1), 0, sizeof(LOC1));
	nossplitFile(currentmodule, (&LOC1));
	currentpath = LOC1.Field0;
	result = HEX2F_118292(currentpath, m);
	{
		NIM_BOOL LOC4;
		LOC4 = 0;
		LOC4 = nosexistsFile(result);
		if (!!(LOC4)) goto LA5;
		result = findfile_154341(m);
	}
	LA5: ;
	return result;
}
Пример #8
0
N_NIMCALL(TY55548*, Newmodule_191287)(NimStringDesc* Filename_191289) {
TY55548* Result_191290;
TY38661 LOC1;
NIM_BOOL LOC3;
Result_191290 = 0;
Result_191290 = (TY55548*) newObj(NTI55524, sizeof(TY55548));
objectInit(Result_191290, NTI55548);
(*Result_191290).Sup.Id = -1;
(*Result_191290).Kind = ((NU8) 6);
memset((void*)&LOC1, 0, sizeof(LOC1));
nossplitFile(Filename_191289, &LOC1);
asgnRefNoCycle((void**) &(*Result_191290).Name, Getident_54016(LOC1.Name));
LOC3 = Isnimrodidentifier_77357((*(*Result_191290).Name).S);
if (!!(LOC3)) goto LA4;
Rawmessage_48045(((NU8) 19), (*(*Result_191290).Name).S);
LA4: ;
asgnRef((void**) &(*Result_191290).Owner, Result_191290);
(*Result_191290).Info = Newlineinfo_47712(Filename_191289, 1, 1);
(*Result_191290).Flags |=(1<<((NI32)(((NU8) 0))%(sizeof(NI32)*8)));
Initstrtable_55747(&(*Result_191290).Tab);
Registermodule_191229(Filename_191289, Result_191290);
Strtableadd_60061(&(*Result_191290).Tab, Result_191290);
return Result_191290;
}
Пример #9
0
N_NIMCALL(void, handlecmdline_535601)(void) {
{	{
		NI LOC3;
		LOC3 = 0;
		LOC3 = paramcount_131626();
		if (!(LOC3 == ((NI) 0))) goto LA4;
		writecommandlineusage_199005();
	}
	goto LA1;
	LA4: ;
	{
		NimStringDesc* scriptfile;
		processcmdline_529203(((NU8) 0), ((NimStringDesc*) &TMP2024));
		{
			NimStringDesc* LOC11;
			NimStringDesc* LOC12;
			if (!eqStrings(gprojectname_159199, ((NimStringDesc*) &TMP2025))) goto LA9;
			LOC11 = 0;
			LOC11 = gprojectname_159199; gprojectname_159199 = copyStringRC1(((NimStringDesc*) &TMP2026));
			if (LOC11) nimGCunrefNoCycle(LOC11);
			LOC12 = 0;
			LOC12 = gprojectfull_159201; gprojectfull_159201 = copyStringRC1(((NimStringDesc*) &TMP2026));
			if (LOC12) nimGCunrefNoCycle(LOC12);
			asgnRefNoCycle((void**) (&gprojectpath_159200), nosgetCurrentDir());
			gprojectisstdin_159202 = NIM_TRUE;
		}
		goto LA7;
		LA9: ;
		{
			TSafePoint TMP2027;
			TY118906 p;
			NimStringDesc* LOC20;
			NimStringDesc* LOC21;
			if (!!(((gprojectname_159199) && (gprojectname_159199)->Sup.len == 0))) goto LA14;
			pushSafePoint(&TMP2027);
			TMP2027.status = _setjmp(TMP2027.context);
			if (TMP2027.status == 0) {
				asgnRefNoCycle((void**) (&gprojectfull_159201), canonicalizepath_159405(gprojectname_159199));
				popSafePoint();
			}
			else {
				popSafePoint();
				if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
					NimStringDesc* LOC19;
					TMP2027.status = 0;
					LOC19 = 0;
					LOC19 = gprojectfull_159201; gprojectfull_159201 = copyStringRC1(gprojectname_159199);
					if (LOC19) nimGCunrefNoCycle(LOC19);
					popCurrentException();
				}
			}
			if (TMP2027.status != 0) reraiseException();
			memset((void*)(&p), 0, sizeof(p));
			chckNil((void*)(&p));
			memset((void*)(&p), 0, sizeof(p));
			nossplitFile(gprojectfull_159201, (&p));
			LOC20 = 0;
			LOC20 = gprojectpath_159200; gprojectpath_159200 = copyStringRC1(p.Field0);
			if (LOC20) nimGCunrefNoCycle(LOC20);
			LOC21 = 0;
			LOC21 = gprojectname_159199; gprojectname_159199 = copyStringRC1(p.Field1);
			if (LOC21) nimGCunrefNoCycle(LOC21);
		}
		goto LA7;
		LA14: ;
		{
			asgnRefNoCycle((void**) (&gprojectpath_159200), nosgetCurrentDir());
		}
		LA7: ;
		loadconfigs_209603(((NimStringDesc*) &TMP2056));
		scriptfile = noschangeFileExt(gprojectfull_159201, ((NimStringDesc*) &TMP2057));
		{
			NIM_BOOL LOC25;
			LOC25 = 0;
			LOC25 = fileexists_122004(scriptfile);
			if (!LOC25) goto LA26;
			runnimscript_534203(scriptfile);
			{
				if (!eqStrings(scriptfile, gprojectfull_159201)) goto LA30;
				goto BeforeRet;
			}
			LA30: ;
		}
		goto LA23;
		LA26: ;
		{
			NimStringDesc* LOC33;
			NIM_BOOL LOC34;
			NimStringDesc* LOC37;
			LOC33 = 0;
			LOC33 = HEX2F_118665(gprojectpath_159200, ((NimStringDesc*) &TMP3718));
			LOC34 = 0;
			LOC34 = fileexists_122004(LOC33);
			if (!LOC34) goto LA35;
			LOC37 = 0;
			LOC37 = HEX2F_118665(gprojectpath_159200, ((NimStringDesc*) &TMP3718));
			runnimscript_534203(LOC37);
		}
		goto LA23;
		LA35: ;
		LA23: ;
		initvars_193834();
		processcmdline_529203(((NU8) 1), ((NimStringDesc*) &TMP2024));
		{
			if (!((command_159205) && (command_159205)->Sup.len == 0)) goto LA40;
			rawmessage_184612(((NU16) 184), command_159205);
		}
		LA40: ;
		maincommand_531610();
		{
			NIM_BOOL LOC44;
			NimStringDesc* LOC48;
			LOC44 = 0;
			LOC44 = ((goptions_159119 &(1U<<((NU)(((NU8) 12))&31U)))!=0);
			if (!(LOC44)) goto LA45;
			LOC44 = ((gnotes_182077 &((NU64)1<<((NU)((((NU16) 289)- 237))&63U)))!=0);
			LA45: ;
			if (!LOC44) goto LA46;
			LOC48 = 0;
			LOC48 = Gcgetstatistics_9821();
			printf("%s\012", LOC48? (LOC48)->data:"nil");
			fflush(stdout);
		}
		LA46: ;
		{
			if (!(gerrorcounter_182078 == ((NI) 0))) goto LA51;
			{
				if (!((gglobaloptions_159121 &(1U<<((NU)(((NU8) 13))&31U)))!=0)) goto LA55;
				{
					NimStringDesc* ex;
					NimStringDesc* LOC70;
					NimStringDesc* LOC71;
					if (!(gcmd_159123 == ((NU8) 4))) goto LA59;
					ex = 0;
					{
						NimStringDesc* LOC65;
						if (!(((NI) 0) < (outfile_159127 ? outfile_159127->Sup.len : 0))) goto LA63;
						LOC65 = 0;
						LOC65 = prependcurdir_535401(outfile_159127);
						ex = nospquoteShell(LOC65);
					}
					goto LA61;
					LA63: ;
					{
						NimStringDesc* LOC67;
						NimStringDesc* LOC68;
						NimStringDesc* LOC69;
						LOC67 = 0;
						LOC67 = noschangeFileExt(gprojectfull_159201, ((NimStringDesc*) &TMP5307));
						LOC68 = 0;
						LOC68 = prependcurdir_535401(LOC67);
						LOC69 = 0;
						LOC69 = completecfilepath_193854(LOC68, NIM_TRUE);
						ex = nospquoteShell(LOC69);
					}
					LA61: ;
					LOC70 = 0;
					LOC71 = 0;
					LOC71 = findnodejs_533003();
					LOC70 = rawNewString(LOC71->Sup.len + ex->Sup.len + arguments_200699->Sup.len + 2);
appendString(LOC70, LOC71);
appendString(LOC70, ((NimStringDesc*) &TMP5311));
appendString(LOC70, ex);
appendChar(LOC70, 32);
appendString(LOC70, arguments_200699);
					execexternalprogram_193881(LOC70, ((NU16) 284));
				}
				goto LA57;
				LA59: ;
				{
					NimStringDesc* binpath;
					NimStringDesc* ex;
					NimStringDesc* LOC79;
					binpath = 0;
					{
						if (!(((NI) 0) < (outfile_159127 ? outfile_159127->Sup.len : 0))) goto LA75;
						binpath = prependcurdir_535401(outfile_159127);
					}
					goto LA73;
					LA75: ;
					{
						NimStringDesc* LOC78;
						LOC78 = 0;
						LOC78 = noschangeFileExt(gprojectfull_159201, ((NimStringDesc*) &TMP2024));
						binpath = prependcurdir_535401(LOC78);
					}
					LA73: ;
					ex = nospquoteShell(binpath);
					LOC79 = 0;
					LOC79 = rawNewString(ex->Sup.len + arguments_200699->Sup.len + 1);
appendString(LOC79, ex);
appendChar(LOC79, 32);
appendString(LOC79, arguments_200699);
					execexternalprogram_193881(LOC79, ((NU16) 284));
				}
				LA57: ;
			}
			LA55: ;
		}
		LA51: ;
	}
	LA1: ;
	}BeforeRet: ;
}
Пример #10
0
N_NIMCALL(void, Handlecmdline_195245)(void) {
NI Start_195247;
NI LOC2;
NimStringDesc* Command_195250;
NimStringDesc* Filename_195251;
TY38661 LOC8;
NimStringDesc* LOC12;
TY115159 LOC19;
NI LOC20;
NI64 LOC21;
NimStringDesc* Prog_195432;
NimStringDesc* LOC25;
NimStringDesc* LOC26;
NimStringDesc* LOC27;
NimStringDesc* LOC28;
Start_195247 = 0;
Start_195247 = Gettime_28616();
LOC2 = Paramcount_41430();
if (!(LOC2 == 0)) goto LA3;
Writecommandlineusage_73001();
goto LA1;
LA3: ;
Command_195250 = 0;
Command_195250 = copyString(((NimStringDesc*) &TMP195203));
Filename_195251 = 0;
Filename_195251 = copyString(((NimStringDesc*) &TMP195203));
Processcmdline_195204(((NU8) 0), &Command_195250, &Filename_195251);
if (!!(((Filename_195251) && (Filename_195251)->Sup.len == 0))) goto LA6;
memset((void*)&LOC8, 0, sizeof(LOC8));
nossplitFile(Filename_195251, &LOC8);
asgnRefNoCycle((void**) &Projectpath_46113, copyString(LOC8.Dir));
LA6: ;
Loadconfig_80004(Filename_195251);
Initvars_70472();
Command_195250 = copyString(((NimStringDesc*) &TMP195203));
Filename_195251 = copyString(((NimStringDesc*) &TMP195203));
Processcmdline_195204(((NU8) 1), &Command_195250, &Filename_195251);
Maincommand_191201(Command_195250, Filename_195251);
if (!(2 <= Gverbosity_46085)) goto LA10;
LOC12 = 0;
LOC12 = Gcgetstatistics_3082();
rawEcho(LOC12);
rawEchoNL();
LA10: ;
if (!(Gerrorcounter_47565 == 0)) goto LA14;
if (!!(((262208 &(1<<((Gcmd_46084)&31)))!=0))) goto LA17;
memset((void*)&LOC19, 0, sizeof(LOC19));
LOC19[0] = nimIntToStr(Glinescompiled_77285);
LOC20 = Gettime_28616();
LOC21 = ntDiffTime(LOC20, Start_195247);
LOC19[1] = nimInt64ToStr(LOC21);
Rawmessage_47971(((NU8) 224), LOC19, 2);
LA17: ;
if (!((Gglobaloptions_46079 &(1<<((((NU8) 14))&31)))!=0)) goto LA23;
Prog_195432 = 0;
LOC25 = 0;
LOC26 = 0;
LOC26 = nosChangeFileExt(Filename_195251, ((NimStringDesc*) &TMP195203));
LOC27 = 0;
LOC27 = Quoteifcontainswhite_26268(LOC26);
LOC25 = rawNewString(LOC27->Sup.len + 2);
appendString(LOC25, ((NimStringDesc*) &TMP197511));
appendString(LOC25, LOC27);
Prog_195432 = LOC25;
LOC28 = 0;
LOC28 = rawNewString(Prog_195432->Sup.len + Arguments_195201->Sup.len + 1);
appendString(LOC28, Prog_195432);
appendChar(LOC28, 32);
appendString(LOC28, Arguments_195201);
Execexternalprogram_70570(LOC28);
LA23: ;
LA14: ;
LA1: ;
}
Пример #11
0
N_NIMCALL(NimStringDesc*, Getcompilecfilecmd_70612)(NimStringDesc* Cfilename_70614, NIM_BOOL Isexternal_70615) {
NimStringDesc* Result_70616;
NimStringDesc* Cfile_70617;
NimStringDesc* Objfile_70618;
NimStringDesc* Options_70619;
NimStringDesc* Includecmd_70620;
NimStringDesc* Compilepattern_70621;
NimStringDesc* Key_70622;
NimStringDesc* Trunk_70623;
NimStringDesc* Exe_70624;
NU8 C_70625;
TY38661 LOC1;
NimStringDesc* LOC5;
NIM_BOOL LOC7;
NimStringDesc* LOC10;
NimStringDesc* LOC11;
NimStringDesc* LOC15;
NIM_BOOL LOC17;
NimStringDesc* LOC20;
NimStringDesc* LOC21;
NimStringDesc* LOC24;
NIM_BOOL LOC26;
NimStringDesc* LOC29;
NimStringDesc* LOC30;
NimStringDesc* LOC31;
NIM_BOOL LOC33;
NimStringDesc* LOC36;
NimStringDesc* LOC37;
NIM_BOOL LOC39;
NIM_BOOL LOC46;
NimStringDesc* LOC50;
NimStringDesc* LOC54;
NIM_BOOL LOC59;
NimStringDesc* LOC63;
NimStringDesc* LOC64;
TY70726 LOC65;
NimStringDesc* LOC66;
TY70726 LOC67;
NimStringDesc* LOC68;
Result_70616 = 0;
Cfile_70617 = 0;
Objfile_70618 = 0;
Options_70619 = 0;
Includecmd_70620 = 0;
Compilepattern_70621 = 0;
Key_70622 = 0;
Trunk_70623 = 0;
Exe_70624 = 0;
C_70625 = 0;
C_70625 = Ccompiler_70340;
Options_70619 = copyString(Compileoptions_70348);
memset((void*)&LOC1, 0, sizeof(LOC1));
nossplitFile(Cfilename_70614, &LOC1);
Trunk_70623 = copyString(LOC1.Name);
if (!((Gglobaloptions_46079 &(1<<((((NU8) 9))&31)))!=0)) goto LA3;
LOC5 = 0;
LOC5 = rawNewString(Trunk_70623->Sup.len + 6);
appendString(LOC5, Trunk_70623);
appendString(LOC5, ((NimStringDesc*) &TMP196784));
Key_70622 = LOC5;
LOC7 = Existsconfigvar_46132(Key_70622);
if (!LOC7) goto LA8;
LOC10 = 0;
LOC10 = Getconfigvar_46135(Key_70622);
Addopt_70443(&Options_70619, LOC10);
goto LA6;
LA8: ;
LOC11 = 0;
LOC11 = Getdebug_70601(C_70625);
Addopt_70443(&Options_70619, LOC11);
LA6: ;
LA3: ;
if (!((Goptions_46077 &(1<<((((NU8) 13))&31)))!=0)) goto LA13;
LOC15 = 0;
LOC15 = rawNewString(Trunk_70623->Sup.len + 6);
appendString(LOC15, Trunk_70623);
appendString(LOC15, ((NimStringDesc*) &TMP196786));
Key_70622 = LOC15;
LOC17 = Existsconfigvar_46132(Key_70622);
if (!LOC17) goto LA18;
LOC20 = 0;
LOC20 = Getconfigvar_46135(Key_70622);
Addopt_70443(&Options_70619, LOC20);
goto LA16;
LA18: ;
LOC21 = 0;
LOC21 = Getoptspeed_70597(C_70625);
Addopt_70443(&Options_70619, LOC21);
LA16: ;
goto LA12;
LA13: ;
if (!((Goptions_46077 &(1<<((((NU8) 14))&31)))!=0)) goto LA22;
LOC24 = 0;
LOC24 = rawNewString(Trunk_70623->Sup.len + 5);
appendString(LOC24, Trunk_70623);
appendString(LOC24, ((NimStringDesc*) &TMP196788));
Key_70622 = LOC24;
LOC26 = Existsconfigvar_46132(Key_70622);
if (!LOC26) goto LA27;
LOC29 = 0;
LOC29 = Getconfigvar_46135(Key_70622);
Addopt_70443(&Options_70619, LOC29);
goto LA25;
LA27: ;
LOC30 = 0;
LOC30 = Getoptsize_70605(C_70625);
Addopt_70443(&Options_70619, LOC30);
LA25: ;
goto LA12;
LA22: ;
LA12: ;
LOC31 = 0;
LOC31 = rawNewString(Trunk_70623->Sup.len + 7);
appendString(LOC31, Trunk_70623);
appendString(LOC31, ((NimStringDesc*) &TMP196790));
Key_70622 = LOC31;
LOC33 = Existsconfigvar_46132(Key_70622);
if (!LOC33) goto LA34;
LOC36 = 0;
LOC36 = Getconfigvar_46135(Key_70622);
Addopt_70443(&Options_70619, LOC36);
LA34: ;
Exe_70624 = copyString(Cc_70041[(C_70625)-1].Compilerexe);
LOC37 = 0;
LOC37 = rawNewString(Cc_70041[(C_70625)-1].Name->Sup.len + 4);
appendString(LOC37, Cc_70041[(C_70625)-1].Name);
appendString(LOC37, ((NimStringDesc*) &TMP196791));
Key_70622 = LOC37;
LOC39 = Existsconfigvar_46132(Key_70622);
if (!LOC39) goto LA40;
Exe_70624 = Getconfigvar_46135(Key_70622);
LA40: ;
if (!(Targetos_51570 == ((NU8) 2))) goto LA43;
Exe_70624 = nosaddFileExt(Exe_70624, ((NimStringDesc*) &TMP196792));
LA43: ;
LOC46 = ((Gglobaloptions_46079 &(1<<((((NU8) 10))&31)))!=0);
if (!(LOC46)) goto LA47;
LOC46 = ((Os_51053[(Targetos_51570)-1].Props &(1<<((((NU8) 0))&7)))!=0);
LA47: ;
if (!LOC46) goto LA48;
LOC50 = 0;
LOC50 = rawNewString(Cc_70041[(C_70625)-1].Pic->Sup.len + 1);
appendChar(LOC50, 32);
appendString(LOC50, Cc_70041[(C_70625)-1].Pic);
Options_70619 = resizeString(Options_70619, LOC50->Sup.len + 0);
appendString(Options_70619, LOC50);
LA48: ;
if (!(Targetos_51570 == Hostos_51571)) goto LA52;
Includecmd_70620 = copyString(Cc_70041[(C_70625)-1].Includecmd);
LOC54 = 0;
LOC54 = Quoteifcontainswhite_26268(Libpath_46112);
Includecmd_70620 = resizeString(Includecmd_70620, LOC54->Sup.len + 0);
appendString(Includecmd_70620, LOC54);
Compilepattern_70621 = nosJoinPath(Ccompilerpath_70349, Exe_70624);
goto LA51;
LA52: ;
Includecmd_70620 = copyString(((NimStringDesc*) &TMP70271));
Compilepattern_70621 = copyString(Cc_70041[(C_70625)-1].Compilerexe);
LA51: ;
if (!(Targetos_51570 == Hostos_51571)) goto LA56;
Cfile_70617 = copyString(Cfilename_70614);
goto LA55;
LA56: ;
Cfile_70617 = nosextractFilename(Cfilename_70614);
LA55: ;
LOC59 = !(Isexternal_70615);
if (LOC59) goto LA60;
LOC59 = !((Targetos_51570 == Hostos_51571));
LA60: ;
if (!LOC59) goto LA61;
Objfile_70618 = Toobjfile_70512(Cfile_70617);
goto LA58;
LA61: ;
LOC63 = 0;
LOC63 = Toobjfile_70512(Cfile_70617);
Objfile_70618 = Completecfilepath_70507(LOC63, NIM_TRUE);
LA58: ;
LOC64 = 0;
LOC64 = nosaddFileExt(Cfile_70617, Cext_70342);
Cfile_70617 = Quoteifcontainswhite_26268(LOC64);
Objfile_70618 = Quoteifcontainswhite_26268(Objfile_70618);
memset((void*)&LOC65, 0, sizeof(LOC65));
LOC65[0] = copyString(((NimStringDesc*) &TMP196793));
LOC65[1] = copyString(Cfile_70617);
LOC65[2] = copyString(((NimStringDesc*) &TMP196794));
LOC65[3] = copyString(Objfile_70618);
LOC65[4] = copyString(((NimStringDesc*) &TMP196795));
LOC65[5] = copyString(Options_70619);
LOC65[6] = copyString(((NimStringDesc*) &TMP196796));
LOC65[7] = copyString(Includecmd_70620);
LOC65[8] = copyString(((NimStringDesc*) &TMP196797));
LOC65[9] = Getprefixdir_46109();
LOC65[10] = copyString(((NimStringDesc*) &TMP196798));
LOC65[11] = copyString(Libpath_46112);
LOC66 = 0;
LOC66 = nsuFormatOpenArray(Compilepattern_70621, LOC65, 12);
Result_70616 = Quoteifcontainswhite_26268(LOC66);
Result_70616 = addChar(Result_70616, 32);
memset((void*)&LOC67, 0, sizeof(LOC67));
LOC67[0] = copyString(((NimStringDesc*) &TMP196793));
LOC67[1] = copyString(Cfile_70617);
LOC67[2] = copyString(((NimStringDesc*) &TMP196794));
LOC67[3] = copyString(Objfile_70618);
LOC67[4] = copyString(((NimStringDesc*) &TMP196795));
LOC67[5] = copyString(Options_70619);
LOC67[6] = copyString(((NimStringDesc*) &TMP196796));
LOC67[7] = copyString(Includecmd_70620);
LOC67[8] = copyString(((NimStringDesc*) &TMP196797));
LOC68 = 0;
LOC68 = Getprefixdir_46109();
LOC67[9] = Quoteifcontainswhite_26268(LOC68);
LOC67[10] = copyString(((NimStringDesc*) &TMP196798));
LOC67[11] = Quoteifcontainswhite_26268(Libpath_46112);
nsuAddf(&Result_70616, Cc_70041[(C_70625)-1].Compiletmpl, LOC67, 12);
return Result_70616;
}
Пример #12
0
N_NIMCALL(void, loadfile_248043)(Tlineinfo163338 info) {
	NI32 i;
	i = info.fileindex;
	{
		if (!((gsourcefiles_248038 ? gsourcefiles_248038->Sup.len : 0) <= ((NI) (i)))) goto LA3;
		gsourcefiles_248038 = (TY248019*) setLengthSeq(&(gsourcefiles_248038)->Sup, sizeof(Tsourcefile248008), ((NI) ((NI32)(i + ((NI32) 1)))));
	}
	LA3: ;
	{
		NimStringDesc* path;
		NimStringDesc* LOC9;
		TY118589 LOC10;
		Baselexer246024 lex;
		Filestreamobj137692* LOC16;
		Streamobj137027* LOC17;
		NI pos;
		if (!gsourcefiles_248038->data[i].lines == 0) goto LA7;
		gsourcefiles_248038->data[i].fileidx = info.fileindex;
		if (gsourcefiles_248038->data[i].lines) nimGCunrefNoCycle(gsourcefiles_248038->data[i].lines);
		gsourcefiles_248038->data[i].lines = (TY121008*) newSeqRC1((&NTI121008), 0);
		path = tofullpath_164284(info.fileindex);
		LOC9 = 0;
		LOC9 = gsourcefiles_248038->data[i].fullpath; gsourcefiles_248038->data[i].fullpath = copyStringRC1(path);
		if (LOC9) nimGCunrefNoCycle(LOC9);
		memset((void*)(&LOC10), 0, sizeof(LOC10));
		nossplitFile(path, (&LOC10));
		gsourcefiles_248038->data[i].isnimfixfile = eqStrings(LOC10.Field2, ((NimStringDesc*) &TMP2680));
		{
			NimStringDesc* line_248092;
			FILE* f_248119;
			NimStringDesc* res_248121;
			line_248092 = 0;
			f_248119 = open_13217(path, ((NU8) 0), ((NI) 8000));
			res_248121 = rawNewString(((NI) 80));
			{
				while (1) {
					NIM_BOOL LOC14;
					NimStringDesc* LOC15;
					LOC14 = 0;
					LOC14 = readline_13481(f_248119, (&res_248121));
					if (!LOC14) goto LA13;
					line_248092 = res_248121;
					gsourcefiles_248038->data[i].lines = (TY121008*) incrSeq(&(gsourcefiles_248038->data[i].lines)->Sup, sizeof(NimStringDesc*));
					LOC15 = 0;
					LOC15 = gsourcefiles_248038->data[i].lines->data[gsourcefiles_248038->data[i].lines->Sup.len-1]; gsourcefiles_248038->data[i].lines->data[gsourcefiles_248038->data[i].lines->Sup.len-1] = copyStringRC1(line_248092);
					if (LOC15) nimGCunrefNoCycle(LOC15);
				} LA13: ;
			}
			fclose(f_248119);
		}
		memset((void*)(&lex), 0, sizeof(lex));
		lex.Sup.m_type = (&NTI246024);
		LOC16 = 0;
		LOC16 = newfilestream_137773(path, ((NU8) 0));
		LOC17 = 0;
		LOC17 = &LOC16->Sup;
		open_246040((&lex), LOC17, ((NI) 8192));
		pos = lex.bufpos;
		{
			while (1) {
				switch (((NU8)(lex.buf[pos]))) {
				case 13:
				{
					NimStringDesc* LOC21;
					LOC21 = 0;
					LOC21 = gsourcefiles_248038->data[i].newline; gsourcefiles_248038->data[i].newline = copyStringRC1(((NimStringDesc*) &TMP2688));
					if (LOC21) nimGCunrefNoCycle(LOC21);
					goto LA18;
				}
				break;
				case 10:
				case 0:
				{
					NimStringDesc* LOC23;
					LOC23 = 0;
					LOC23 = gsourcefiles_248038->data[i].newline; gsourcefiles_248038->data[i].newline = copyStringRC1(((NimStringDesc*) &TMP2689));
					if (LOC23) nimGCunrefNoCycle(LOC23);
					goto LA18;
				}
				break;
				default:
				{
				}
				break;
				}
				pos += ((NI) 1);
			}
		} LA18: ;
		close_246050((&lex));
	}
	LA7: ;
}
Пример #13
0
N_NIMCALL(NimStringDesc*, getpackagename_153825)(NimStringDesc* path) {
	NimStringDesc* result;
	NI parents;
{	result = 0;
	parents = ((NI) 0);
	{
		{
			NimStringDesc* d_153831;
			NimStringDesc* current_153888;
			d_153831 = 0;
			current_153888 = copyString(path);
			{
				while (1) {
					current_153888 = nosparentDir(current_153888);
					{
						if (!((current_153888 ? current_153888->Sup.len : 0) == ((NI) 0))) goto LA7;
						goto LA3;
					}
					LA7: ;
					d_153831 = current_153888;
					{
						NIM_BOOL LOC11;
						LOC11 = 0;
						LOC11 = nsthasKey(packagecache_153601, d_153831);
						if (!LOC11) goto LA12;
						result = nstGet(packagecache_153601, d_153831);
						goto BeforeRet;
					}
					LA12: ;
					parents += ((NI) 1);
					{
						NimStringDesc* file_153841;
						NimStringDesc* HEX3Atmp_153855;
						glob_t f_153859;
						NI res_153861;
						int LOC15;
						file_153841 = 0;
						HEX3Atmp_153855 = 0;
						HEX3Atmp_153855 = HEX2F_118292(d_153831, ((NimStringDesc*) &TMP1433));
						memset((void*)(&f_153859), 0, sizeof(f_153859));
						res_153861 = 0;
						f_153859.gl_offs = ((NI) 0);
						f_153859.gl_pathc = ((NI) 0);
						f_153859.gl_pathv = NIM_NIL;
						LOC15 = 0;
						LOC15 = glob(HEX3Atmp_153855->data, ((int) 0), NIM_NIL, (&f_153859));
						res_153861 = ((NI) (LOC15));
						{
							if (!(res_153861 == ((NI) 0))) goto LA18;
							{
								NI i_153863;
								NI HEX3Atmp_153865;
								NI res_153867;
								i_153863 = 0;
								HEX3Atmp_153865 = 0;
								HEX3Atmp_153865 = (NI)(f_153859.gl_pathc - ((NI) 1));
								res_153867 = ((NI) 0);
								{
									while (1) {
										TY118589 LOC23;
										if (!(res_153867 <= HEX3Atmp_153865)) goto LA22;
										i_153863 = res_153867;
										file_153841 = cstrToNimstr(f_153859.gl_pathv[(i_153863)- 0]);
										memset((void*)(&LOC23), 0, sizeof(LOC23));
										nossplitFile(file_153841, (&LOC23));
										result = copyString(LOC23.Field1);
										goto LA1;
										res_153867 += ((NI) 1);
									} LA22: ;
								}
							}
						}
						LA18: ;
						globfree((&f_153859));
					}
					{
						NimStringDesc* file_153842;
						NimStringDesc* HEX3Atmp_153871;
						glob_t f_153875;
						NI res_153877;
						int LOC25;
						file_153842 = 0;
						HEX3Atmp_153871 = 0;
						HEX3Atmp_153871 = HEX2F_118292(d_153831, ((NimStringDesc*) &TMP1434));
						memset((void*)(&f_153875), 0, sizeof(f_153875));
						res_153877 = 0;
						f_153875.gl_offs = ((NI) 0);
						f_153875.gl_pathc = ((NI) 0);
						f_153875.gl_pathv = NIM_NIL;
						LOC25 = 0;
						LOC25 = glob(HEX3Atmp_153871->data, ((int) 0), NIM_NIL, (&f_153875));
						res_153877 = ((NI) (LOC25));
						{
							if (!(res_153877 == ((NI) 0))) goto LA28;
							{
								NI i_153879;
								NI HEX3Atmp_153881;
								NI res_153883;
								i_153879 = 0;
								HEX3Atmp_153881 = 0;
								HEX3Atmp_153881 = (NI)(f_153875.gl_pathc - ((NI) 1));
								res_153883 = ((NI) 0);
								{
									while (1) {
										TY118589 LOC33;
										if (!(res_153883 <= HEX3Atmp_153881)) goto LA32;
										i_153879 = res_153883;
										file_153842 = cstrToNimstr(f_153875.gl_pathv[(i_153879)- 0]);
										memset((void*)(&LOC33), 0, sizeof(LOC33));
										nossplitFile(file_153842, (&LOC33));
										result = copyString(LOC33.Field1);
										goto LA1;
										res_153883 += ((NI) 1);
									} LA32: ;
								}
							}
						}
						LA28: ;
						globfree((&f_153875));
					}
				}
			} LA3: ;
		}
	} LA1: ;
	{
		if (!result == 0) goto LA36;
		result = copyString(((NimStringDesc*) &TMP39));
	}
	LA36: ;
	{
		NimStringDesc* d_153843;
		NimStringDesc* current_153892;
		d_153843 = 0;
		current_153892 = copyString(path);
		{
			while (1) {
				current_153892 = nosparentDir(current_153892);
				{
					if (!((current_153892 ? current_153892->Sup.len : 0) == ((NI) 0))) goto LA43;
					goto LA39;
				}
				LA43: ;
				d_153843 = current_153892;
				nstPut(packagecache_153601, d_153843, result);
				parents -= ((NI) 1);
				{
					if (!(parents <= ((NI) 0))) goto LA47;
					goto LA38;
				}
				LA47: ;
			}
		} LA39: ;
	} LA38: ;
	}BeforeRet: ;
	return result;
}
Пример #14
0
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getModuleName_rlFejf61X39bVziQhhH7znQ)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* volatile result;
	result = (NimStringDesc*)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		TSafePoint TM_GM5IT6miOywfWPAzqo7pmA_2;
		pushSafePoint(&TM_GM5IT6miOywfWPAzqo7pmA_2);
		TM_GM5IT6miOywfWPAzqo7pmA_2.status = _setjmp(TM_GM5IT6miOywfWPAzqo7pmA_2.context);
		if (TM_GM5IT6miOywfWPAzqo7pmA_2.status == 0) {
			NimStringDesc* T3_;
			tyTuple_7q7q3E6Oj24ZNVJb9aonhAg T4_;
			NimStringDesc* T5_;
			T3_ = (NimStringDesc*)0;
			T3_ = toFullPath_tdNdBP9cVqODPZCeXYb1GvA(conf, (*n).info.fileIndex);
			nimZeroMem((void*)(&T4_), sizeof(tyTuple_7q7q3E6Oj24ZNVJb9aonhAg));
			nossplitFile(T3_, (&T4_));
			T5_ = (NimStringDesc*)0;
			T5_ = pathSubs_44aLCEM3fkLK7eRwjgUydw(conf, (*n)._Ukind.S3.strVal, T4_.Field0);
			result = nsuReplaceStr(T5_, ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_3), ((NimStringDesc*) NIM_NIL));
			popSafePoint();
		}
		else {
			popSafePoint();
			if (isObj(getCurrentException()->Sup.m_type, (&NTI_5aqBlilCK53e9cDu4kUyN5Q_))) {
				NimStringDesc* T8_;
				TM_GM5IT6miOywfWPAzqo7pmA_2.status = 0;
				T8_ = (NimStringDesc*)0;
				T8_ = rawNewString(((*n)._Ukind.S3.strVal ? (*n)._Ukind.S3.strVal->Sup.len : 0) + 14);
appendString(T8_, ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_4));
appendString(T8_, (*n)._Ukind.S3.strVal);
				localError_NF6kBGchnhQYPbCedyefVA(conf, (*n).info, T8_);
				result = copyString((*n)._Ukind.S3.strVal);
				popCurrentException();
			}
		}
		if (TM_GM5IT6miOywfWPAzqo7pmA_2.status != 0) reraiseException();
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		result = copyString((*(*n)._Ukind.S5.ident).s);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		result = copyString((*(*(*n)._Ukind.S4.sym).name).s);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n0;
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n1;
		NimStringDesc* modname;
		NimStringDesc* T12_;
		NimStringDesc* T13_;
		n0 = (*n)._Ukind.S6.sons->data[((NI) 0)];
		n1 = (*n)._Ukind.S6.sons->data[((NI) 1)];
		modname = getModuleName_rlFejf61X39bVziQhhH7znQ(conf, (*n)._Ukind.S6.sons->data[((NI) 2)]);
		result = getModuleName_rlFejf61X39bVziQhhH7znQ(conf, n1);
		T12_ = (NimStringDesc*)0;
		T12_ = renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n0, 4);
		T13_ = (NimStringDesc*)0;
		T13_ = nsuReplaceStr(T12_, ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_3), ((NimStringDesc*) NIM_NIL));
		result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
appendString(result, T13_);
		result = resizeString(result, (modname ? modname->Sup.len : 0) + 0);
appendString(result, modname);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		NimStringDesc* T15_;
		T15_ = (NimStringDesc*)0;
		T15_ = renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 4);
		result = nsuReplaceStr(T15_, ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_3), ((NimStringDesc*) NIM_NIL));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		NimStringDesc* T17_;
		localError_mMj7lrOf3zBP9bl69amiKu5g_3(conf, (*n).info, ((tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w) 15), ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_5));
		T17_ = (NimStringDesc*)0;
		T17_ = renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 4);
		result = nsuReplaceStr(T17_, ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_6), ((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_7));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		result = getModuleName_rlFejf61X39bVziQhhH7znQ(conf, (*n)._Ukind.S6.sons->data[((NI) 0)]);
	}
	break;
	default:
	{
		NimStringDesc* T20_;
		NimStringDesc* T21_;
		T20_ = (NimStringDesc*)0;
		T20_ = renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 0);
		T21_ = (NimStringDesc*)0;
		T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM_GM5IT6miOywfWPAzqo7pmA_8), T20_);
		localError_NF6kBGchnhQYPbCedyefVA(conf, (*n).info, T21_);
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}
Пример #15
0
N_NIMCALL(void, handlecmdline_598601_957294627)(void) {
{	{
		NI LOC3;
		LOC3 = (NI)0;
		LOC3 = paramcount_143026_2125978480();
		if (!(LOC3 == ((NI) 0))) goto LA4;
		writecommandlineusage_280005_2004575671();
	}
	goto LA1;
	LA4: ;
	{
		NimStringDesc* scriptfile0;
		processcmdline_592203_3526807654(((Tcmdlinepass280008) 0), ((NimStringDesc*) &T957294627_2));
		{
			NimStringDesc* LOC11;
			NimStringDesc* LOC12;
			if (!eqStrings(gprojectname_169209_2607990831, ((NimStringDesc*) &T957294627_3))) goto LA9;
			LOC11 = (NimStringDesc*)0;
			LOC11 = gprojectname_169209_2607990831; gprojectname_169209_2607990831 = copyStringRC1(((NimStringDesc*) &T957294627_4));
			if (LOC11) nimGCunrefNoCycle(LOC11);
			LOC12 = (NimStringDesc*)0;
			LOC12 = gprojectfull_169211_2607990831; gprojectfull_169211_2607990831 = copyStringRC1(((NimStringDesc*) &T957294627_4));
			if (LOC12) nimGCunrefNoCycle(LOC12);
			asgnRefNoCycle((void**) (&gprojectpath_169210_2607990831), nosgetCurrentDir());
			gprojectisstdin_169212_2607990831 = NIM_TRUE;
		}
		goto LA7;
		LA9: ;
		{
			TSafePoint T957294627_5;
			TY128506 p0;
			NimStringDesc* LOC20;
			NimStringDesc* LOC21;
			if (!!(((gprojectname_169209_2607990831) && (gprojectname_169209_2607990831)->Sup.len == 0))) goto LA14;
			pushSafePoint(&T957294627_5);
			T957294627_5.status = _setjmp(T957294627_5.context);
			if (T957294627_5.status == 0) {
				asgnRefNoCycle((void**) (&gprojectfull_169211_2607990831), canonicalizepath_169405_2607990831(gprojectname_169209_2607990831));
				popSafePoint();
			}
			else {
				popSafePoint();
				if (isObj(getCurrentException()->Sup.m_type, (&NTI3630))) {
					NimStringDesc* LOC19;
					T957294627_5.status = 0;
					LOC19 = (NimStringDesc*)0;
					LOC19 = gprojectfull_169211_2607990831; gprojectfull_169211_2607990831 = copyStringRC1(gprojectname_169209_2607990831);
					if (LOC19) nimGCunrefNoCycle(LOC19);
					popCurrentException();
				}
			}
			if (T957294627_5.status != 0) reraiseException();
			memset((void*)(&p0), 0, sizeof(p0));
			chckNil((void*)(&p0));
			memset((void*)(&p0), 0, sizeof(p0));
			nossplitFile(gprojectfull_169211_2607990831, (&p0));
			LOC20 = (NimStringDesc*)0;
			LOC20 = gprojectpath_169210_2607990831; gprojectpath_169210_2607990831 = copyStringRC1(p0.Field0);
			if (LOC20) nimGCunrefNoCycle(LOC20);
			LOC21 = (NimStringDesc*)0;
			LOC21 = gprojectname_169209_2607990831; gprojectname_169209_2607990831 = copyStringRC1(p0.Field1);
			if (LOC21) nimGCunrefNoCycle(LOC21);
		}
		goto LA7;
		LA14: ;
		{
			asgnRefNoCycle((void**) (&gprojectpath_169210_2607990831), nosgetCurrentDir());
		}
		LA7: ;
		loadconfigs_290603_930198375(((NimStringDesc*) &T957294627_6));
		scriptfile0 = noschangeFileExt(gprojectfull_169211_2607990831, ((NimStringDesc*) &T957294627_7));
		{
			NIM_BOOL LOC25;
			LOC25 = (NIM_BOOL)0;
			LOC25 = fileexists_131604_2125978480(scriptfile0);
			if (!LOC25) goto LA26;
			runnimscript_597218_3062286716(scriptfile0, NIM_FALSE);
			{
				if (!eqStrings(scriptfile0, gprojectfull_169211_2607990831)) goto LA30;
				goto BeforeRet;
			}
			LA30: ;
		}
		goto LA23;
		LA26: ;
		{
			NimStringDesc* LOC33;
			NIM_BOOL LOC34;
			NimStringDesc* LOC37;
			LOC33 = (NimStringDesc*)0;
			LOC33 = HEX2F_128265_2125978480(gprojectpath_169210_2607990831, ((NimStringDesc*) &T957294627_8));
			LOC34 = (NIM_BOOL)0;
			LOC34 = fileexists_131604_2125978480(LOC33);
			if (!LOC34) goto LA35;
			LOC37 = (NimStringDesc*)0;
			LOC37 = HEX2F_128265_2125978480(gprojectpath_169210_2607990831, ((NimStringDesc*) &T957294627_8));
			runnimscript_597218_3062286716(LOC37, NIM_FALSE);
		}
		goto LA23;
		LA35: ;
		LA23: ;
		initvars_273834_2528170400();
		processcmdline_592203_3526807654(((Tcmdlinepass280008) 1), ((NimStringDesc*) &T957294627_2));
		{
			if (!((command_169215_2607990831) && (command_169215_2607990831)->Sup.len == 0)) goto LA40;
			rawmessage_194612_155036129(((Tmsgkind191002) 184), command_169215_2607990831);
		}
		LA40: ;
		maincommand_594610_6460232();
		{
			NIM_BOOL LOC44;
			NimStringDesc* LOC48;
			LOC44 = (NIM_BOOL)0;
			LOC44 = ((goptions_169128_2607990831 &(1U<<((NU)(((Toption169009) 12))&31U)))!=0);
			if (!(LOC44)) goto LA45;
			LOC44 = ((gnotes_192068_155036129 &((NU64)1<<((NU)((((Tmsgkind191002) 289)- 237))&63U)))!=0);
			LA45: ;
			if (!LOC44) goto LA46;
			LOC48 = (NimStringDesc*)0;
			LOC48 = Gcgetstatistics_10421_1689653243();
			printf("%s\012", LOC48? (LOC48)->data:"nil");
			fflush(stdout);
		}
		LA46: ;
		{
			if (!(gerrorcounter_192069_155036129 == ((NI) 0))) goto LA51;
			{
				if (!((gglobaloptions_169130_2607990831 &((NU64)1<<((NU)(((Tglobaloption169013) 13))&63U)))!=0)) goto LA55;
				{
					NimStringDesc* ex0;
					NimStringDesc* LOC70;
					NimStringDesc* LOC71;
					if (!(gcmd_169132_2607990831 == ((Tcommands169076) 4))) goto LA59;
					ex0 = (NimStringDesc*)0;
					{
						NimStringDesc* LOC65;
						if (!(((NI) 0) < (outfile_169136_2607990831 ? outfile_169136_2607990831->Sup.len : 0))) goto LA63;
						LOC65 = (NimStringDesc*)0;
						LOC65 = prependcurdir_598401_957294627(outfile_169136_2607990831);
						ex0 = nospquoteShell(LOC65);
					}
					goto LA61;
					LA63: ;
					{
						NimStringDesc* LOC67;
						NimStringDesc* LOC68;
						NimStringDesc* LOC69;
						LOC67 = (NimStringDesc*)0;
						LOC67 = noschangeFileExt(gprojectfull_169211_2607990831, ((NimStringDesc*) &T957294627_10));
						LOC68 = (NimStringDesc*)0;
						LOC68 = prependcurdir_598401_957294627(LOC67);
						LOC69 = (NimStringDesc*)0;
						LOC69 = completecfilepath_273854_2528170400(LOC68, NIM_TRUE);
						ex0 = nospquoteShell(LOC69);
					}
					LA61: ;
					LOC70 = (NimStringDesc*)0;
					LOC71 = (NimStringDesc*)0;
					LOC71 = findnodejs_596002_1446018522();
					LOC70 = rawNewString(LOC71->Sup.len + ex0->Sup.len + arguments_281811_2004575671->Sup.len + 2);
appendString(LOC70, LOC71);
appendString(LOC70, ((NimStringDesc*) &T957294627_11));
appendString(LOC70, ex0);
appendChar(LOC70, 32);
appendString(LOC70, arguments_281811_2004575671);
					execexternalprogram_273881_2528170400(LOC70, ((Tmsgkind191002) 284));
				}
				goto LA57;
				LA59: ;
				{
					NimStringDesc* ex0;
					NimStringDesc* LOC84;
					if (!(gcmd_169132_2607990831 == ((Tcommands169076) 5))) goto LA73;
					ex0 = (NimStringDesc*)0;
					{
						NimStringDesc* LOC79;
						if (!(((NI) 0) < (outfile_169136_2607990831 ? outfile_169136_2607990831->Sup.len : 0))) goto LA77;
						LOC79 = (NimStringDesc*)0;
						LOC79 = prependcurdir_598401_957294627(outfile_169136_2607990831);
						ex0 = nospquoteShell(LOC79);
					}
					goto LA75;
					LA77: ;
					{
						NimStringDesc* LOC81;
						NimStringDesc* LOC82;
						NimStringDesc* LOC83;
						LOC81 = (NimStringDesc*)0;
						LOC81 = noschangeFileExt(gprojectfull_169211_2607990831, ((NimStringDesc*) &T957294627_12));
						LOC82 = (NimStringDesc*)0;
						LOC82 = prependcurdir_598401_957294627(LOC81);
						LOC83 = (NimStringDesc*)0;
						LOC83 = completecfilepath_273854_2528170400(LOC82, NIM_TRUE);
						ex0 = nospquoteShell(LOC83);
					}
					LA75: ;
					LOC84 = (NimStringDesc*)0;
					LOC84 = rawNewString(ex0->Sup.len + arguments_281811_2004575671->Sup.len + 5);
appendString(LOC84, ((NimStringDesc*) &T957294627_13));
appendString(LOC84, ex0);
appendChar(LOC84, 32);
appendString(LOC84, arguments_281811_2004575671);
					execexternalprogram_273881_2528170400(LOC84, ((Tmsgkind191002) 284));
				}
				goto LA57;
				LA73: ;
				{
					NimStringDesc* binpath0;
					NimStringDesc* ex0;
					NimStringDesc* LOC92;
					binpath0 = (NimStringDesc*)0;
					{
						if (!(((NI) 0) < (outfile_169136_2607990831 ? outfile_169136_2607990831->Sup.len : 0))) goto LA88;
						binpath0 = prependcurdir_598401_957294627(outfile_169136_2607990831);
					}
					goto LA86;
					LA88: ;
					{
						NimStringDesc* LOC91;
						LOC91 = (NimStringDesc*)0;
						LOC91 = noschangeFileExt(gprojectfull_169211_2607990831, ((NimStringDesc*) &T957294627_2));
						binpath0 = prependcurdir_598401_957294627(LOC91);
					}
					LA86: ;
					ex0 = nospquoteShell(binpath0);
					LOC92 = (NimStringDesc*)0;
					LOC92 = rawNewString(ex0->Sup.len + arguments_281811_2004575671->Sup.len + 1);
appendString(LOC92, ex0);
appendChar(LOC92, 32);
appendString(LOC92, arguments_281811_2004575671);
					execexternalprogram_273881_2528170400(LOC92, ((Tmsgkind191002) 284));
				}
				LA57: ;
			}
			LA55: ;
		}
		LA51: ;
	}
	LA1: ;
	}BeforeRet: ;
}
Пример #16
0
N_NIMCALL(NimStringDesc*, getpackagename_136811)(NimStringDesc* path) {
	NimStringDesc* result;
	NI parents;
	NimStringDesc* d_136835;
	NimStringDesc* current_136866;
	nimfr("getPackageName", "options.nim")
	result = 0;
	nimln(234, "options.nim");
	parents = 0;
	{
		NimStringDesc* d_136817;
		NimStringDesc* current_136864;
		d_136817 = 0;
		nimln(227, "options.nim");
		current_136864 = copyString(path);
		nimln(228, "options.nim");
		while (1) {
			NimStringDesc* file_136834;
			NimStringDesc* HEX3Atmp_136852;
			glob_t f_136854;
			NI res_136856;
			int LOC12;
			nimln(229, "options.nim");
			current_136864 = nosparentDir(current_136864);
			nimln(230, "options.nim");
			{
				nimln(230, "options.nim");
				nimln(230, "options.nim");
				if (!(current_136864->Sup.len == 0)) goto LA5;
				nimln(230, "options.nim");
				goto LA2;
			}
			LA5: ;
			nimln(227, "options.nim");
			d_136817 = current_136864;
			nimln(237, "options.nim");
			{
				NIM_BOOL LOC9;
				nimln(237, "options.nim");
				LOC9 = 0;
				LOC9 = nsthasKey(packagecache_136601, d_136817);
				if (!LOC9) goto LA10;
				nimln(239, "options.nim");
				nimln(239, "options.nim");
				result = nstGet(packagecache_136601, d_136817);
				goto BeforeRet;
			}
			LA10: ;
			nimln(240, "options.nim");
			parents = addInt(parents, 1);
			file_136834 = 0;
			HEX3Atmp_136852 = 0;
			nimln(241, "options.nim");
			HEX3Atmp_136852 = HEX2F_108477(d_136817, ((NimStringDesc*) &TMP425));
			memset((void*)&f_136854, 0, sizeof(f_136854));
			res_136856 = 0;
			nimln(1208, "os.nim");
			f_136854.gl_offs = 0;
			nimln(1209, "os.nim");
			f_136854.gl_pathc = 0;
			nimln(1210, "os.nim");
			f_136854.gl_pathv = NIM_NIL;
			nimln(1211, "os.nim");
			nimln(1211, "os.nim");
			LOC12 = 0;
			LOC12 = glob(HEX3Atmp_136852->data, ((int) 0), NIM_NIL, &f_136854);
			res_136856 = ((NI) (LOC12));
			nimln(1212, "os.nim");
			{
				NI i_136858;
				NI HEX3Atmp_136860;
				NI TMP426;
				NI res_136862;
				nimln(1212, "os.nim");
				if (!(res_136856 == 0)) goto LA15;
				i_136858 = 0;
				HEX3Atmp_136860 = 0;
				nimln(1213, "os.nim");
				nimln(1213, "os.nim");
				TMP426 = subInt(f_136854.gl_pathc, 1);
				HEX3Atmp_136860 = (NI32)(TMP426);
				nimln(1457, "system.nim");
				res_136862 = 0;
				nimln(1458, "system.nim");
				while (1) {
					TY108700 LOC22;
					nimln(1458, "system.nim");
					if (!(res_136862 <= HEX3Atmp_136860)) goto LA17;
					nimln(1457, "system.nim");
					i_136858 = res_136862;
					nimln(1214, "os.nim");
					{
						nimln(1214, "os.nim");
						nimln(1214, "os.nim");
						nimln(1214, "os.nim");
						if ((NU)(i_136858) > (NU)(50000)) raiseIndexError();
						if (!!(!((f_136854.gl_pathv[(i_136858)- 0] == NIM_NIL)))) goto LA20;
						nimln(1214, "os.nim");
						failedassertimpl_79821(((NimStringDesc*) &TMP427));
					}
					LA20: ;
					nimln(1215, "os.nim");
					nimln(1215, "os.nim");
					if ((NU)(i_136858) > (NU)(50000)) raiseIndexError();
					file_136834 = cstrToNimstr(f_136854.gl_pathv[(i_136858)- 0]);
					nimln(242, "options.nim");
					nimln(242, "options.nim");
					memset((void*)&LOC22, 0, sizeof(LOC22));
					nossplitFile(file_136834, &LOC22);
					result = copyString(LOC22.Field1);
					nimln(243, "options.nim");
					goto LA1;
					nimln(1460, "system.nim");
					res_136862 = addInt(res_136862, 1);
				} LA17: ;
			}
			LA15: ;
			nimln(1216, "os.nim");
			globfree(&f_136854);
		} LA2: ;
	} LA1: ;
	nimln(245, "options.nim");
	{
		nimln(245, "options.nim");
		if (!result == 0) goto LA25;
		nimln(245, "options.nim");
		result = copyString(((NimStringDesc*) &TMP404));
	}
	LA25: ;
	d_136835 = 0;
	nimln(227, "options.nim");
	current_136866 = copyString(path);
	nimln(228, "options.nim");
	while (1) {
		nimln(229, "options.nim");
		current_136866 = nosparentDir(current_136866);
		nimln(230, "options.nim");
		{
			nimln(230, "options.nim");
			nimln(230, "options.nim");
			if (!(current_136866->Sup.len == 0)) goto LA30;
			nimln(230, "options.nim");
			goto LA27;
		}
		LA30: ;
		nimln(227, "options.nim");
		d_136835 = current_136866;
		nimln(248, "options.nim");
		nstPut(packagecache_136601, d_136835, result);
		nimln(249, "options.nim");
		parents = subInt(parents, 1);
		nimln(250, "options.nim");
		{
			nimln(250, "options.nim");
			if (!(parents <= 0)) goto LA34;
			nimln(250, "options.nim");
			goto LA27;
		}
		LA34: ;
	} LA27: ;
	BeforeRet: ;
	popFrame();
	return result;
}
N_NIMCALL(void, loadfile_343030_3901077974)(Tlineinfo189336 info0) {
	NI32 i0;
	i0 = info0.fileindex;
	{
		if (!((gsourcefiles_343028_3901077974 ? gsourcefiles_343028_3901077974->Sup.len : 0) <= ((NI) (i0)))) goto LA3;
		gsourcefiles_343028_3901077974 = (TY343011*) setLengthSeq(&(gsourcefiles_343028_3901077974)->Sup, sizeof(Tsourcefile343003), ((NI) ((NI32)(i0 + ((NI32) 1)))));
	}
	LA3: ;
	{
		NimStringDesc* path0;
		NimStringDesc* LOC9;
		TY124315 LOC10;
		Baselexer216007 lex0;
		Filestreamobj157877* LOC19;
		Streamobj156818* LOC20;
		NI pos0;
		if (!gsourcefiles_343028_3901077974->data[i0].lines == 0) goto LA7;
		gsourcefiles_343028_3901077974->data[i0].fileidx = info0.fileindex;
		if (gsourcefiles_343028_3901077974->data[i0].lines) nimGCunrefNoCycle(gsourcefiles_343028_3901077974->data[i0].lines);
		gsourcefiles_343028_3901077974->data[i0].lines = (TY134602*) newSeqRC1((&NTI134602), 0);
		path0 = tofullpath_190264_155036129(info0.fileindex);
		LOC9 = (NimStringDesc*)0;
		LOC9 = gsourcefiles_343028_3901077974->data[i0].fullpath; gsourcefiles_343028_3901077974->data[i0].fullpath = copyStringRC1(path0);
		if (LOC9) nimGCunrefNoCycle(LOC9);
		memset((void*)(&LOC10), 0, sizeof(LOC10));
		nossplitFile(path0, (&LOC10));
		gsourcefiles_343028_3901077974->data[i0].isnimfixfile = eqStrings(LOC10.Field2, ((NimStringDesc*) &T3901077974_5));
		{
			NimStringDesc* line_343077_3901077974;
			FILE* f_343104_3901077974;
			TSafePoint T3901077974_6;
			line_343077_3901077974 = (NimStringDesc*)0;
			f_343104_3901077974 = open_14817_1689653243(path0, ((Filemode13009) 0), ((NI) 8000));
			pushSafePoint(&T3901077974_6);
			T3901077974_6.status = setjmp(T3901077974_6.context);
			if (T3901077974_6.status == 0) {
				NimStringDesc* res_343106_3901077974;
				res_343106_3901077974 = rawNewString(((NI) 80));
				{
					while (1) {
						NIM_BOOL LOC15;
						NimStringDesc* LOC16;
						LOC15 = (NIM_BOOL)0;
						LOC15 = readline_14915_1689653243(f_343104_3901077974, (&res_343106_3901077974));
						if (!LOC15) goto LA14;
						line_343077_3901077974 = res_343106_3901077974;
						gsourcefiles_343028_3901077974->data[i0].lines = (TY134602*) incrSeqV2(&(gsourcefiles_343028_3901077974->data[i0].lines)->Sup, sizeof(NimStringDesc*));
						LOC16 = (NimStringDesc*)0;
						LOC16 = gsourcefiles_343028_3901077974->data[i0].lines->data[gsourcefiles_343028_3901077974->data[i0].lines->Sup.len]; gsourcefiles_343028_3901077974->data[i0].lines->data[gsourcefiles_343028_3901077974->data[i0].lines->Sup.len] = copyStringRC1(line_343077_3901077974);
						if (LOC16) nimGCunrefNoCycle(LOC16);
						++gsourcefiles_343028_3901077974->data[i0].lines->Sup.len;
					} LA14: ;
				}
				popSafePoint();
			}
			else {
				popSafePoint();
			}
			{
				close_14853_1689653243(f_343104_3901077974);
			}
			if (T3901077974_6.status != 0) reraiseException();
		}
		memset((void*)(&lex0), 0, sizeof(lex0));
		lex0.Sup.m_type = (&NTI216007);
		LOC19 = (Filestreamobj157877*)0;
		LOC19 = newfilestream_157942_1780494535(path0, ((Filemode13009) 0));
		LOC20 = (Streamobj156818*)0;
		LOC20 = &LOC19->Sup;
		open_218223_1314243012((&lex0), LOC20, ((NI) 8192), T3901077974_7);
		pos0 = lex0.bufpos;
		{
			while (1) {
				switch (((NU8)(lex0.buf[pos0]))) {
				case 13:
				{
					NimStringDesc* LOC24;
					LOC24 = (NimStringDesc*)0;
					LOC24 = gsourcefiles_343028_3901077974->data[i0].newline; gsourcefiles_343028_3901077974->data[i0].newline = copyStringRC1(((NimStringDesc*) &T3901077974_8));
					if (LOC24) nimGCunrefNoCycle(LOC24);
					goto LA21;
				}
				break;
				case 10:
				case 0:
				{
					NimStringDesc* LOC26;
					LOC26 = (NimStringDesc*)0;
					LOC26 = gsourcefiles_343028_3901077974->data[i0].newline; gsourcefiles_343028_3901077974->data[i0].newline = copyStringRC1(((NimStringDesc*) &T3901077974_9));
					if (LOC26) nimGCunrefNoCycle(LOC26);
					goto LA21;
				}
				break;
				default:
				{
				}
				break;
				}
				pos0 += ((NI) 1);
			}
		} LA21: ;
		close_216021_1314243012((&lex0));
	}
	LA7: ;
}
Пример #18
0
N_NIMCALL(void, Callccompiler_70806)(NimStringDesc* Projectfile_70808) {
NimStringDesc* Linkcmd_70809;
NimStringDesc* Buildgui_70810;
NimStringDesc* Builddll_70811;
NU8 C_70833;
TY52008* Script_70834;
TY39221* Cmds_70851;
NI Res_70869;
NI I_70895;
NI HEX3Atmp_71050;
NI Res_71052;
NI LOC14;
NIM_BOOL LOC15;
TY46331 LOC22;
NimStringDesc* Linkerexe_70936;
NimStringDesc* LOC26;
NimStringDesc* LOC36;
NimStringDesc* Exefile_70970;
TY47805 LOC43;
TY38661 LOC44;
NimStringDesc* LOC45;
TY38661 LOC46;
TY38661 LOC50;
TY43015* It_70995;
NimStringDesc* Objfiles_70996;
NimStringDesc* LOC55;
NimStringDesc* LOC56;
NimStringDesc* LOC57;
NimStringDesc* LOC58;
TY71019 LOC59;
NimStringDesc* LOC60;
TY71019 LOC61;
NimStringDesc* LOC62;
Linkcmd_70809 = 0;
Buildgui_70810 = 0;
Builddll_70811 = 0;
if (!((Gglobaloptions_46079 & 4160) == 64)) goto LA2;
goto BeforeRet;
LA2: ;
Filecounter_70611 = 0;
C_70833 = 0;
C_70833 = Ccompiler_70340;
Script_70834 = 0;
Script_70834 = NIM_NIL;
Cmds_70851 = 0;
Cmds_70851 = (TY39221*) newSeq(NTI39221, 0);
Compilecfile_70733(&Tocompile_70345, &Script_70834, &Cmds_70851, NIM_FALSE);
Compilecfile_70733(&Externaltocompile_70346, &Script_70834, &Cmds_70851, NIM_TRUE);
if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 6))&31)))!=0))) goto LA5;
if (!(Gnumberofprocessors_46086 == 0)) goto LA8;
Gnumberofprocessors_46086 = nospcountProcessors();
LA8: ;
Res_70869 = 0;
Res_70869 = 0;
if (!(Gnumberofprocessors_46086 <= 1)) goto LA11;
I_70895 = 0;
HEX3Atmp_71050 = 0;
HEX3Atmp_71050 = (Cmds_70851->Sup.len-1);
Res_71052 = 0;
Res_71052 = 0;
while (1) {
if (!(Res_71052 <= HEX3Atmp_71050)) goto LA13;
I_70895 = Res_71052;
LOC14 = nospexecCmd(Cmds_70851->data[I_70895]);
Res_70869 = ((LOC14 >= Res_70869) ? LOC14 : Res_70869);
Res_71052 += 1;
} LA13: ;
goto LA10;
LA11: ;
LOC15 = ((Gglobaloptions_46079 &(1<<((((NU8) 5))&31)))!=0);
if (LOC15) goto LA16;
LOC15 = (0 < Gverbosity_46085);
LA16: ;
if (!LOC15) goto LA17;
Res_70869 = nospexecProcesses(Cmds_70851->data, Cmds_70851->Sup.len, 11, Gnumberofprocessors_46086);
goto LA10;
LA17: ;
Res_70869 = nospexecProcesses(Cmds_70851->data, Cmds_70851->Sup.len, 10, Gnumberofprocessors_46086);
LA10: ;
if (!!((Res_70869 == 0))) goto LA20;
memset((void*)&LOC22, 0, sizeof(LOC22));
Rawmessage_47971(((NU8) 62), LOC22, 0);
LA20: ;
LA5: ;
if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 7))&31)))!=0))) goto LA24;
Linkerexe_70936 = 0;
LOC26 = 0;
LOC26 = rawNewString(Cc_70041[(C_70833)-1].Name->Sup.len + 10);
appendString(LOC26, Cc_70041[(C_70833)-1].Name);
appendString(LOC26, ((NimStringDesc*) &TMP196872));
Linkerexe_70936 = Getconfigvar_46135(LOC26);
if (!(Linkerexe_70936->Sup.len == 0)) goto LA28;
Linkerexe_70936 = copyString(Cc_70041[(C_70833)-1].Linkerexe);
LA28: ;
if (!(Targetos_51570 == ((NU8) 2))) goto LA31;
Linkerexe_70936 = nosaddFileExt(Linkerexe_70936, ((NimStringDesc*) &TMP196792));
LA31: ;
if (!!((Hostos_51571 == Targetos_51570))) goto LA34;
Linkcmd_70809 = Quoteifcontainswhite_26268(Linkerexe_70936);
goto LA33;
LA34: ;
LOC36 = 0;
LOC36 = nosJoinPath(Ccompilerpath_70349, Linkerexe_70936);
Linkcmd_70809 = Quoteifcontainswhite_26268(LOC36);
LA33: ;
if (!((Gglobaloptions_46079 &(1<<((((NU8) 11))&31)))!=0)) goto LA38;
Buildgui_70810 = copyString(Cc_70041[(C_70833)-1].Buildgui);
goto LA37;
LA38: ;
Buildgui_70810 = copyString(((NimStringDesc*) &TMP70271));
LA37: ;
Exefile_70970 = 0;
if (!((Gglobaloptions_46079 &(1<<((((NU8) 10))&31)))!=0)) goto LA41;
memset((void*)&LOC43, 0, sizeof(LOC43));
memset((void*)&LOC44, 0, sizeof(LOC44));
nossplitFile(Projectfile_70808, &LOC44);
LOC43[0] = copyString(LOC44.Name);
Exefile_70970 = nsuFormatOpenArray(Os_51053[(Targetos_51570)-1].Dllfrmt, LOC43, 1);
Builddll_70811 = copyString(Cc_70041[(C_70833)-1].Builddll);
goto LA40;
LA41: ;
LOC45 = 0;
memset((void*)&LOC46, 0, sizeof(LOC46));
nossplitFile(Projectfile_70808, &LOC46);
LOC45 = rawNewString(LOC46.Name->Sup.len + Os_51053[(Targetos_51570)-1].Exeext->Sup.len + 0);
appendString(LOC45, LOC46.Name);
appendString(LOC45, Os_51053[(Targetos_51570)-1].Exeext);
Exefile_70970 = LOC45;
Builddll_70811 = copyString(((NimStringDesc*) &TMP70271));
LA40: ;
if (!(Targetos_51570 == Hostos_51571)) goto LA48;
memset((void*)&LOC50, 0, sizeof(LOC50));
nossplitFile(Projectfile_70808, &LOC50);
Exefile_70970 = nosJoinPath(LOC50.Dir, Exefile_70970);
LA48: ;
Exefile_70970 = Quoteifcontainswhite_26268(Exefile_70970);
It_70995 = 0;
It_70995 = ((TY43015*) (Tolink_70344.Head));
Objfiles_70996 = 0;
Objfiles_70996 = copyString(((NimStringDesc*) &TMP70271));
while (1) {
if (!!((It_70995 == NIM_NIL))) goto LA51;
Objfiles_70996 = addChar(Objfiles_70996, 32);
if (!(Targetos_51570 == Hostos_51571)) goto LA53;
LOC55 = 0;
LOC55 = nosaddFileExt((*It_70995).Data, Cc_70041[(Ccompiler_70340)-1].Objext);
LOC56 = 0;
LOC56 = Quoteifcontainswhite_26268(LOC55);
Objfiles_70996 = resizeString(Objfiles_70996, LOC56->Sup.len + 0);
appendString(Objfiles_70996, LOC56);
goto LA52;
LA53: ;
LOC57 = 0;
LOC57 = nosaddFileExt((*It_70995).Data, Cc_70041[(Ccompiler_70340)-1].Objext);
LOC58 = 0;
LOC58 = Quoteifcontainswhite_26268(LOC57);
Objfiles_70996 = resizeString(Objfiles_70996, LOC58->Sup.len + 0);
appendString(Objfiles_70996, LOC58);
LA52: ;
It_70995 = ((TY43015*) ((*It_70995).Sup.Next));
} LA51: ;
memset((void*)&LOC59, 0, sizeof(LOC59));
LOC59[0] = copyString(((NimStringDesc*) &TMP196873));
LOC59[1] = copyString(Builddll_70811);
LOC59[2] = copyString(((NimStringDesc*) &TMP196874));
LOC59[3] = copyString(Buildgui_70810);
LOC59[4] = copyString(((NimStringDesc*) &TMP196795));
LOC59[5] = copyString(Linkoptions_70347);
LOC59[6] = copyString(((NimStringDesc*) &TMP196875));
LOC59[7] = copyString(Objfiles_70996);
LOC59[8] = copyString(((NimStringDesc*) &TMP196876));
LOC59[9] = copyString(Exefile_70970);
LOC59[10] = copyString(((NimStringDesc*) &TMP196797));
LOC59[11] = Getprefixdir_46109();
LOC59[12] = copyString(((NimStringDesc*) &TMP196798));
LOC59[13] = copyString(Libpath_46112);
LOC60 = 0;
LOC60 = nsuFormatOpenArray(Linkcmd_70809, LOC59, 14);
Linkcmd_70809 = Quoteifcontainswhite_26268(LOC60);
Linkcmd_70809 = addChar(Linkcmd_70809, 32);
memset((void*)&LOC61, 0, sizeof(LOC61));
LOC61[0] = copyString(((NimStringDesc*) &TMP196873));
LOC61[1] = copyString(Builddll_70811);
LOC61[2] = copyString(((NimStringDesc*) &TMP196874));
LOC61[3] = copyString(Buildgui_70810);
LOC61[4] = copyString(((NimStringDesc*) &TMP196795));
LOC61[5] = copyString(Linkoptions_70347);
LOC61[6] = copyString(((NimStringDesc*) &TMP196875));
LOC61[7] = copyString(Objfiles_70996);
LOC61[8] = copyString(((NimStringDesc*) &TMP196876));
LOC61[9] = copyString(Exefile_70970);
LOC61[10] = copyString(((NimStringDesc*) &TMP196797));
LOC62 = 0;
LOC62 = Getprefixdir_46109();
LOC61[11] = Quoteifcontainswhite_26268(LOC62);
LOC61[12] = copyString(((NimStringDesc*) &TMP196798));
LOC61[13] = Quoteifcontainswhite_26268(Libpath_46112);
nsuAddf(&Linkcmd_70809, Cc_70041[(C_70833)-1].Linktmpl, LOC61, 14);
if (!!(((Gglobaloptions_46079 &(1<<((((NU8) 6))&31)))!=0))) goto LA64;
Execexternalprogram_70570(Linkcmd_70809);
LA64: ;
goto LA23;
LA24: ;
Linkcmd_70809 = copyString(((NimStringDesc*) &TMP70271));
LA23: ;
if (!((Gglobaloptions_46079 &(1<<((((NU8) 12))&31)))!=0)) goto LA67;
App_52036(&Script_70834, Linkcmd_70809);
App_52036(&Script_70834, Tnl_51581);
Generatescript_70590(Projectfile_70808, Script_70834);
LA67: ;
BeforeRet: ;
}
Пример #19
0
N_NIMCALL(void, handlecmdline_527607)(void) {
	{
		NI LOC3;
		LOC3 = 0;
		LOC3 = paramcount_124830();
		if (!(LOC3 == ((NI) 0))) goto LA4;
		writecommandlineusage_175020();
	}
	goto LA1;
	LA4: ;
	{
		processcmdline_521209(((NU8) 0), ((NimStringDesc*) &TMP1869));
		{
			TSafePoint TMP1870;
			TY118589 p;
			NimStringDesc* LOC15;
			NimStringDesc* LOC16;
			if (!!(((gprojectname_153234) && (gprojectname_153234)->Sup.len == 0))) goto LA9;
			pushSafePoint(&TMP1870);
			TMP1870.status = setjmp(TMP1870.context);
			if (TMP1870.status == 0) {
				asgnRefNoCycle((void**) (&gprojectfull_153236), canonicalizepath_153380(gprojectname_153234));
				popSafePoint();
			}
			else {
				popSafePoint();
				if (isObj(getCurrentException()->Sup.m_type, (&NTI3433))) {
					NimStringDesc* LOC14;
					TMP1870.status = 0;
					LOC14 = 0;
					LOC14 = gprojectfull_153236; gprojectfull_153236 = copyStringRC1(gprojectname_153234);
					if (LOC14) nimGCunrefNoCycle(LOC14);
					popCurrentException();
				}
			}
			if (TMP1870.status != 0) reraiseException();
			memset((void*)(&p), 0, sizeof(p));
			chckNil((void*)(&p));
			memset((void*)(&p), 0, sizeof(p));
			nossplitFile(gprojectfull_153236, (&p));
			LOC15 = 0;
			LOC15 = gprojectpath_153235; gprojectpath_153235 = copyStringRC1(p.Field0);
			if (LOC15) nimGCunrefNoCycle(LOC15);
			LOC16 = 0;
			LOC16 = gprojectname_153234; gprojectname_153234 = copyStringRC1(p.Field1);
			if (LOC16) nimGCunrefNoCycle(LOC16);
		}
		goto LA7;
		LA9: ;
		{
			asgnRefNoCycle((void**) (&gprojectpath_153235), nosgetCurrentDir());
		}
		LA7: ;
		loadconfigs_185811(((NimStringDesc*) &TMP1898));
		initvars_169876();
		processcmdline_521209(((NU8) 1), ((NimStringDesc*) &TMP1869));
		maincommand_524628();
		{
			NimStringDesc* LOC22;
			if (!(((NI) 2) <= gverbosity_153137)) goto LA20;
			LOC22 = 0;
			LOC22 = Gcgetstatistics_8821();
			printf("%s\012", LOC22? (LOC22)->data:"nil");
		}
		LA20: ;
		{
			if (!(gerrorcounter_163016 == ((NI) 0))) goto LA25;
			{
				if (!((gglobaloptions_153128 &(1<<((((NU8) 13))&31)))!=0)) goto LA29;
				{
					NimStringDesc* LOC35;
					if (!eqStrings(gprojectname_153234, ((NimStringDesc*) &TMP5024))) goto LA33;
					LOC35 = 0;
					LOC35 = gprojectfull_153236; gprojectfull_153236 = copyStringRC1(((NimStringDesc*) &TMP5025));
					if (LOC35) nimGCunrefNoCycle(LOC35);
				}
				LA33: ;
				{
					NimStringDesc* ex;
					NimStringDesc* LOC49;
					NimStringDesc* LOC50;
					if (!(gcmd_153130 == ((NU8) 4))) goto LA38;
					ex = 0;
					{
						NimStringDesc* LOC44;
						if (!(((NI) 0) < (outfile_153134 ? outfile_153134->Sup.len : 0))) goto LA42;
						LOC44 = 0;
						LOC44 = prependcurdir_527401(outfile_153134);
						ex = nospquoteShell(LOC44);
					}
					goto LA40;
					LA42: ;
					{
						NimStringDesc* LOC46;
						NimStringDesc* LOC47;
						NimStringDesc* LOC48;
						LOC46 = 0;
						LOC46 = noschangeFileExt(gprojectfull_153236, ((NimStringDesc*) &TMP5027));
						LOC47 = 0;
						LOC47 = prependcurdir_527401(LOC46);
						LOC48 = 0;
						LOC48 = completecfilepath_169912(LOC47, NIM_TRUE);
						ex = nospquoteShell(LOC48);
					}
					LA40: ;
					LOC49 = 0;
					LOC50 = 0;
					LOC50 = findnodejs_526009();
					LOC49 = rawNewString(LOC50->Sup.len + ex->Sup.len + arguments_176723->Sup.len + 2);
appendString(LOC49, LOC50);
appendString(LOC49, ((NimStringDesc*) &TMP5030));
appendString(LOC49, ex);
appendChar(LOC49, 32);
appendString(LOC49, arguments_176723);
					execexternalprogram_169985(LOC49, ((NimStringDesc*) &TMP1869));
				}
				goto LA36;
				LA38: ;
				{
					NimStringDesc* binpath;
					NimStringDesc* ex;
					NimStringDesc* LOC58;
					binpath = 0;
					{
						if (!(((NI) 0) < (outfile_153134 ? outfile_153134->Sup.len : 0))) goto LA54;
						binpath = prependcurdir_527401(outfile_153134);
					}
					goto LA52;
					LA54: ;
					{
						NimStringDesc* LOC57;
						LOC57 = 0;
						LOC57 = noschangeFileExt(gprojectfull_153236, ((NimStringDesc*) &TMP1869));
						binpath = prependcurdir_527401(LOC57);
					}
					LA52: ;
					ex = nospquoteShell(binpath);
					LOC58 = 0;
					LOC58 = rawNewString(ex->Sup.len + arguments_176723->Sup.len + 1);
appendString(LOC58, ex);
appendChar(LOC58, 32);
appendString(LOC58, arguments_176723);
					execexternalprogram_169985(LOC58, ((NimStringDesc*) &TMP1869));
				}
				LA36: ;
			}
			LA29: ;
		}
		LA25: ;
	}
	LA1: ;
}
Пример #20
0
N_NIMCALL(TY55526*, Adddotdependency_187025)(TY105002* C_187027, TY55526* N_187028) {
TY55526* Result_187029;
TY187010* G_187030;
NI I_187054;
NI HEX3Atmp_187102;
NI LOC1;
NI Res_187104;
NimStringDesc* Imported_187067;
NimStringDesc* LOC3;
TY38661 LOC4;
NimStringDesc* Imported_187080;
NimStringDesc* LOC5;
TY38661 LOC6;
NI I_187089;
NI HEX3Atmp_187105;
NI LOC7;
NI Res_187107;
TY55526* LOC9;
Result_187029 = 0;
Result_187029 = N_187028;
G_187030 = 0;
G_187030 = ((TY187010*) (C_187027));
switch ((*N_187028).Kind) {
case ((NU8) 102):
I_187054 = 0;
HEX3Atmp_187102 = 0;
LOC1 = Sonslen_55804(N_187028);
HEX3Atmp_187102 = (NI64)(LOC1 - 1);
Res_187104 = 0;
Res_187104 = 0;
while (1) {
if (!(Res_187104 <= HEX3Atmp_187102)) goto LA2;
I_187054 = Res_187104;
Imported_187067 = 0;
LOC3 = 0;
LOC3 = Getmodulefile_110013((*N_187028).KindU.S6.Sons->data[I_187054]);
memset((void*)&LOC4, 0, sizeof(LOC4));
nossplitFile(LOC3, &LOC4);
Imported_187067 = copyString(LOC4.Name);
Adddependencyaux_187016((*(*(*G_187030).Module).Name).S, Imported_187067);
Res_187104 += 1;
} LA2: ;
break;
case ((NU8) 103):
Imported_187080 = 0;
LOC5 = 0;
LOC5 = Getmodulefile_110013((*N_187028).KindU.S6.Sons->data[0]);
memset((void*)&LOC6, 0, sizeof(LOC6));
nossplitFile(LOC5, &LOC6);
Imported_187080 = copyString(LOC6.Name);
Adddependencyaux_187016((*(*(*G_187030).Module).Name).S, Imported_187080);
break;
case ((NU8) 101):
case ((NU8) 99):
case ((NU8) 106):
case ((NU8) 107):
I_187089 = 0;
HEX3Atmp_187105 = 0;
LOC7 = Sonslen_55804(N_187028);
HEX3Atmp_187105 = (NI64)(LOC7 - 1);
Res_187107 = 0;
Res_187107 = 0;
while (1) {
if (!(Res_187107 <= HEX3Atmp_187105)) goto LA8;
I_187089 = Res_187107;
LOC9 = 0;
LOC9 = Adddotdependency_187025(C_187027, (*N_187028).KindU.S6.Sons->data[I_187089]);
Res_187107 += 1;
} LA8: ;
break;
default:
break;
}
return Result_187029;
}
Пример #21
0
N_NIMCALL(void, handlecmdline_424603)(void) {
	nimfr("HandleCmdLine", "nimrod.nim")
	nimln(35, "nimrod.nim");
	{
		NI LOC3;
		nimln(35, "nimrod.nim");
		nimln(35, "nimrod.nim");
		LOC3 = 0;
		LOC3 = paramcount_107029();
		if (!(LOC3 == 0)) goto LA4;
		nimln(36, "nimrod.nim");
		writecommandlineusage_152002();	}	goto LA1;
	LA4: ;
	{
		nimln(39, "nimrod.nim");
		processcmdline_419207(((NU8) 0), ((NimStringDesc*) &TMP7233));		nimln(40, "nimrod.nim");
		{
			TSafePoint TMP7234;
			TY102259 p;
			NimStringDesc* LOC15;
			NimStringDesc* LOC16;
			nimln(698, "system.nim");
			nimln(698, "system.nim");
			if (!!(((gprojectname_114197) && (gprojectname_114197)->Sup.len == 0))) goto LA9;
			nimln(41, "nimrod.nim");
			pushSafePoint(&TMP7234);
			TMP7234.status = setjmp(TMP7234.context);
			if (TMP7234.status == 0) {
				nimln(42, "nimrod.nim");
				asgnRefNoCycle((void**) &gprojectfull_114199, canonicalizepath_114316(gprojectname_114197));
				popSafePoint();
			}			else {
				popSafePoint();
				setFrame((TFrame*)&F);
				if (isObj(getCurrentException()->Sup.m_type, (&NTI1035))) {
					NimStringDesc* LOC14;
					TMP7234.status = 0;
					nimln(44, "nimrod.nim");
					LOC14 = 0;
					LOC14 = gprojectfull_114199; gprojectfull_114199 = copyStringRC1(gprojectname_114197);
					if (LOC14) nimGCunrefNoCycle(LOC14);
					popCurrentException();
				}			}			if (TMP7234.status != 0) reraiseException();
			nimln(45, "nimrod.nim");
			chckNil((void*)&p);
			memset((void*)&p, 0, sizeof(p));
			nossplitFile(gprojectfull_114199, &p);			nimln(46, "nimrod.nim");
			LOC15 = 0;
			LOC15 = gprojectpath_114198; gprojectpath_114198 = copyStringRC1(p.Field0);
			if (LOC15) nimGCunrefNoCycle(LOC15);
			nimln(47, "nimrod.nim");
			LOC16 = 0;
			LOC16 = gprojectname_114197; gprojectname_114197 = copyStringRC1(p.Field1);
			if (LOC16) nimGCunrefNoCycle(LOC16);
		}		goto LA7;
		LA9: ;
		{
			nimln(49, "nimrod.nim");
			asgnRefNoCycle((void**) &gprojectpath_114198, nosgetCurrentDir());
		}		LA7: ;
		nimln(50, "nimrod.nim");
		loadconfigs_168607(((NimStringDesc*) &TMP7235));		nimln(53, "nimrod.nim");
		initvars_148647();		nimln(54, "nimrod.nim");
		processcmdline_419207(((NU8) 1), ((NimStringDesc*) &TMP7233));		nimln(55, "nimrod.nim");
		maincommand_422811();		nimln(56, "nimrod.nim");
		{
			NimStringDesc* LOC22;
			nimln(702, "system.nim");
			if (!(2 <= gverbosity_114117)) goto LA20;
			nimln(56, "nimrod.nim");
			nimln(56, "nimrod.nim");
			LOC22 = 0;
			LOC22 = gcgetstatistics_6021();
			printf("%s\012", (LOC22)->data);
		}		LA20: ;
		nimln(58, "nimrod.nim");
		{
			nimln(58, "nimrod.nim");
			if (!(gerrorcounter_138074 == 0)) goto LA25;
			nimln(62, "nimrod.nim");
			{
				nimln(730, "system.nim");
				if (!((gglobaloptions_114109 &(1<<((((NU8) 13))&31)))!=0)) goto LA29;
				nimln(63, "nimrod.nim");
				{
					NimStringDesc* ex;
					NimStringDesc* LOC35;
					NimStringDesc* LOC36;
					NimStringDesc* LOC37;
					NimStringDesc* LOC38;
					nimln(63, "nimrod.nim");
					if (!(gcmd_114111 == ((NU8) 4))) goto LA33;
					nimln(64, "nimrod.nim");
					nimln(65, "nimrod.nim");
					nimln(65, "nimrod.nim");
					nimln(65, "nimrod.nim");
					LOC35 = 0;
					LOC35 = nosChangeFileExt(gprojectfull_114199, ((NimStringDesc*) &TMP7236));
					LOC36 = 0;
					LOC36 = prependcurdir_424401(LOC35);
					LOC37 = 0;
					LOC37 = completecfilepath_148681(LOC36, NIM_TRUE);
					ex = nospquoteShell(LOC37);
					nimln(66, "nimrod.nim");
					nimln(66, "nimrod.nim");
					LOC38 = 0;
					LOC38 = rawNewString(ex->Sup.len + arguments_419205->Sup.len + 6);
appendString(LOC38, ((NimStringDesc*) &TMP7237));
appendString(LOC38, ex);
appendChar(LOC38, 32);
appendString(LOC38, arguments_419205);
					execexternalprogram_148713(LOC38);				}				goto LA31;
				LA33: ;
				{
					NimStringDesc* binpath;
					NimStringDesc* ex;
					NimStringDesc* LOC46;
					binpath = 0;
					nimln(69, "nimrod.nim");
					{
						nimln(706, "system.nim");
						nimln(69, "nimrod.nim");
						if (!(0 < outfile_114115->Sup.len)) goto LA42;
						nimln(71, "nimrod.nim");
						binpath = prependcurdir_424401(outfile_114115);
					}					goto LA40;
					LA42: ;
					{
						NimStringDesc* LOC45;
						nimln(74, "nimrod.nim");
						nimln(74, "nimrod.nim");
						LOC45 = 0;
						LOC45 = nosChangeFileExt(gprojectfull_114199, ((NimStringDesc*) &TMP7233));
						binpath = prependcurdir_424401(LOC45);
					}					LA40: ;
					nimln(75, "nimrod.nim");
					ex = nospquoteShell(binpath);
					nimln(76, "nimrod.nim");
					nimln(76, "nimrod.nim");
					LOC46 = 0;
					LOC46 = rawNewString(ex->Sup.len + arguments_419205->Sup.len + 1);
appendString(LOC46, ex);
appendChar(LOC46, 32);
appendString(LOC46, arguments_419205);
					execexternalprogram_148713(LOC46);				}				LA31: ;
			}			LA29: ;
		}		LA25: ;
	}	LA1: ;
	popFrame();
}
Пример #22
0
N_NIMCALL(void, handlecmdline_529603)(void) {
	nimfr("handleCmdLine", "nimrod.nim")
	nimln(35, "nimrod.nim");
	{
		NI LOC3;
		nimln(35, "nimrod.nim");
		nimln(35, "nimrod.nim");
		LOC3 = 0;
		LOC3 = paramcount_114233();
		if (!(LOC3 == 0)) goto LA4;
		nimln(36, "nimrod.nim");
		writecommandlineusage_171002();
	}
	goto LA1;
	LA4: ;
	{
		nimln(39, "nimrod.nim");
		processcmdline_523207(((NU8) 0), ((NimStringDesc*) &TMP7787));
		nimln(40, "nimrod.nim");
		{
			TSafePoint TMP7788;
			TY108700 p;
			NimStringDesc* LOC15;
			NimStringDesc* LOC16;
			nimln(40, "nimrod.nim");
			nimln(40, "nimrod.nim");
			if (!!(((gprojectname_135206) && (gprojectname_135206)->Sup.len == 0))) goto LA9;
			nimln(41, "nimrod.nim");
			pushSafePoint(&TMP7788);
			TMP7788.status = setjmp(TMP7788.context);
			if (TMP7788.status == 0) {
				nimln(42, "nimrod.nim");
				asgnRefNoCycle((void**) &gprojectfull_135208, canonicalizepath_135335(gprojectname_135206));
				popSafePoint();
			}
			else {
				popSafePoint();
				setFrame((TFrame*)&F);
				if (isObj(getCurrentException()->Sup.m_type, (&NTI2435))) {
					NimStringDesc* LOC14;
					TMP7788.status = 0;
					nimln(44, "nimrod.nim");
					LOC14 = 0;
					LOC14 = gprojectfull_135208; gprojectfull_135208 = copyStringRC1(gprojectname_135206);
					if (LOC14) nimGCunrefNoCycle(LOC14);
					popCurrentException();
				}
			}
			if (TMP7788.status != 0) reraiseException();
			nimln(45, "nimrod.nim");
			chckNil((void*)&p);
			memset((void*)&p, 0, sizeof(p));
			nossplitFile(gprojectfull_135208, &p);
			nimln(46, "nimrod.nim");
			LOC15 = 0;
			LOC15 = gprojectpath_135207; gprojectpath_135207 = copyStringRC1(p.Field0);
			if (LOC15) nimGCunrefNoCycle(LOC15);
			nimln(47, "nimrod.nim");
			LOC16 = 0;
			LOC16 = gprojectname_135206; gprojectname_135206 = copyStringRC1(p.Field1);
			if (LOC16) nimGCunrefNoCycle(LOC16);
		}
		goto LA7;
		LA9: ;
		{
			nimln(49, "nimrod.nim");
			asgnRefNoCycle((void**) &gprojectpath_135207, nosgetCurrentDir());
		}
		LA7: ;
		nimln(50, "nimrod.nim");
		loadconfigs_181607(((NimStringDesc*) &TMP7789));
		nimln(53, "nimrod.nim");
		initvars_167714();
		nimln(54, "nimrod.nim");
		processcmdline_523207(((NU8) 1), ((NimStringDesc*) &TMP7787));
		nimln(55, "nimrod.nim");
		maincommand_527011();
		nimln(56, "nimrod.nim");
		{
			NimStringDesc* LOC22;
			nimln(56, "nimrod.nim");
			if (!(2 <= gverbosity_135120)) goto LA20;
			nimln(56, "nimrod.nim");
			nimln(56, "nimrod.nim");
			LOC22 = 0;
			LOC22 = gcgetstatistics_6621();
			printf("%s\012", (LOC22)->data);
		}
		LA20: ;
		nimln(58, "nimrod.nim");
		{
			nimln(58, "nimrod.nim");
			if (!(gerrorcounter_162182 == 0)) goto LA25;
			nimln(62, "nimrod.nim");
			{
				nimln(62, "nimrod.nim");
				if (!((gglobaloptions_135111 &(1<<((((NU8) 13))&31)))!=0)) goto LA29;
				nimln(63, "nimrod.nim");
				{
					NimStringDesc* ex;
					NimStringDesc* LOC44;
					nimln(63, "nimrod.nim");
					if (!(gcmd_135113 == ((NU8) 4))) goto LA33;
					ex = 0;
					nimln(65, "nimrod.nim");
					{
						NimStringDesc* LOC39;
						nimln(65, "nimrod.nim");
						nimln(65, "nimrod.nim");
						if (!(0 < outfile_135117->Sup.len)) goto LA37;
						nimln(66, "nimrod.nim");
						nimln(66, "nimrod.nim");
						LOC39 = 0;
						LOC39 = prependcurdir_529401(outfile_135117);
						ex = nospquoteShell(LOC39);
					}
					goto LA35;
					LA37: ;
					{
						NimStringDesc* LOC41;
						NimStringDesc* LOC42;
						NimStringDesc* LOC43;
						nimln(68, "nimrod.nim");
						nimln(69, "nimrod.nim");
						nimln(69, "nimrod.nim");
						nimln(69, "nimrod.nim");
						LOC41 = 0;
						LOC41 = noschangeFileExt(gprojectfull_135208, ((NimStringDesc*) &TMP7790));
						LOC42 = 0;
						LOC42 = prependcurdir_529401(LOC41);
						LOC43 = 0;
						LOC43 = completecfilepath_167753(LOC42, NIM_TRUE);
						ex = nospquoteShell(LOC43);
					}
					LA35: ;
					nimln(70, "nimrod.nim");
					nimln(70, "nimrod.nim");
					LOC44 = 0;
					LOC44 = rawNewString(ex->Sup.len + arguments_523205->Sup.len + 6);
appendString(LOC44, ((NimStringDesc*) &TMP7791));
appendString(LOC44, ex);
appendChar(LOC44, 32);
appendString(LOC44, arguments_523205);
					execexternalprogram_167785(LOC44);
				}
				goto LA31;
				LA33: ;
				{
					NimStringDesc* binpath;
					NimStringDesc* ex;
					NimStringDesc* LOC52;
					binpath = 0;
					nimln(73, "nimrod.nim");
					{
						nimln(73, "nimrod.nim");
						nimln(73, "nimrod.nim");
						if (!(0 < outfile_135117->Sup.len)) goto LA48;
						nimln(75, "nimrod.nim");
						binpath = prependcurdir_529401(outfile_135117);
					}
					goto LA46;
					LA48: ;
					{
						NimStringDesc* LOC51;
						nimln(78, "nimrod.nim");
						nimln(78, "nimrod.nim");
						LOC51 = 0;
						LOC51 = noschangeFileExt(gprojectfull_135208, ((NimStringDesc*) &TMP7787));
						binpath = prependcurdir_529401(LOC51);
					}
					LA46: ;
					nimln(79, "nimrod.nim");
					ex = nospquoteShell(binpath);
					nimln(80, "nimrod.nim");
					nimln(80, "nimrod.nim");
					LOC52 = 0;
					LOC52 = rawNewString(ex->Sup.len + arguments_523205->Sup.len + 1);
appendString(LOC52, ex);
appendChar(LOC52, 32);
appendString(LOC52, arguments_523205);
					execexternalprogram_167785(LOC52);
				}
				LA31: ;
			}
			LA29: ;
		}
		LA25: ;
	}
	LA1: ;
	popFrame();
}
Пример #23
0
N_NIMCALL(void, Maincommand_191201)(NimStringDesc* Cmd_191203, NimStringDesc* Filename_191204) {
TY38661 LOC4;
NU8 LOC5;
NimStringDesc* LOC6;
TY55526* LOC7;
Appendstr_43061(&Searchpaths_46081, Libpath_46112);
if (!!(((Filename_191204) && (Filename_191204)->Sup.len == 0))) goto LA2;
memset((void*)&LOC4, 0, sizeof(LOC4));
nossplitFile(Filename_191204, &LOC4);
Prependstr_43071(&Searchpaths_46081, LOC4.Dir);
LA2: ;
Setid_55696(100);
Gincludefile_105048 = Parsefile_92031;
Gimportmodule_105044 = Importmodule_191325;
LOC5 = Whichkeyword_72482(Cmd_191203);
switch (LOC5) {
case ((NU8) 107):
case ((NU8) 200):
case ((NU8) 176):
case ((NU8) 192):
Gcmd_46084 = ((NU8) 1);
Wantfile_191707(Filename_191204);
Commandcompiletoc_191416(Filename_191204);
break;
case ((NU8) 201):
asgnRefNoCycle((void**) &Cext_70342, copyString(((NimStringDesc*) &TMP196879)));
Gcmd_46084 = ((NU8) 2);
Wantfile_191707(Filename_191204);
Commandcompiletoc_191416(Filename_191204);
break;
case ((NU8) 204):
case ((NU8) 213):
asgnRefNoCycle((void**) &Cext_70342, copyString(((NimStringDesc*) &TMP196880)));
Gcmd_46084 = ((NU8) 3);
Wantfile_191707(Filename_191204);
Commandcompiletoc_191416(Filename_191204);
break;
case ((NU8) 179):
Gcmd_46084 = ((NU8) 18);
Wantfile_191707(Filename_191204);
Rawmessage_48045(((NU8) 176), Cmd_191203);
break;
case ((NU8) 202):
case ((NU8) 212):
Gcmd_46084 = ((NU8) 4);
Wantfile_191707(Filename_191204);
Commandcompiletoecmascript_191601(Filename_191204);
break;
case ((NU8) 203):
Gcmd_46084 = ((NU8) 5);
Wantfile_191707(Filename_191204);
Rawmessage_48045(((NU8) 176), Cmd_191203);
break;
case ((NU8) 205):
Gcmd_46084 = ((NU8) 7);
Wantfile_191707(Filename_191204);
Commandpretty_191643(Filename_191204);
break;
case ((NU8) 206):
Gcmd_46084 = ((NU8) 8);
Loadspecialconfig_80007(((NimStringDesc*) &TMP197084));
Wantfile_191707(Filename_191204);
Commanddoc_156001(Filename_191204);
break;
case ((NU8) 214):
Gcmd_46084 = ((NU8) 15);
Loadspecialconfig_80007(((NimStringDesc*) &TMP197084));
Wantfile_191707(Filename_191204);
Commandrst2html_156004(Filename_191204);
break;
case ((NU8) 215):
Gcmd_46084 = ((NU8) 16);
Loadspecialconfig_80007(((NimStringDesc*) &TMP197487));
Wantfile_191707(Filename_191204);
Commandrst2tex_156007(Filename_191204);
break;
case ((NU8) 207):
Gcmd_46084 = ((NU8) 9);
Wantfile_191707(Filename_191204);
Commandgendepend_191410(Filename_191204);
break;
case ((NU8) 208):
Gcmd_46084 = ((NU8) 10);
Listsymbols_64062();
break;
case ((NU8) 209):
Gcmd_46084 = ((NU8) 11);
Wantfile_191707(Filename_191204);
Commandcheck_191413(Filename_191204);
break;
case ((NU8) 210):
Gcmd_46084 = ((NU8) 12);
Wantfile_191707(Filename_191204);
LOC6 = 0;
LOC6 = nosaddFileExt(Filename_191204, ((NimStringDesc*) &TMP195865));
LOC7 = 0;
LOC7 = Parsefile_92031(LOC6);
break;
case ((NU8) 211):
Gcmd_46084 = ((NU8) 13);
Wantfile_191707(Filename_191204);
Commandscan_191658(Filename_191204);
Messageout_47775(((NimStringDesc*) &TMP197499));
break;
case ((NU8) 216):
Gcmd_46084 = ((NU8) 17);
Commandinteractive_191616();
break;
case ((NU8) 225):
Gcmd_46084 = ((NU8) 14);
Wantfile_191707(Filename_191204);
Commandsuggest_191704(Filename_191204);
break;
default:
Rawmessage_48045(((NU8) 176), Cmd_191203);
break;
}
}