Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std.stdio;
- import std.conv;
- enum string program = "-[--->+<]>-.[---->+++++<]>-.+.++++++++++.+[---->+<]>+++.-[--->++<]>-.++++++++++.+[---->+<]>+++.[-->+++++++<]>.++.-------------.[--->+<]>---..+++++.-[---->+<]>++.+[->+++<]>.++++++++++++..---.[-->+<]>--------.>++++++++++.++[++++>---<]>.-[->++++<]>.++[->+++<]>.-[--->+<]>--.+[->+++<]>+.++++++++.--.+++++.-------.-[--->+<]>--.-[--->++<]>--.-------.--[--->+<]>-.+++[->+++<]>.--[--->+<]>-.[->+++<]>++.[--->+<]>----.+++[->+++<]>++.++++++++.+++++.--------.-[--->+<]>--.+[->+++<]>+.++++++++.-[++>---<]>+.[->+++<]>++.+++.--.--.--[--->+<]>.--.++++[->+++<]>.--[--->+<]>-.-[--->++<]>-.[--->+<]>---.+[->+++<]>.--.+++++++++++++.[++>---<]>++.[->+++<]>-.[---->+<]>+++.---[->++++<]>-.++++[->+++<]>..--[--->+<]>-.--[->++++<]>-.+[->+++<]>.-------.--[--->+<]>-.[---->+<]>+++.---[->++++<]>.------------.+.++++++++++.+[---->+<]>+++.---[->++++<]>-.-----------.+.+++++++++++.[---->+<]>+++.+[->+++<]>+.+++++++++++.----------.[--->+<]>----.+[++>---<]>.";
- void main()
- {
- ubyte[1000] memory;
- int pointer = 0;
- int[] loops;
- for(int ip = 0; ip < program.length; ip++) {
- auto c = program[ip];
- switch(c) {
- case '+':
- memory[pointer]++;
- break;
- case '-':
- memory[pointer]--;
- break;
- case '>':
- pointer++;
- break;
- case '<':
- pointer--;
- break;
- case '[':
- loops ~= ip;
- break;
- case ']':
- if(memory[pointer] > 0)
- ip = loops[$ - 1];
- else
- loops.length--;
- break;
- case '.':
- write(to!char(memory[pointer]));
- break;
- case ',':
- memory[pointer] = cast(ubyte)getchar();
- break;
- default:
- break;
- }
- }
- getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement