Mercurial > repo
view waDs9gmT @ 7599:f14bb5b9c8eb
<oerjan> addquote <Phantom_Hoover> man i just realised esolangs are subject to the inverse wadler\'s law <Phantom_Hoover> nobody \x02ever\x0f cares about lexical syntax, let alone comments
author | HackBot |
---|---|
date | Thu, 28 Apr 2016 23:31:24 +0000 |
parents | 136a16f35a09 |
children |
line wrap: on
line source
#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; for (i = 0; input[i] != 0; i++) { current_char = input[i]; srand((unsigned) time(&t)); 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; }