Languages FAQ โ
How do languages plug in? โ
As Language table data: symbols, matchers, LR tables, fields, metadata. See Language Definition.
Is the runtime tied to one language? โ
No โ the engine only calls table lookups and matchers. Four bundled grammars exist for tests and examples: the expression grammar (expression_language), an s-expression grammar (sexp_language) demonstrating aliases, a JSON grammar (json_language), and an indentation-sensitive outline grammar (outline_language) demonstrating external scanners.
What are external scanners for? โ
Context-sensitive tokens (indentation, heredocs) via Zig callbacks. See External Scanners.
What ABI versions are accepted? โ
13โ15; anything else is IncompatibleAbiVersion at setLanguage time.
