common-lisp: Phase 1 reader + 62 tests (141 total)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled

lib/common-lisp/parser.sx — cl-read/cl-read-all: lists, dotted
pairs (a . b) → cons dict, quote/backquote/unquote/splice as
wrapper lists, #' → FUNCTION, #(…) → vector dict, #:foo →
uninterned dict, NIL→nil, T→true, integer radix conversion
(#xFF/#b1010/#o17). Floats/ratios kept as annotated dicts.

lib/common-lisp/tests/parse.sx — 62 tests, all green.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-25 18:15:07 +00:00
parent 13d0ebcce8
commit bcf6057ac5
4 changed files with 386 additions and 1 deletions

View File

@@ -43,6 +43,7 @@ for FILE in "${FILES[@]}"; do
cat > "$TMPFILE" <<EPOCHS
(epoch 1)
(load "lib/common-lisp/reader.sx")
(load "lib/common-lisp/parser.sx")
(epoch 2)
(load "$FILE")
(epoch 3)
@@ -75,6 +76,7 @@ EPOCHS
cat > "$TMPFILE2" <<EPOCHS
(epoch 1)
(load "lib/common-lisp/reader.sx")
(load "lib/common-lisp/parser.sx")
(epoch 2)
(load "$FILE")
(epoch 3)