Open source at Voxgig

tabnas

An extensible parsing engine, and a compile target for agents.

What it is#

Parser generators produce code, and code you extend by forking. tabnas compiles a grammar into a rule table instead: a state machine as data. To extend a language you add rules to the table, and because the rules are data, an agent can write them as readily as a person can.

One grammar file drives both implementations, TypeScript and Go, so a format parses the same way in both. It ships parsers for JSON, YAML, TOML, CSV, INI, XML, Markdown, CSS, C and Protocol Buffers among others. It also compiles RFC 5234 ABNF, the grammar notation the internet's own standards are written in, straight into a working parser.

It started as jsonic, an attempt at a more forgiving JSON parser, and became an extensible one along the way. It is the parser under the rest of the Voxgig toolchain: apidef reads OpenAPI through it, and aontu is built on it.

Install: npm install @tabnas/parser @tabnas/abnf

The other sections#

  • SDK GeneratorSix surfaces from one OpenAPI description.
  • SDK Catalog600+ generated SDKs, as repositories you can read.
  • aontuType-safe system definitions, as guardrails for coding agents.
  • jostracaA code generator you can run twice.
  • SenecaA microservices toolkit for Node.js.
  • Voxgig toolsThe libraries inside every generated SDK, ported to every language the SDKs ship in.

Start with the code#

Every repository is public. Read it, fork it, or send a pull request. When a project needs to go further than its README, talk to us.

Listen to Fireside, the Voxgig podcast

Since 2018, Richard Rodger has talked with developer advocates, event organizers, and the people who build developer-facing companies about the specifics of the work.