SNAPKITTYWEST's picture
push from SNAPKITTYWEST/sovereign-ide
ffc07fb verified
|
Raw History Blame Contribute Delete
1.52 kB
# Layer 4 — Incremental Parser (15000 lines target)
## What This Layer Does
Tree-sitter / GLR incremental parser with error recovery. Parses the rope from
Layer 3 into a concrete syntax tree (CST). Re-parses only changed regions on
each keystroke — O(edit size * grammar size), not O(file size).
## Repos That Contribute
| Repo | What to pull |
|------|-------------|
| **snapkitty-resonance-isa** | Abjad VM IR bytecode — maps directly to parser stack machine |
| **snapkitty-resonance-bridge** | proof→SUBLEQ encoding — extract as parser IR substrate (EXTRACT) |
| **j-matrix-twin** | SUBLEQ attention + WASM (EXTRACT) — alternative parser substrate for browser |
| **systemic-intelligence** | GLR skeleton in OCaml section |
## What to Build First
1. Grammar representation — rule table, terminal/nonterminal IDs (use Layer 0 intern)
2. GLR parse table — state machine over the grammar
3. Incremental reparse — diff the rope edit, re-enter parser at affected range
4. Error recovery — skip/insert tokens, maintain partial tree
5. SUBLEQ substrate port — from j-matrix-twin for WASM browser path
6. Abjad VM IR — from snapkitty-resonance-isa as the hot-path parser stack
## Key Design Constraints
- CST nodes in Layer 0 arena; GC via arena reset between full reparses
- Edit regions from Layer 3 rope trigger incremental reparse only
- Grammar tables are WORM-sealed after load (bifrost pattern from Layer 0)
- Parser must run in O(n log n) worst case, not O(n^2)