kavak 0.1.0 · MIT · WASM-ready

kavak is an embeddable
frontend toolkit in C.

kavak provides the reusable frontend pieces behind small language implementations: borrowed source buffers, descriptor-driven lexing, Pratt expression parsing, AST and type arenas, diagnostics, scope lookup, and flow-sensitive narrowing.

current build

The core is now open-source ready. Native tests, examples, ASan/UBSan, TSan, install dry-run, and the WASM static archive build pass locally. The Unicode path links against the sibling decoder library, so browser targets use the same scalar classification as native builds.

surface C API source, token, diagnostic, parser, AST, type, and sema primitives
runtime native static library build with decoder-backed Unicode predicates
target WASM browser-oriented archive for language sandboxes

Descriptor model: languages provide keyword, operator, comment, string, number, offside, and auto-semicolon rules, then attach parser and semantic hooks where the grammar needs language-specific behavior.