aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/bf.c
diff options
context:
space:
mode:
author lemon<lsof@mailbox.org>2025-11-16 12:11:18 +0100
committer lemon<lsof@mailbox.org>2025-11-16 12:11:18 +0100
commit111e71e1511b2abff9176bd6c714c8da796f770e (patch)
tree352b723c9144c844037447bd865a8366378df7a5 /test/bf.c
parentb0c0f2d2d885c5901de08ed08dba9fff079bf6e3 (diff)
basic automated testing
Diffstat (limited to 'test/bf.c')
-rw-r--r--test/bf.c45
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]);
-}