Skip to content

Architecture โ€‹

Each subsystem directory owns a facade re-exported by src/treesitter.zig: core/core.zig, memory/memory.zig, parser/parser.zig, lexer/lexer.zig, tree/tree.zig, language/language.zig, query/query.zig, input/input.zig, unicode/unicode.zig, debug/debug.zig, utils/utils.zig. Internal files are imported relatively; the dependency direction utils โ†’ core โ†’ memory โ†’ input/unicode โ†’ language โ†’ tree โ†’ lexer โ†’ parser โ†’ query is load-bearing โ€” core must never import parser or query. The one deliberate exception is the tree โ†” node handle/pool split, which Zig's lazy file evaluation tolerates. Keep new code inside the subsystem that owns its data.

Architecture, Source Layout

Released under the MIT License.