Кресты / Говнокод #9680 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
#include <iostream>
#define caseop(op, code) case op: code; break;
#define clamp(a, lo, hi) (a < lo) ? (a = lo) : (a > hi) ? (a = hi) : a;
void main(int argc, char* args[]) {
	FILE *srcfile = fopen(argc > 1 ? args[1] : "", "r");
	(!srcfile) ? exit(0) : fseek(srcfile, 0, SEEK_END);
	unsigned char bytes[1024], *byte = bytes;
	int x = ftell(srcfile), bs = sizeof(bytes);
	rewind(srcfile);
	char *source = new char[x + 1], *token = source, *ret = token;
	fread(source, sizeof(char), x, srcfile);
	memset(&bytes, source[x] = (char)fclose(srcfile), bs--);
	do { 
		switch(*token) {
			caseop('+', ++(*byte));
			caseop('-', --(*byte));
			caseop('.', std::cout << *byte);
			caseop(':', std::cout << (int)*byte);
			caseop(',', std::cin >> *byte);
			caseop('>', clamp(++byte, bytes, &bytes[bs]));
			caseop('<', clamp(--byte, bytes, &bytes[bs]));
			caseop('[', if (*byte == (x = 1) - 1) while ((*token++) && (x += *token == '[' ? 1 : *token == ']' ? -1 : 0)); else ret = token);
			caseop(']', if (*byte) token = ret);
		}
	} while(*token++);
	delete source;
}

Интерпретатор брэинфака

Запостил: hexman hexman, (Updated )

Комментарии (1) RSS

  • э:F)L"C.X.I(R!W,GX D.H)L)Q!G)V.F!X E.F,A"L.L(T:M?E,R"I"C.P"C:U,O,D:U$D?V:AMO(I$Z,X(J R)A.HGR$R)AG O(A:I?JP?C$W:F!S L.G)D:N(U"W!I?O$R:U.SF)O MH!E:L"U$B?X O(D(L,X$T V!N"R,M.E.G$K?KA)V.U(C.G,L)SQ,EUK?Z,Z:Q:DF,G,IA"TL!S?I,F:W(R,L:A"L,O.D.W,U.R(A:L"U)I?L,X$K"R(Q"L:F)H.L.E"E?JY)I?RW?H,E,FH(EJ:D S!J?D:N:P!R Y)T"Q,W,Q(G FR G(Q:P,H.U:X,A!K:O!I$D?A.G)I.C.D O(P$R:F$M$Z L:N?J:S$J.N?V!X:O"G.E.V"X$F"S?D,X.D,X$S"F,C!C!PP"X"Q)J"W"A$C$Z"X E)N)Q,T!T,B.T:N U!TK!W!O(X.Z$IK)A(Z,XJY F.I.V,M,G?S!C,K:K$Q)PM GS GL(DJ"J?U"N:J$Y"H X"R?O,J"J$A"KD(X.K!MB R"G.D.D)O"N$UM)H(M.U S?K?ZB,X(H$F,V S.Y$K(LV?T?X?Q,D,C)HF!D$J?V T(BU?F?HN(F?V!G!CR?J.K F!K)X.D)Y?D:M"H?U?Y.Y!N!J"KD:J"A!A?W"L"B(M"T.O)B:M:C$V M?B)Z:Z!N!L I"T(T$M)O.V$E"N,E:J(B Z(LI(K,Q"B$X"T"L,N.I)L XУFZRJCVMJLMCILQLGLKOSVONFXXSRDHLVEJOEXEKAUNFOFWCEHFSDJTFGVTDPKLVCLKOGZTVSGHNCZAEHSJEIBEXIZFWAFZPNFEXMPBTMXLZKLGAAWJTFNRZQVOKUDBEBLCXKQNMVLVVYQIGFFONJAQLQNRFXZGZKJJZAUVNGYJCMEAEYCNQYEGTLMKUGVVSTAIIOBGOMSBWRLXIKINMBZIILIBGMJEVFKPCYGQFTZWZTVEIMLHN
    Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8