nowfound

Dev tools · alternatives · 2026

24 alternatives to Zig parser in ~70 lines of JavaScript

I wanted something lighter than zig autodoc so I've implemented (and golfed a bit) a custom parser using parser combinators in JS. It's not 100% correct and it's also not meant to be, all I care about is if it can parse my own Zig code, not any valid Zig code. There are also some bugs, and I don't intend to support, nor develop this much further, consider it vaporware which you are free to fork and use it for something, or just have some fun reading the code and figuring out how it works (I certainly had a lot of fun implementing it - no LLMs, so it was a nice exercise too). BTW: I know it's…

This is a lightweight Zig parser written in approximately 70 lines of JavaScript using parser combinators. It was created as a simpler alternative to Zig's autodoc tool and is designed to parse the creator's own Zig… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.

  1. 1

    A minimal RISC-V 32-bit OS written in Zig. Contribute to botirkhaltaev/pico-os development by creating an account on GitHub.

    2025 · github.com · its alternatives →

  2. 2

    Hi friends, I started casually working on scrapscript in 2015. I built a few compilers over the years to test out various ideas/implementations, and I think I'm finally happy with the overall design. The code is not public yet. Email me at [email protected] if you're interested in joining the core team later this year. Let me know if you have any questions or feedback :)

    2023 · scrapscript.org · its alternatives →

  3. 3

    Hi HN! Thanks for your attention to my post. It was a big challenge to run most of Node.js packages in browser, fast moreover. Virtual File system, resolve import/export. I got cold many times, depressions, burned out, yet still alive and finished it. Many guys helped me with an advice. Many users give a lot of positive feedback. There are 200,000 monthly unique users. I work full time now because of the freemium business model. To be honest - I am happy after many years of hard work.

    2022 · playcode.io · its alternatives →

  4. 4ZB

    I created this a year or so ago but recently made updates and I thought people might like to know that it exists. I made this to easily send links or text to someone else verbally, like over the phone or over voice chat (which is what I made it for). The goal is to be able to tell the link to someone else without being ambiguous or needing to spell it out, so I grabbed the words off a Grade 5 level dictionary. I understand that the domain itself doesn’t qualify but I’m trying to get a better domain.

    2013 · zigg.be · its alternatives →

  5. 5

    👨‍🚀 buzz, A small/lightweight statically typed scripting language - buzz-language/buzz

    2022 · github.com · its alternatives →

  6. 6

    Minimalist, dependency-free virtual machine sandbox for microcontrollers and other resource-constrained devices. Single C file, no dynamic memory allocations, asynchronous design, pure C99 - ringtailsoftware/uvm32

    Dec 2025 · github.com · its alternatives →

  7. 7

    I believe the best way to learn a language is by doing an in-depth project. This is my first Zig project intended for learning the ropes on publishing a Zig package. It turns out to be quite solid and performant. It might be a bit over-engineered. This little library is packed with the following features: - Building dependency graph from dependency data. - Performing topological sort on the dependency graph. - Generating dependence-free subsets for parallel processing. - Cycle detection and cycle reporting.

    2025 · github.com · its alternatives →

  8. 8

    Very low footprint DOM-style JSON parser written in portable ANSI C - json-parser/json-parser

    2012 · github.com · its alternatives →

  9. 9AA

    I am a big fan of Rust since it provides great tooling and allows me to write code with lots of confidence that it will work reliably. But sometimes I hate it, too. It takes more time to write code in Rust and some things are pretty difficult to prop...

    2023 · blog.lohr.dev · its alternatives →

  10. 10

    🗿 Mini jQuery alternative. Dependency-free animations. Locality of Behavior. Use one element or arrays transparently. Pairs with htmx. Vanilla querySelector() but better! - gnat/surreal

    2023 · github.com · its alternatives →

  11. 11ZD

    Hi everyone, I've made an open-source library for using design by contract (DbC) principles in the Zig programming language. It's called Zig-DbC, and it currently provides the following features: - A simple API to define preconditions, postconditions, and invariants. - Contracts are active in `Debug`, `ReleaseSafe`, and `ReleaseSmall` modes to catch bugs early. - All checks are removed at compile time in `ReleaseFast` mode for zero performance cost. - An optional mode to handle partial state changes in functions that return errors. - Transparent error handling that propagates errors from…

    2025 · its alternatives →

  12. 12AS

    Took a stab at building my own string diffing JS package. I built an interactive demo for TypeIt’s website (https://typeitjs.com/build-your-own) a while back. The approach I took to handle user input necessitated a way to calculate the difference between the versions of a user’s text input. I searched around for a package to help me out and found a couple of good ones (like fast-diff), but I either didn’t really like their API or didn’t want to take on a huge new dependency. Instead, I thought I’d give it a shot myself (famous last words). I dove into it having no real formal…

    2022 · its alternatives →

  13. 13

    Doing dynamic dispatching in a strict static typing language is hard. Something as simple as, map.put("add", add); map.put("hello", hello); fn add(a: i32, b: i32) i32 { return a + b; } fn hello() []const u8 { return "Hello World"; } is impossible because the value type of key/value of the map needs to be the same but all the function types are different. Calling functions with different number of parameters, different parameter types, and different return type dynamically is difficult. Other languages either use dynamic typing, runtime reflection, macro, or passing in one big generic…

    2025 · github.com · its alternatives →

  14. 14

    Minimal self-hosted JavaScript compiler in 1k lines of code - maierfelix/mini-js

    2017 · github.com · its alternatives →

  15. 15

    Wrote this to learn more about the `chumsky` parser combinator library, rustyline, and the `ariadne` error reporting crate. Such a nice DX combo for writing new languages. Still a work in progress, but I thought I'd share :)

    2025 · github.com · its alternatives →

  16. 16

    Hi everybody, this was my project to learn Zig and RISC-V+x86_64 assembly. Not sure if anybody is actually interested in yet another Brainfuck compiler, so I'll just write up some random things I learned while building it! - A primitive assembly stitching compiler is 10x faster than the interpreter. Did not expect that. - The generated x86 code is really bad (e.g. it always uses 6 or 7 byte sized instructions with 32-bit immediates when there are much smaller ones) but it doesn't really matter. Good code generated by GCC and clang for transpiled Brainfuck->C is not much faster as it's…

    2025 · github.com · its alternatives →

  17. 17ZA

    Hi everyone, I've made an early version of ZigFormer, a small LLM implemented in Zig with no dependencies on external ML frameworks like PyTorch or JAX. ZigFormer is modelled after a textbook LLM (like GPT-2 from OpenAI) and can be used as a Zig library as well as a standalone application to train a model and chat with it. This was mainly an educational project. I'm sharing it here in case others find it interesting or useful. Link to the project: https://github.com/CogitatorTech/zigformer

    Nov 2025 · its alternatives →

  18. 18

    My implementation of Thorsten Bell's book (Writing an Interpreter in Go) - actuallyachraf/monkey-giggle

    2020 · github.com · its alternatives →

  19. 19

    First time ever working on something like this, check it out

    2024 · github.com · its alternatives →

  20. 20

    Hey HN, We’re excited to announce Zant v0.1, an open-source TinyML SDK built in Zig, designed to optimize and deploy neural networks on resource-constrained devices. Unlike existing solutions, Zant focuses on performance, portability, and ease of integration, making it a strong alternative for anyone working on Edge AI and embedded ML. Why Zant? Most TinyML frameworks are either too high-level (requiring bloated runtimes) or too low-level (requiring extensive manual optimization). Zant bridges the gap by offering: - A lightweight but powerful code generation system to translate ML models…

    2025 · github.com · its alternatives →

  21. 21IB

    Hi everyone, I recently built a tool called Ziggy. Ziggy is a alternative to tools like Typeform except Ziggy uses AI to ask dynamic questions like you would ask when doing an interview with a user with some pretty powerful analytics. It's completely open source and was made to help save time and money doing 1-on-1 interviews with a lot of users in a short amount of time. We're also looking for any and all feedback so let me know what you think! Give it a try here by doing a feedback survey for Ziggy: https://www.useziggy.com/zy/MtAp-d7ebzylr

    2024 · useziggy.com · its alternatives →

  22. 22

    An example of how to use parser combinators with Express for routing. - dhruvio/js_express-parser-combinators

    2017 · github.com · its alternatives →

  23. 23

    JSON parser that supports self reference and comments - serkanyersen/jsonplus

    2015 · github.com · its alternatives →

  24. 24

    Hey HN! I built Gojju, a programming language that cherry-picks my favorite features from 5 languages: - Python: List comprehensions, slicing - Ruby: #{interpolation}, postfix if, blocks - Haskell: |> pipe operator, lambdas \x -> x+1, Maybe/Either - Perl: unless/until, regex literals - JavaScript: Arrow functions =>, spread ... Example: [1, 2, 3, 4, 5] |> filter(\x -> x % 2 == 0) |> map(\x -> x * 2) |> sum Install: `pip install gojju` The name "Gojju" (ಗೊಜ್ಜು) means "essence" or "secret ingredient" in Kannada. Would love feedback on the syntax choices!

    Jan 2026 · hemanth.github.io · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →