C++ pattern-matching

Open-source C++ projects categorized as pattern-matching

Top 6 C++ pattern-matching Projects

  • C++ Actor Framework

    An Open Source Implementation of the Actor Model in C++

  • Project mention: C++ Jobs - Q3 2023 | /r/cpp | 2023-07-04

    CAF

  • Mach7

    Functional programming style pattern-matching library for C++

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Fastest_Image_Pattern_Matching

    C++ implementation of a ScienceDirect paper "An accelerating cpu-based correlation-based image alignment for real-time automatic optical inspection"

  • matchit.cpp

    match(it): A lightweight single-header pattern-matching library for C++17 with macro-free APIs.

  • matcheroni

    A minimalist single-header library for building pattern-matchers, lexers, and parsers.

  • Project mention: Matcheroni, a tiny C++20 header library for building lexers/parsers | /r/regex | 2023-07-06
  • hypergrep

    Recursively search directories for a regex pattern

  • Project mention: Ugrep – a more powerful, ultra fast, user-friendly, compatible grep | news.ycombinator.com | 2023-12-30

    Another issue with Hyperscan is that if you enable HS_FLAG_UTF8[1], which hypergrep does[2,3], and then search invalid UTF-8, then the result is UB.

    > This flag instructs Hyperscan to treat the pattern as a sequence of UTF-8 characters. The results of scanning invalid UTF-8 sequences with a Hyperscan library that has been compiled with one or more patterns using this flag are undefined.

    That's another issue you'll need to grapple with if you use Hyperscan. PCRE2 used to have this issue[4], but they've since defined the semantics of searching invalid UTF-8 with Unicode mode enabled. ripgrep 14 uses that new mode, but I haven't updated that FAQ answer yet.

    [1]: https://intel.github.io/hyperscan/dev-reference/api_files.ht...

    [2]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...

    [3]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...

    [4]: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#why...

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ pattern-matching related posts

Index

What are some of the best open-source pattern-matching projects in C++? This list will help you:

Project Stars
1 C++ Actor Framework 3,102
2 Mach7 1,270
3 Fastest_Image_Pattern_Matching 663
4 matchit.cpp 519
5 matcheroni 193
6 hypergrep 164

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com