Mercurial > repo
changeset 7597:644b7c83ac9d
<Moon_> fetch http://pastebin.com/raw/wGAUV3ER
author | HackBot |
---|---|
date | Thu, 28 Apr 2016 22:51:18 +0000 |
parents | 10def4fcf030 |
children | c4e28cb2e8e0 |
files | wGAUV3ER |
diffstat | 1 files changed, 54 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wGAUV3ER Thu Apr 28 22:51:18 2016 +0000 @@ -0,0 +1,54 @@ +#include <stdio.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + + +// initialize the tape with 30,000 zeroes +unsigned long long int tape[30000] = {0}; +unsigned long long int registrar[3] = {0}; // R1, R2, and R3 +// set the pointer to point at the left-most cell of the tape +unsigned long long int* ptr = tape; + + + +void interpret(char* input) { + char current_char; + size_t i; + size_t i2; + size_t i3; + size_t loop; + int i4; + time_t t; + srand((unsigned) time(&t)); + for (i = 0; input[i] != 0; i++) { + current_char = input[i]; + + i4 = rand() % 7; + if (i4 == 0) { + ++ptr; + } else if (i4 == 1) { + --ptr; + } else if (i4 == 2) { + ++*ptr; + } else if (i4 == 3) { + --*ptr; + } else if (i4 == 4) { + putchar(*ptr); + } else if (i4 == 5) { + + *ptr = getchar(); + + } else if (i4 == 6) { + continue; + } + // More commands to come, the CIOL specs are not done + } +} + + +int main( int argc, char *argv[] ) { + + interpret(argv[1]); // outputs input + return 0; +} \ No newline at end of file