diff options
| author | 2025-11-16 12:11:18 +0100 | |
|---|---|---|
| committer | 2025-11-16 12:11:18 +0100 | |
| commit | 111e71e1511b2abff9176bd6c714c8da796f770e (patch) | |
| tree | 352b723c9144c844037447bd865a8366378df7a5 /test/bf.c | |
| parent | b0c0f2d2d885c5901de08ed08dba9fff079bf6e3 (diff) | |
basic automated testing
Diffstat (limited to 'test/bf.c')
| -rw-r--r-- | test/bf.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/test/bf.c b/test/bf.c deleted file mode 100644 index 8eb7af3..0000000 --- a/test/bf.c +++ /dev/null @@ -1,45 +0,0 @@ -unsigned char M[1<<15]; - -void bf(const char *p) -{ - extern int putchar(int); - extern int getchar(void); - unsigned char *Mend = M + sizeof M; - int b; - unsigned char *m = M; - - while (*p) { - switch (*p) { - case '+': ++*m; break; - case '-': --*m; break; - case '<': if (m == M) m = Mend; else --m; break; - case '>': if (m == Mend) m = M; else ++m; break; - case '.': putchar(*m); break; - case ',': *m = getchar(); break; - case '[': - if (*m) break; - b = 0; - do switch (*p++) { - case '[': ++b; break; - case ']': --b; break; - case 0: return; - } while (b != 0); - continue; - case ']': - if (!*m) break; - b = 0; - do switch (*p--) { - case '[': ++b; break; - case ']': --b; break; - case 0: return; - } while (b != 0); - break; - } - ++p; - } -} - -int main(int argc, char **argv) { - const char *p = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."; - bf(argc < 2 ? p : argv[1]); -} |