Brainfush

827
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
827
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide



















































  • Brainfush

    1. 1. @ USP 2010-08-28 / @takano32 <tak@no32.tk> / UNIX
    2. 2. @takano32 / TAKANO Mitsuhiro UNIX / Linux Ruby committer (IA-64 maintainer) the Earth and the Internet
    3. 3. JANOG 26 LL Tiger * in WEB
    4. 4. @yusukebe
    5. 5. + = ...
    6. 6. Brainf*ck
    7. 7. Brainf*ck C
    8. 8. Brainf*ck
    9. 9. “>” ptr++; “<“ ptr--;
    10. 10. “+” (*ptr)++; *ptr = *ptr + 1; “-” (*ptr)--; *ptr = *ptr - 1;
    11. 11. “.” putchar(*ptr); “,” *ptr = getchar();
    12. 12. “[“ while(*ptr) { “]” }
    13. 13. Hello World +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+.
    14. 14. e +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. H l o
    15. 15. l, m, n, o +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. l o
    16. 16. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 ptr
    17. 17. 8 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 ptr
    18. 18. 11 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 11 ptr
    19. 19. 5 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 9 8 11 5 ptr
    20. 20. 9→8 +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 8 8 11 5 ptr
    21. 21. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 7 16 22 10 ptr
    22. 22. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 6 24 33 15 ptr
    23. 23. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 5 32 44 20 ptr
    24. 24. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 4 40 55 25 ptr
    25. 25. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 3 48 66 30 ptr
    26. 26. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 2 56 77 35 ptr
    27. 27. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 1 64 88 40 ptr
    28. 28. +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 99 45 ptr
    29. 29. “H” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 99 45 ptr
    30. 30. “e” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 101 45 ptr
    31. 31. “l”, “l” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 108 45 ptr
    32. 32. “o” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 111 45 ptr
    33. 33. “,” +++++++++[>++++++++>+++++++++++>++++ +<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.++ +.------.--------.>+. 0 72 111 44 ptr
    34. 34. “Hello,”
    35. 35. Web
    36. 36. Brainf*ck Brainf*ck → s/^(.*)ck$/¥1sh/
    37. 37. Brainfush
    38. 38. Brainfush Brainf*ck
    39. 39. → → Brainf*ck
    40. 40. “>” PTR=$(($PTR + 1)) “+” VAL=VAL_$PTR VAL=$(($VAL)) eval VAL_$PTR=$(($VAL + 1))
    41. 41. “.” VAL=VAL_$PTR VAL=$(($VAL)) OCH=`echo “obase=8; $VAL” |bc` OCH=`echo “¥0OCH”` /bin/echo -n “$OCH”
    42. 42. “[“ VAL=VAL_$PTR VAL=$(($VAL)) while [ “VAL” != “0” ]; do “]” VAL=VAL_$PTR VAL=$(($VAL)); end
    43. 43. Brainf*ck
    44. 44. /bin/sh bf2sh.sh < hello.bf Brainf*ck → /bin/sh bf2sh.sh < hello.bf | /bin/sh Brainf*ck

    ×