aboutsummaryrefslogtreecommitdiff
path: root/bfc.sh
diff options
context:
space:
mode:
authorElis Eriksson <spelis@spelis.li>2026-06-13 17:40:25 +0200
committerElis Eriksson <spelis@spelis.li>2026-06-13 17:40:25 +0200
commit7ccae1c362a45b28f4fbf96da4f479730e4b382b (patch)
treef59ba4d76221590901784464a03a6a871d774305 /bfc.sh
downloadbfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar.gz
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar.bz2
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar.lz
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar.xz
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.tar.zst
bfc-7ccae1c362a45b28f4fbf96da4f479730e4b382b.zip
Initial Commit, probably needs heavy code cleanup
Diffstat (limited to 'bfc.sh')
-rwxr-xr-xbfc.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/bfc.sh b/bfc.sh
new file mode 100755
index 0000000..4bc87c1
--- /dev/null
+++ b/bfc.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env sh
+
+set -e
+
+BFC="./build/bfc"
+SRC="$1"
+
+if [ -z "$SRC" ]; then
+ echo "usage: $0 <file.bf>" >&2
+ exit 1
+fi
+
+# silently build compiler if missing
+if [ ! -f "$BFC" ]; then
+ make -s || {
+ echo "build failed" >&2
+ exit 1
+ }
+fi
+
+# compile pipeline
+OUT=$(cat "$SRC" | "$BFC")
+
+echo "$OUT" | gcc -o ./bf.out -x c -