From 1e4bf42350a2145081224e4610312bc65566ad5c Mon Sep 17 00:00:00 2001 From: EliteTK Date: Mon, 24 Feb 2014 21:28:46 +0000 Subject: More cleanup --- fuck.c | 85 ------------------------------------------------------------------ 1 file changed, 85 deletions(-) delete mode 100644 fuck.c (limited to 'fuck.c') diff --git a/fuck.c b/fuck.c deleted file mode 100644 index 2ea57b5..0000000 --- a/fuck.c +++ /dev/null @@ -1,85 +0,0 @@ -// WARNING: THIS PROGRAM PRODUCES CODE THAT ALLOWS UNRESTRICTED MEMORY ACCESS. -// USE AT YOUR OWN RISK!!!!!!!!!!!! -// This program takes input from stdin and outputs on stdout and stderr (for errors) - -#include - -#define rightAngle "++ptr;\n" // right angle bracket -#define leftAngle "--ptr;\n" // left angle bracket -#define plus "++*ptr;\n" // plus -#define minus "--*ptr;\n" // minus -#define period "putchar(*ptr);\n" // period -#define comma "*ptr = getchar();\n" // comma -#define leftSquare "while (*ptr) {\n" // left square bracket -#define rightSquare "}\n" // right square bracket - -#define indent " " - -void autoIndent(int); - -int main( int argc, char *argv[] ) { - int indentLevel = 1; - printf("// Generated with TK's \"fuck\" brainfuck to C parser.\n"); - printf("#include\n"); - printf("#include\n"); - printf("\n"); - printf("int main() {\n"); - printf(" char *ptrt;\n"); - printf(" ptrt = calloc(1000, sizeof(char));\n"); - printf(" char *ptr;\n"); - printf(" ptr = ptrt;\n"); - printf(" // The following is directly parsed\n"); - - char c; - while ( ( c = getchar() ) != EOF ) { - switch (c) { - case 62: - autoIndent(indentLevel); - printf(rightAngle); - break; - case 60: - autoIndent(indentLevel); - printf(leftAngle); - break; - case 43: - autoIndent(indentLevel); - printf(plus); - break; - case 45: - autoIndent(indentLevel); - printf(minus); - break; - case 46: - autoIndent(indentLevel); - printf(period); - break; - case 44: - autoIndent(indentLevel); - printf(comma); - break; - case 91: - autoIndent(indentLevel); - indentLevel++; - printf(leftSquare); - break; - case 93: - indentLevel--; - autoIndent(indentLevel); - printf(rightSquare); - break; - } - } - printf(" // Closing cleanup\n"); - printf(" free(ptrt);\n"); - printf(" putchar('\\n');\n"); - printf(" return 0;\n}\n"); - if (--indentLevel) - fprintf( stderr, "Incorrect number of brackets. - Error parsing file.\n"); - return 0; -} - -void autoIndent(int levels) { - int i; - for (i = 0; i < levels; i++) - printf(indent); -} -- cgit v1.2.3-54-g00ecf