/* bf.c - Don Yang (uguu.org) Brainfuck program to be embedded in akari2.c 12/26/11 */ #include #include int main() { int t[256], p; for(p = 0; p < sizeof(t) / sizeof(t[0]); t[p++] = 0); /* ITSUMO MIRAKURU 73 84 83 85 77 79 32 77 73 82 65 75 85 82 85 32 32 64 65 80 73 77 79 77 73 75 80 84 83 85 82 85 82 85 */ /* BF: ++++[ */ assert(t[0] == 0); t[0] += 4; for(p = 0; t[p]; t[p]--) { /* BF: >++ */ t[1] += 2; /* BF: >++++[ */ assert(t[2] == 0); t[2] += 4; for(p = 2; t[p]; t[p]--) { /* BF: >++ */ t[3] += 2; /* BF: >++++ */ t[4] += 4; /* BF: >+++++[ */ assert(t[5] == 0); t[5] += 5; for(p = 5; t[p]; t[p]--) { /* BF: >+ */ t[6] += 1; /* BF: >+ */ t[7] += 1; /* BF: <<- */ } assert(t[5] == 0); /* BF: ] */ p = 2; /* BF: <<<- */ } assert(t[2] == 0); /* BF: ] */ p = 0; /* BF: <<- */ } assert(t[0] == 0); /* BF: ] */ assert(t[1] == 8); assert(t[2] == 0); assert(t[3] == 32); assert(t[4] == 64); assert(t[5] == 0); assert(t[6] == 80); assert(t[7] == 80); /* BF: >++ */ t[1] += 2; /* BF: >>>+ */ t[4] += 1; /* BF: >++++ */ t[5] += 4; /* BF: >----- */ t[6] -= 5; /* BF: >+++++ */ t[7] += 5; /* BF: <<[ */ assert(t[5] == 4); for(p = 5; t[p]; t[p]--) { assert(t[1] == 10); assert(t[3] == 32); assert(t[4] == 65); assert(t[6] == 75); assert(t[7] == 85); /* BF: >--. */ t[6] -= 2; assert(t[6] == 'I'); putchar(t[6]); /* BF: >-. */ t[7] -= 1; assert(t[7] == 'T'); putchar(t[7]); /* BF: -. */ t[7] -= 1; assert(t[7] == 'S'); putchar(t[7]); /* BF: ++. */ t[7] += 2; assert(t[7] == 'U'); putchar(t[7]); /* BF: <++++. */ t[6] += 4; assert(t[6] == 'M'); putchar(t[6]); /* BF: ++. */ t[6] += 2; assert(t[6] == 'O'); putchar(t[6]); /* BF: <<<. */ assert(t[3] == ' '); putchar(t[3]); /* BF: >>>--. */ t[6] -= 2; assert(t[6] == 'M'); putchar(t[6]); /* BF: ----. */ t[6] -= 4; assert(t[6] == 'I'); putchar(t[6]); /* BF: >---. */ t[7] -= 3; assert(t[7] == 'R'); putchar(t[7]); /* BF: <<<. */ assert(t[4] == 'A'); putchar(t[4]); /* BF: >>++. */ t[6] += 2; assert(t[6] == 'K'); putchar(t[6]); /* BF: >+++. */ t[7] += 3; assert(t[7] == 'U'); putchar(t[7]); /* BF: ---. */ t[7] -= 3; assert(t[7] == 'R'); putchar(t[7]); /* BF: +++. */ t[7] += 3; assert(t[7] == 'U'); putchar(t[7]); /* BF: <<< <<<. */ assert(t[1] == '\n'); putchar(t[1]); assert(t[0] == 0); /* BF: >>>>- */ p = 5; } assert(t[5] == 0); /* BF: ] */ /* MOUSOUCHUU 77 79 85 83 79 85 67 72 85 85 65 67 75 77 79 79 72 85 85 83 85 85 85 */ /* BF: >++. */ t[6] += 2; assert(t[6] == 'M'); putchar(t[6]); /* BF: ++. */ t[6] += 2; assert(t[6] == 'O'); putchar(t[6]); /* BF: >. */ assert(t[7] == 'U'); putchar(t[7]); /* BF: --. */ t[7] -= 2; assert(t[7] == 'S'); putchar(t[7]); /* BF: <. */ assert(t[6] == 'O'); putchar(t[6]); /* BF: >++. */ t[7] += 2; assert(t[7] == 'U'); putchar(t[7]); /* BF: <<<++. */ t[4] += 2; assert(t[4] == 'C'); putchar(t[4]); assert(t[2] == 0); assert(t[5] == 0); /* BF: >>--- ----. */ t[6] -= 7; assert(t[6] == 'H'); putchar(t[6]); /* BF: >.. */ assert(t[7] == 'U'); putchar(t[7]); putchar(t[7]); /* BF: <<< <<<. */ assert(t[1] == '\n'); putchar(t[1]); return 0; }