HS parser/compiler/mock: fix 31 test failures across 7 issues

Parser:
- Relax (number? v) to v in parse-one-transition so (expr)unit works
- Add (match-kw "then") before parse-cmd-list in parse-for-cmd
- Handle "indexed by" syntax alongside "index" in for loops
- Add "indexed" to hs-keywords to prevent unit-suffix consumption

Compiler:
- Use map-indexed instead of for-each for indexed for-loops

Test generator:
- Preserve \" escapes in process_hs_val via placeholder/restore

Mock DOM:
- Coerce insertAdjacentHTML values via dom_stringify (match browser)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-18 20:46:01 +00:00
parent 3ba819d9ae
commit be84246961
6 changed files with 379 additions and 76 deletions

View File

@@ -267,10 +267,10 @@
(if
(and (> (len ast) 4) (= (nth ast 4) :index))
(list
(quote for-each)
(quote map-indexed)
(list
(quote fn)
(list (make-symbol var-name) (make-symbol (nth ast 5)))
(list (make-symbol (nth ast 5)) (make-symbol var-name))
body)
collection)
(list