Add pure C89 Peppermint interpreter

This commit is contained in:
Hermes Agent
2026-08-17 23:07:09 +00:00
commit 6feabea6cb
5 changed files with 678 additions and 0 deletions
Executable
+27
View File
@@ -0,0 +1,27 @@
#!/bin/sh
set -eu
make clean
make
output=$(./peppermint smoke.ppm argument)
expected='hello peppermint
argument'
if [ "$output" != "$expected" ]; then
printf '%s\n' "unexpected smoke output:" "$output" >&2
exit 1
fi
cat > /tmp/peppermint-c89-test.ppm <<'EOF'
let a := 7
let b := a * 3
b + 2
@env:PEPPERMINT_TEST_MISSING
EOF
output=$(PEPPERMINT_TEST_MISSING= ./peppermint /tmp/peppermint-c89-test.ppm)
expected='23
None'
if [ "$output" != "$expected" ]; then
printf '%s\n' "unexpected arithmetic output:" "$output" >&2
exit 1
fi
printf '%s\n' 'C89 smoke tests passed'