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:
@@ -440,3 +440,5 @@
|
||||
(g (apl-resolve-dyadic g-node env)))
|
||||
(fn (a b) (apl-inner f g a b)))))
|
||||
(else (error "apl-resolve-dyadic: unknown fn-node tag"))))))
|
||||
|
||||
(define apl-run (fn (src) (apl-eval-ast (parse-apl src) {})))
|
||||
|
||||
Reference in New Issue
Block a user