Add direct SWI-Prolog Tree-sitter FFI #111
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!111
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/94-tree-sitter-ffi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements issue #94 as the first source-analysis slice.
libtree-sitterthrough a small C FLI layerRuntime invariant
The C layer owns only Tree-sitter mechanics and native lifetime. Project/file facts, language detection, CST projection, query packs, semantic normalization, SPEC, and VERIFY remain Prolog concerns. Adding another compatible grammar must not require language-specific C code.
No Python, Node, Nim, subprocess parser service, or language-specific semantic visitor is introduced.
Verification
The branch has a dedicated
Tree-sitter FFIworkflow that installs SWI-Prolog, the Tree-sitter development package, and packaged generated grammar sources; builds the foreign library and fixture grammars; runs the focused PlUnit suite; and checks the exact commit diff for whitespace errors.The repository's normal PR workflow remains the canonical full deterministic/live merge gate. Merge is allowed only for the exact final head after both workflows pass.
Follow-up
#95 owns the declarative Project/File/Language/grammar registry above this mechanical layer. #96-#99 own versioned CST facts, queries/captures, semantic normalization, and incremental freshness respectively.
Closes #94