tcl: Phase 1 parser — word-simple? + word-literal helpers (+15 tests, 67 total)

This commit is contained in:
2026-04-25 18:47:34 +00:00
parent 1a17d8d232
commit 6ee052593c
3 changed files with 98 additions and 4 deletions

View File

@@ -17,8 +17,10 @@ cat > "$TMPFILE" << 'EPOCHS'
(epoch 1)
(load "lib/tcl/tokenizer.sx")
(epoch 2)
(load "lib/tcl/tests/parse.sx")
(load "lib/tcl/parser.sx")
(epoch 3)
(load "lib/tcl/tests/parse.sx")
(epoch 4)
(eval "(tcl-run-parse-tests)")
EPOCHS
@@ -26,12 +28,12 @@ OUTPUT=$(timeout 30 "$SX_SERVER" < "$TMPFILE" 2>&1)
[ "$VERBOSE" = "-v" ] && echo "$OUTPUT"
# Result follows an (ok-len 3 N) line
RESULT=$(echo "$OUTPUT" | grep -A1 "^(ok-len 3 " | tail -1)
RESULT=$(echo "$OUTPUT" | grep -A1 "^(ok-len 4 " | tail -1)
if [ -z "$RESULT" ]; then
RESULT=$(echo "$OUTPUT" | grep "^(ok 3 " | sed 's/^(ok 3 //' | sed 's/)$//')
RESULT=$(echo "$OUTPUT" | grep "^(ok 4 " | sed 's/^(ok 3 //' | sed 's/)$//')
fi
if [ -z "$RESULT" ]; then
echo "ERROR: no result from epoch 3"
echo "ERROR: no result from epoch 4"
echo "$OUTPUT" | tail -10
exit 1
fi