Dev tools · alternatives · 2026
24 alternatives to I built a parser and lexer generator for Go
Lox is a parser and lexer generator for Go. Heavily inspired on ANTLR on the surface (combined parser and lexer, action code separated from grammar), but more similar to yacc on the internals (LR(1), dependency-free parser). I'm especially proud of the type-safe Go action generation where the reduce-artifact's Go type is determined by the user-action's return type, and then used to match and verify its use in other productions.
Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.
- 1

This started as a hard requirement for my TUI-based editor application, it ended up going in a few different directions. A suite of tools that help with semantic code entities: https://github.com/odvcencio/gts-suite A next-gen version control system called Got: https://github.com/odvcencio/got I think this has some pretty big potential! I think there's many classes of application (particularly legacy architecture) that can benefit from these kinds of analysis tooling. My next post will be about composing all these together, an exciting project I call…
Feb 2026 · github.com · its alternatives →
- 2

I spent the past 2 weeks making this toy programming language. I basically forked the Go scanner/parser, and changed the syntax to have functions return a single value. This enable proper Result/Option type to be used as well as propagating errors with an operator. I also wanted to have short "type inferred" anonymous functions to be able to use functions like Map/Reduce/Filter, without having to use 100 characters to specify the types.
2025 · github.com · its alternatives →
- 3
- 4

A C++ parser generator: lexer, parser, and AST generation in one tool. - TantrixAuto/yantra
22d ago · github.com · its alternatives →
- 5

A BASIC interpreter written in golang. Contribute to skx/gobasic development by creating an account on GitHub.
2018 · github.com · its alternatives →
- 6

Hey all, I just wanted to share a project I've been working on for the past month. After years of heavy frameworks, I really like the idea of using htmx, but it’s a little too low level for me and needs a thin layer above it to facilitate things like components, better syntax with complex JS inside of an attribute, etc To try and solve this problem with a very minimal stack (golang + htmx) that I've been really enjoying, I'm building this project to cater to my needs and was thinking it would be useful for other developers.
2024 · htmgo.dev · its alternatives →
- 7

An example of PEG usage. Contribute to sebcat/move-literals development by creating an account on GitHub.
2016 · github.com · its alternatives →
- 8

A minimalist type-inferred programming language with procedural macro support - murisi/L2
2017 · github.com · its alternatives →
- 9

I've just released gosax, a new Go library for high-performance SAX (Simple API for XML) parsing. It's designed for efficient, memory-conscious XML processing, drawing inspiration from quick-xml and pkg/json. https://github.com/orisano/gosax Key features: - Read-only SAX parsing - Highly efficient parsing using techniques inspired by quick-xml and pkg/json - SWAR (SIMD Within A Register) optimizations for fast text processing gosax is particularly useful for processing large XML files or streams without loading the entire document into memory. It's well-suited…
2024 · github.com · its alternatives →
- 10

Define and run pattern-based custom linting rules. - quasilyte/go-ruleguard
2020 · github.com · its alternatives →
- 11

My implementation of Thorsten Bell's book (Writing an Interpreter in Go) - actuallyachraf/monkey-giggle
2020 · github.com · its alternatives →
- 12

A hackable and extensible lexer, parser and interpreter for a minimalistic, imperative, C-like language. - bbu/simple-interpreter
2015 · github.com · its alternatives →
- 13

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 →
- 14

Hi HN, I built MOL, a domain-specific language for AI pipelines. The main idea: the pipe operator |> automatically generates execution traces — showing timing, types, and data at each step. No logging, no print debugging. Example: let index be doc |> chunk(512) |> embed("model-v1") |> store("kb") This auto-prints a trace table with each step's execution time and output type. Elixir and F# have |> but neither auto-traces. Other features: - 12 built-in domain types (Document, Chunk, Embedding, VectorStore, Thought, Memory, Node) - Guard assertions: `guard answer.confidence > 0.5 : "Too low"` -…
Feb 2026 · github.com · its alternatives →
- 15

Hi HN, I wanted to share my very first (insignificant) project written in Go: a little CLI tool that displays messages with an animated bunny holding a sign. I wanted to learn Go and needed a small, fun project to get my hands dirty with the language and the process of building and distributing a CLI. I've built a similar tool in JavaScript before so I thought porting it would be a great learning exercise. This was a dive into Go's basics for me, from package structure and CLI flag parsing to building binaries for different platforms (never did that on my JS projects). I'm starting to…
2025 · github.com · its alternatives →
- 16

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 →
- 17

Build cross-platform modern desktop apps in Go + HTML5 - zserge/lorca
2018 · github.com · its alternatives →
- 18

A go-lang library to help build self documenting command line applications. - jwaldrip/odin
2014 · github.com · its alternatives →
- 19

Learn how to write Rules Engines with CLIPS in your browser! I found the Tour of Go super useful when learning Go, so I went for something similar for evangelizing the awesomeness of CLIPS. A few things I'm proud of with this project: - No front-end frameworks - Compiled WASM binary; your code isn't sent to a back-end server - Code editor/syntax highlighter written from scratch (that I'm sure you'll find bugs in ;)) This is my first attempt at this, and I'd like to expand on it in the future. Let me know what you think! About CLIPS: CLIPS is a programming language useful for building…
2022 · ryjo.codes · its alternatives →
- 20

Config parser for go, modeled after Nginx format, Nice lenient syntax with Comments - lytics/confl
2015 · github.com · its alternatives →
- 21

Strict static analyzer for Go — designed for LLM-written code. Zero external linter dependencies. - mentasystems/gox
May 2026 · github.com · its alternatives →
- 22

A minimalist type-inferred programming language with procedural macro support - murisi/L2
2018 · github.com · its alternatives →
- 23

A lisp-looking language with interpreter and compiler to JS - mcapodici/badlanguage
2018 · github.com · its alternatives →
- 24

I built Resrap, a Go package that takes a grammar in ABNF format and generates infinitely long sequences of syntactically correct code...either completely randomly or with seeds for a deterministic generation. ABNF is a modified version of EBNF(https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_f...) I made for this project, basically means you can specify when generating code 20% of lines will be if{} blocks and 50% will be while{} blocks which allows for more natural code generation, plus support for infinite generation of code. It’s very fast...it generated ~40…
2025 · resrap.osdc.dev · 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 →