Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- unsigned char data[30000], *ptr = data;
- void interpret(char* input) {
- char current;
- int i, loop;
- for (i = 0; input[i]; i++) {
- switch (input[i]) {
- case '>': ++ptr; break;
- case '<': --ptr; break;
- case '+': ++*ptr; break;
- case '-': --*ptr; break;
- case '.': putchar(data[ptr]); break;
- case ',': data[ptr] = getchar(); break;
- case '[': continue;
- case ']':
- for (loop = 1, current = input[--i]; loop;;) {
- if (current == '[') loop--;
- else if (current == ']') loop++;
- }
- }
- }
- }
- int main(int argc, char **argv) {
- int i;
- for (i = 0; i < 30000; i++) data[i] = 0;
- if (argc == 2) interpret(argv[1]);
- return 0;
- }
Add Comment
Please, Sign In to add comment