nowfound

Dev tools · July 6, 2023

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.

Visit github.com ↗Alternativestop 16% of July 2023

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 · ▲85

    A 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 · ▲175

    A C++ HTML template engine that uses compile time HTML parsing - rep-movsd/see-phit

  • Regex.ai – AI-powered regular expression generator2023 · regex.ai · ▲294

    Regex.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 · ▲854

    Outlines 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…

  • Regex library2022 · uibakery.io · ▲276

    A curated list of most commonly used regular expressions

  • Yantra – an LALR(1) parser generator for C++22d ago · github.com · ▲33

    A C++ parser generator: lexer, parser, and AST generation in one tool. - TantrixAuto/yantra

More dev tools this month

the category →
  • /dev/null▲490

    a social network for devs

    Dev tools · 4d ago · dev-null.sh

  • 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▲362

    Grok 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▲346

    Hi 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 →
  • Clustr▲1,526

    The reality check for your crypto portfolio

    Commerce · 2023 · clustr.io

  • 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

  • Lazy▲928

    One ⌘ shortcut to capture anything straight to Notion

    AI · 2023 · lazy.so

  • 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

  • n8n 1.0▲786

    Workflow automation for technical people

    Dev tools · 2023 · n8n.io