apl: end-to-end pipeline apl-run + 25 source-string tests (400/400)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m7s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 1m7s
apl-run = parse-apl + apl-eval-ast against empty env. Wires tokenizer + parser + transpile + runtime as one entry point. test.sh now loads tokenizer.sx + parser.sx alongside transpile.sx. Source-string tests cover scalars, strands, dyadic arith, right-to-left precedence, monadic primitives, /, \, ⌈/, ×/, ∘.×, +.×, ⍴, comparisons, classic one-liners. Tokenizer doesn't yet handle decimal literals (3.7 → 3 . 7), so two such tests substituted with integer min/max-reduce.
This commit is contained in:
@@ -19,6 +19,8 @@ cat > "$TMPFILE" << 'EPOCHS'
|
||||
(epoch 1)
|
||||
(load "spec/stdlib.sx")
|
||||
(load "lib/apl/runtime.sx")
|
||||
(load "lib/apl/tokenizer.sx")
|
||||
(load "lib/apl/parser.sx")
|
||||
(load "lib/apl/transpile.sx")
|
||||
(epoch 2)
|
||||
(eval "(define apl-test-pass 0)")
|
||||
@@ -35,6 +37,7 @@ cat > "$TMPFILE" << 'EPOCHS'
|
||||
(load "lib/apl/tests/system.sx")
|
||||
(load "lib/apl/tests/idioms.sx")
|
||||
(load "lib/apl/tests/eval-ops.sx")
|
||||
(load "lib/apl/tests/pipeline.sx")
|
||||
(epoch 4)
|
||||
(eval "(list apl-test-pass apl-test-fail)")
|
||||
EPOCHS
|
||||
|
||||
Reference in New Issue
Block a user