Advertisement
szymski

Untitled

Feb 4th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. import std.stdio;
  2. import std.conv;
  3.  
  4. enum string program = "-[--->+<]>-.[---->+++++<]>-.+.++++++++++.+[---->+<]>+++.-[--->++<]>-.++++++++++.+[---->+<]>+++.[-->+++++++<]>.++.-------------.[--->+<]>---..+++++.-[---->+<]>++.+[->+++<]>.++++++++++++..---.[-->+<]>--------.>++++++++++.++[++++>---<]>.-[->++++<]>.++[->+++<]>.-[--->+<]>--.+[->+++<]>+.++++++++.--.+++++.-------.-[--->+<]>--.-[--->++<]>--.-------.--[--->+<]>-.+++[->+++<]>.--[--->+<]>-.[->+++<]>++.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.-[++>---<]>+.[->+++<]>++.+++.--.--.--[--->+<]>.--.++++[->+++<]>.--[--->+<]>-.-[--->++<]>-.[--->+<]>---.+[->+++<]>.--.+++++++++++++.[++>---<]>++.[->+++<]>-.[---->+<]>+++.---[->++++<]>-.++++[->+++<]>..--[--->+<]>-.--[->++++<]>-.+[->+++<]>.-------.--[--->+<]>-.[---->+<]>+++.---[->++++<]>.------------.+.++++++++++.+[---->+<]>+++.---[->++++<]>-.-----------.+.+++++++++++.[---->+<]>+++.+[->+++<]>+.+++++++++++.----------.[--->+<]>----.+[++>---<]>.";
  5.  
  6. void main()
  7. {
  8. ubyte[1000] memory;
  9. int pointer = 0;
  10.  
  11. int[] loops;
  12.  
  13. for(int ip = 0; ip < program.length; ip++) {
  14. auto c = program[ip];
  15.  
  16. switch(c) {
  17. case '+':
  18. memory[pointer]++;
  19. break;
  20.  
  21. case '-':
  22. memory[pointer]--;
  23. break;
  24.  
  25. case '>':
  26. pointer++;
  27. break;
  28.  
  29. case '<':
  30. pointer--;
  31. break;
  32.  
  33. case '[':
  34. loops ~= ip;
  35. break;
  36.  
  37. case ']':
  38. if(memory[pointer] > 0)
  39. ip = loops[$ - 1];
  40. else
  41. loops.length--;
  42. break;
  43.  
  44. case '.':
  45. write(to!char(memory[pointer]));
  46. break;
  47.  
  48. case ',':
  49. memory[pointer] = cast(ubyte)getchar();
  50. break;
  51.  
  52. default:
  53. break;
  54. }
  55. }
  56.  
  57. getchar();
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement