Matcheroni, a tiny C++20 header library for building lexers/parsers
Howdy HN, as part of my ongoing programming language experiments I've ended up creating my own C++20 lexing and parsing library of sorts. Matcheroni is an alternative to parser generators and regular expressions that uses trees of C++ templates to implement highly customizable lexers and parsers that have minimal impact on build times or binary sizes, while still remaining comparable in performance to Boost regular expressions. The repo includes two example projects - a simple regex parser in ~300 heavily documented lines of code, and a much larger but not quite finished C99 lexer and…
Matcheroni, a tiny C++20 header library for building lexers/parsers launched on July 6, 2023 with 96 votes, #698 of 4,347 launches that month and more than 90% of that year's launches. The site was still online in September 2026, 3 years on.
In plain words
Matcheroni is a C++20 header library for building lexers and parsers as an alternative to traditional parser generators and regular expressions. It uses C++ templates to create customizable parsers with minimal build time and binary size impact while maintaining performance comparable to Boost regex. The library includes example projects such as a regex parser and a C99 lexer, designed for developers working on programming language experiments or compiler-related work.
written from the facts on this page · September 2026
From the sources
A minimalist single-header library for building pattern-matchers, lexers, and parsers. - aappleby/matcheroni
In the maker’s words, at launch
Howdy HN, as part of my ongoing programming language experiments I've ended up creating my own C++20 lexing and parsing library of sorts. Matcheroni is an alternative to parser generators and regular expressions that uses trees of C++ templates to implement highly customizable lexers and parsers that have minimal…
Does a similar job
all alternatives →
Match(it): A C++17 pattern-matching library with lots of good stuffs2022 · github.com · ▲85A lightweight single-header pattern-matching library for C++17 with macro-free APIs. Try it at https://godbolt.org/z/8YMr8Kz8j
Compile-time HTML parsing in C++142017 · github.com · ▲175A C++ HTML template engine that uses compile time HTML parsing - rep-movsd/see-phit
Regex.ai – AI-powered regular expression generator2023 · regex.ai · ▲294Regex.ai is an AI-powered tool that generates regular expressions. It can accurately generate regular expressions that match specific patterns in text with precision. Whether you're a novice or an expert, Regex.ai's intuitive interface makes it easy to input sample text and generate complex regular expressions quickly and efficiently. Overall, Regex.ai is a game-changer that will save you time and streamline your workflow.
LLMs can generate valid JSON 100% of the time2023 · github.com · ▲854Outlines is a Python library that focuses on text generation with large language models. Brandon and I are not LLM experts and started the project a few months ago because we wanted to understand better how the generation process works. Our original background is probabilistic, relational and symbolic programming. Recently we came up with a fast way to generate text that matches a regex (https://blog.normalcomputing.ai/posts/2023-07-27-regex-guide...). The basic idea is simple: regular expressions have an equivalent Deterministic-Finite Automaton (DFA) representation. We…

Yantra – an LALR(1) parser generator for C++22d ago · github.com · ▲33A C++ parser generator: lexer, parser, and AST generation in one tool. - TantrixAuto/yantra
More dev tools this month
the category →

open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 28d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 26d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 24d ago · openbot.run

Contribute to oosexgang/hackios-xnu-kernel development by creating an account on GitHub.
Dev tools · 14h ago · github.com
Talanoa▲346Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 21d ago · talanoa.email
Source: Show HN post ↗ · launch text quoted in part
Launched alongside, July 2023
the whole month →

Hey everyone, I here is a small open-source project I've been working on lately. I'd love to hear your thoughts and improvement ideas :) GitHub: [github.com/Vincenius/workout-lol](https://github.com/Vincenius/workout-lol)
Dev tools · 2023 · workout.lol
- HN
I saw this [0] pretty cool thread by user revskill, and wanted a quicker way to search through it, but also to keep them all in one place so I can read them at my leisure whenever I get time. Right now is like 60 lines of Ruby using Nokogiri, but I will certainly look into it further down the line and improve the list. There's a cronjob checking the thread every 12 hours but I will eventually shut that down and it will become static after that. There are some really awesome blogs in there. I really recommend going through the list, it made my day. [0] "Could you share your personal blog…
Life & fun · 2023 · dm.hn


Anytype is built on the open-source AnySync protocol: a local-first protocol based on CRDTs. Users of Anytype can create spaces - graph-based databases with modular UI. Each space has unique access rights. Today, Anytype's beta is in single-player mode. Multiplayer mode, which will support local-first collaboration between multiple users, will be launched in the first half of 2024. Anytype fulfils the seven ideals of local first software from here - https://www.inkandswitch.com/local-first/ , our team felt these things are important to all of us: • No spinners: your work…
Commerce · 2023 · anytype.io
