Releases #
28 packages, most of them a grammar extending another
grammar in this list. Each is released from its own repository, and
publishes to npm as @tabnas/<name> and to Go as
github.com/tabnas/<name>/go.
Everything is pre-1.0. Minor versions can break things, and the engine version leads — grammar packages track the engine release they were built against. Per-repository CI and publish state is on the org status page; release notes live on each repository's GitHub releases tab.
Engine #
Grammar tooling #
| Package | Version | What it does | Links |
|---|---|---|---|
@tabnas/abnf | 0.4.2 | Compile RFC 5234 ABNF straight into a working grammar. | source npm go |
@tabnas/bnf | 0.1.5 | The shared BNF-family compiler behind abnf, ebnf and gbnf. | source npm go |
@tabnas/debug | 0.3.2 | Inspect a live grammar — describe it, render it back as ABNF. | source npm go |
@tabnas/railroad | 0.3.2 | Render railroad (syntax) diagrams from a grammar. | source npm go |
Languages and formats #
| Package | Version | What it does | Links |
|---|---|---|---|
@tabnas/json | 0.5.2 | Standard JSON. | source npm go |
@tabnas/jsonc | 0.5.2 | JSON with comments. | source npm go |
@tabnas/json5 | 0.5.2 | The JSON5 dialect. | source npm go |
@tabnas/jsonic | 0.6.2 | A dynamic JSON parser that isn't strict and can be customised. | source npm go |
@tabnas/yaml | 0.5.2 | YAML. | source npm go |
@tabnas/toml | 0.5.2 | TOML. | source npm go |
@tabnas/ini | 0.5.2 | INI files. | source npm go |
@tabnas/csv | 0.5.2 | Delimited records — CSV, TSV, RFC 4180 quoting — into objects or arrays. | source npm go |
@tabnas/xml | 0.7.2 | XML. | source npm go |
@tabnas/markdown | 0.6.2 | Markdown — the full CommonMark spec, 652/652 on the reference suite. | source npm go |
@tabnas/css | 0.5.2 | CSS, into an AST that preserves declaration order and duplicate properties. | source npm go |
@tabnas/c | 0.5.2 | C source, into a concrete syntax tree — every token, comment, and macro kept as-is. | source npm go |
@tabnas/proto | 0.4.2 | Protocol Buffers .proto IDL (proto2, proto3, editions 2023/2024). | source npm go |
@tabnas/zon | 0.5.2 | Zig Object Notation, as used by build.zig.zon manifests. | source npm go |
@tabnas/feed | 0.6.2 | RSS (0.90–2.0) and Atom (0.3, 1.0), normalised to one Atom-shaped result. | source npm go |
@tabnas/chess | 0.1.3 | PGN and SAN — chess games and moves, tag pairs, variations and annotations. | source npm go |
@tabnas/gbnf | 0.1.4 | llama.cpp GBNF — check text against a constrained-decoding grammar, with no model. | source npm go |
Syntax plugins #
| Package | Version | What it does | Links |
|---|---|---|---|
@tabnas/expr | 0.5.2 | Pratt-parser expressions — infix, prefix, suffix, ternary, with configurable precedence. | source npm go |
@tabnas/directive | 0.5.2 | Directive syntax — token sequences like @name or add<1,2> that trigger custom parsing. | source npm go |
@tabnas/hoover | 0.3.2 | String hoovering — block-delimited strings with unquoted internal spaces. | source npm go |
@tabnas/path | 0.3.2 | Track the property path to each value as it is parsed. | source npm go |
@tabnas/multisource | 0.5.2 | Merge multiple sources into one parse — a marked path is resolved and spliced in place. | source npm go |
Command line #
Following along #
- Watch or star a repository in the tabnas org to get its release notifications.
- What the project will and won't take on is on the FAQ.
- Languages built on the engine are on examples.