{"repo":"shreeve/nexus","free":true,"listed":false,"github":"https://github.com/shreeve/nexus","clone":"git clone https://github.com/shreeve/nexus.git","description":"Generate a standalone Zig lexer + LR parser from one grammar file. Self-hosting, no runtime.","language":"Zig","stars":11,"topics":[],"license":null,"category":"self-hosted-apps","readme_excerpt":"Generate a standalone Zig lexer + LR parser from one grammar file. Self-hosting, no runtime. Nexus Nexus reads a .grammar file and emits a single Zig module containing a combined lexer and LR parser — LALR(1) by default, SLR(1) via --slr . Drop the generated parser.zig into your project and build. No parser runtime, no extra support library, no language-specific code in the engine. Nexus is self-hosting: it parses its own grammar format with a parser generated from nexus.grammar itself. The bootstrap is guarded by three CI checks — golden AST snapshots, a fixed-point regeneration test, and a lowerer negative-shape suite — which catch accidental pipeline drift early. Why Nexus Nexus is for language tools that want their entire frontend in Zig without gluing together separate lexer and parser generators or shipping a parser runtime. You write two files: - {lang}.grammar — tokens, lexer states, parser rules, precedence, actions - {lang}.zig — only the language-specific helpers that don't fit declarative rules Nexus emits one combined parser module. The grammar stays the source of truth; the Zig side is an escape hatch, not the center of the design. What you get - Single generated Zig file — vendor it, audit it, ship it - Combined lexer + LR parser — one grammar drives both - LALR(1) default, SLR(1) via --slr — 3× faster generation when you need it, no measured runtime speed difference - Zero-copy 8-byte tokens — no allocations during lexing - Declarative S-expression output — wr","default_branch":null,"files":null,"tree":[],"storefront":"/r/shreeve","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shreeve/nexus/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}