예제 #1
0
N_NIMCALL(Tnode190813*, parsepipe_218170)(NimStringDesc* filename, Tllstream177204* inputstream) {
	Tnode190813* result;
	Tllstream177204* s;
	result = 0;
	result = emptynode_191807;
	s = llstreamopen_177256(filename, ((NU8) 0));
	{
		NimStringDesc* line;
		NIM_BOOL LOC5;
		NI i;
		if (!!((s == NIM_NIL))) goto LA3;
		line = rawNewString(((NI) 80));
		LOC5 = 0;
		LOC5 = llstreamreadline_177610(s, (&line));
		i = utf8bom_218122(line);
		{
			NIM_BOOL LOC8;
			NIM_BOOL LOC11;
			LOC8 = 0;
			LOC8 = containsshebang_218132(line, i);
			if (!LOC8) goto LA9;
			LOC11 = 0;
			LOC11 = llstreamreadline_177610(s, (&line));
			i = ((NI) 0);
		}
		LA9: ;
		{
			NIM_BOOL LOC14;
			Tparser206205 q;
			NimStringDesc* LOC20;
			Tllstream177204* LOC21;
			LOC14 = 0;
			LOC14 = ((NU8)(line->data[i]) == (NU8)(35));
			if (!(LOC14)) goto LA15;
			LOC14 = ((NU8)(line->data[(NI)(i + ((NI) 1))]) == (NU8)(33));
			LA15: ;
			if (!LOC14) goto LA16;
			i += ((NI) 2);
			{
				while (1) {
					if (!(((NU8)(line->data[i])) == ((NU8)(32)) || ((NU8)(line->data[i])) == ((NU8)(9)) || ((NU8)(line->data[i])) == ((NU8)(11)) || ((NU8)(line->data[i])) == ((NU8)(13)) || ((NU8)(line->data[i])) == ((NU8)(10)) || ((NU8)(line->data[i])) == ((NU8)(12)))) goto LA19;
					i += ((NI) 1);
				} LA19: ;
			}
			memset((void*)(&q), 0, sizeof(q));
			objectInit((&q), (&NTI206205));
			LOC20 = 0;
			LOC20 = copyStr(line, i);
			LOC21 = 0;
			LOC21 = llstreamopen_177220(LOC20);
			openparser_206417((&q), filename, LOC21, NIM_FALSE);
			result = parseall_206216((&q));
			closeparser_206223((&q));
		}
		LA16: ;
		llstreamclose_177310(s);
	}
	LA3: ;
	return result;
}
예제 #2
0
N_NIMCALL(Tllstream177204*, filterreplace_216004)(Tllstream177204* stdin_216006, NimStringDesc* filename, Tnode190813* call) {
	Tllstream177204* result;
	NimStringDesc* sub;
	NimStringDesc* by;
	NimStringDesc* line;
	result = 0;
	sub = strarg_216029(call, ((NimStringDesc*) &TMP1428), ((NI) 1), ((NimStringDesc*) &TMP1423));
	{
		if (!((sub ? sub->Sup.len : 0) == ((NI) 0))) goto LA3;
		invalidpragma_216047(call);
	}
	LA3: ;
	by = strarg_216029(call, ((NimStringDesc*) &TMP1429), ((NI) 2), ((NimStringDesc*) &TMP1423));
	result = llstreamopen_177220(((NimStringDesc*) &TMP1423));
	line = rawNewString(((NI) 80));
	{
		while (1) {
			NIM_BOOL LOC7;
			NimStringDesc* LOC8;
			LOC7 = 0;
			LOC7 = llstreamreadline_177610(stdin_216006, (&line));
			if (!LOC7) goto LA6;
			LOC8 = 0;
			LOC8 = nsuReplaceStr(line, sub, by);
			llstreamwriteln_177686(result, LOC8);
		} LA6: ;
	}
	llstreamclose_177310(stdin_216006);
	return result;
}
예제 #3
0
N_NIMCALL(Tllstream177204*, filtertmpl_217009)(Tllstream177204* stdin_217011, NimStringDesc* filename, Tnode190813* call) {
	Tllstream177204* result;
	Ttmplparser217020 p;
	result = 0;
	memset((void*)(&p), 0, sizeof(p));
	p.info = newlineinfo_162882(filename, ((NI) 0), ((NI) 0));
	p.outp = llstreamopen_177220(((NimStringDesc*) &TMP1401));
	p.inp = stdin_217011;
	p.subschar = chararg_216020(call, ((NimStringDesc*) &TMP1402), ((NI) 1), 36);
	p.nimdirective = chararg_216020(call, ((NimStringDesc*) &TMP1403), ((NI) 2), 35);
	p.emit = strarg_216029(call, ((NimStringDesc*) &TMP1404), ((NI) 3), ((NimStringDesc*) &TMP1405));
	p.conc = strarg_216029(call, ((NimStringDesc*) &TMP1406), ((NI) 4), ((NimStringDesc*) &TMP1407));
	p.tostr = strarg_216029(call, ((NimStringDesc*) &TMP1408), ((NI) 5), ((NimStringDesc*) &TMP1409));
	p.x = rawNewString(((NI) 120));
	{
		while (1) {
			NIM_BOOL LOC3;
			LOC3 = 0;
			LOC3 = llstreamreadline_177610(p.inp, (&p.x));
			if (!LOC3) goto LA2;
			p.info.line = (NI16)(p.info.line + ((NI16) 1));
			parseline_217149((&p));
		} LA2: ;
	}
	newline_217047((&p));
	result = p.outp;
	llstreamclose_177310(p.inp);
	return result;
}
예제 #4
0
N_NIMCALL(void, closebaselexer_178045)(Tbaselexer178024* L) {
	nimfr("closeBaseLexer", "nimlexbase.nim")
	nimln(71, "nimlexbase.nim");
	dealloc_6048(((void*) ((*L).buf)));
	nimln(72, "nimlexbase.nim");
	llstreamclose_177310((*L).stream);
	popFrame();
}
예제 #5
0
N_NIMCALL(Tllstream177204*, filterstrip_216012)(Tllstream177204* stdin_216014, NimStringDesc* filename, Tnode190813* call) {
	Tllstream177204* result;
	NimStringDesc* pattern;
	NIM_BOOL leading;
	NIM_BOOL trailing;
	NimStringDesc* line;
	result = 0;
	pattern = strarg_216029(call, ((NimStringDesc*) &TMP1422), ((NI) 1), ((NimStringDesc*) &TMP1423));
	leading = boolarg_216038(call, ((NimStringDesc*) &TMP1426), ((NI) 2), NIM_TRUE);
	trailing = boolarg_216038(call, ((NimStringDesc*) &TMP1427), ((NI) 3), NIM_TRUE);
	result = llstreamopen_177220(((NimStringDesc*) &TMP1423));
	line = rawNewString(((NI) 80));
	{
		while (1) {
			NIM_BOOL LOC3;
			NimStringDesc* stripped;
			LOC3 = 0;
			LOC3 = llstreamreadline_177610(stdin_216014, (&line));
			if (!LOC3) goto LA2;
			stripped = nsuStrip(line, leading, trailing);
			{
				NIM_BOOL LOC6;
				LOC6 = 0;
				LOC6 = ((pattern ? pattern->Sup.len : 0) == ((NI) 0));
				if (LOC6) goto LA7;
				LOC6 = nsuStartsWith(stripped, pattern);
				LA7: ;
				if (!LOC6) goto LA8;
				llstreamwriteln_177686(result, stripped);
			}
			goto LA4;
			LA8: ;
			{
				llstreamwriteln_177686(result, line);
			}
			LA4: ;
		} LA2: ;
	}
	llstreamclose_177310(stdin_216014);
	return result;
}