C++ Parser

Open-source C++ projects categorized as Parser

Top 23 C++ Parser Projects

  • LIEF

    LIEF - Library to Instrument Executable Formats

  • Diagon

    Interactive ASCII art diagram generators. :star2:

    Project mention: Architecture diagrams enable better conversations | news.ycombinator.com | 2023-08-22

    A few more ASCII-based tool that you could add into your workflow are https://arthursonzogni.com/Diagon/#Sequence which can be used to generate the ASCII that you input into something like Typogram (https://google.github.io/typograms/).

    For example, input:

      Renderer -> Browser: BeginNavigation()

  • SonarCloud

    Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.

  • tomlplusplus

    Header-only TOML config file parser and serializer for C++17.

    Project mention: how to handle config files in c++? | /r/cpp_questions | 2023-03-06

    Unless you want to make your own config file parser as an exercise (which is a good idea) I'd recommend using toml++.

  • verible

    Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server

    Project mention: How to instance module with auto-completion for verilog in neovim? | /r/neovim | 2023-08-25

    I want to write Verilog/SystemVerilog with neovim(I use Lazyvim,nvim-lspconfig,mason.nvim, mason-lspconfig.nvim and nvim-cmp) . Now I use Verible to format and lint. But it seems that it cannot complete the signals when I want to instance a module and type a "." . So is there a better way to interconnect modules?

  • quick-lint-js

    quick-lint-js finds bugs in JavaScript programs

    Project mention: Which LSP Server for Python and JavaScript? | /r/neovim | 2023-04-06
  • lexy

    C++ parsing DSL

    Project mention: Show HN: Matcheroni, a tiny C++20 header library for building lexers/parsers | news.ycombinator.com | 2023-07-06
  • toml11

    TOML for Modern C++

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

  • Vince's CSV Parser

    A modern C++ library for reading, writing, and analyzing CSV (and similar) files. (by vincentlaucsb)

  • ada

    WHATWG-compliant and fast URL parser written in modern C++

    Project mention: ARM vs. Intel on Amazon’s Cloud: A URL Parsing Benchmark | news.ycombinator.com | 2023-03-01

    When I see the word "benchmark" and don't see a methodology I get a little wary.

    In this case the author ran a custom benchmark from one of their projects. https://github.com/ada-url/ada/blob/main/benchmarks/wpt_benc...

    To be clear I'm not questioning the benchmark's accuracy or author's bona fides, but that post was a little short for my taste.

  • ExprTK

    C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html

    Project mention: A Cpp library to evaluate mathematical literal expressions dynamically | /r/cpp_questions | 2023-02-09

    I have found many libraries that can evaluate mathematical expressions, e.g. this one: https://www.partow.net/programming/exprtk/index.html

  • psychec

    A compiler frontend for the C programming language

  • rapidyaml

    Rapid YAML - a library to parse and emit YAML, and do it fast.

    Project mention: A convenient C string API, friendly alongside classic C strings. | /r/programming | 2022-12-03

    The inability, or brittleness, to embed NUL bytes into the string, for once. Zeroed bytes can be valid as an internal bytes of a longer encoded character. And the inefficiency of tempting every caller to rederive the string length on every use, leading to such bugs as quadratic parsing behavior with sscanf. The extra register for an explicit length is a very minute price to pay compared to that.

  • JPEGsnoop

    JPEGsnoop: JPEG decoder and detailed analysis

    Project mention: The long road to recover Frogger 2 source from tape drives | news.ycombinator.com | 2023-05-24

    Are they really JPEGs and MP3s, or just bitrot?

    I've found https://github.com/ImpulseAdventure/JPEGsnoop useful to fix corruption but I haven't come across a non-standard JFIF JPEG unless it was intentionally designed to accommodate non-standard features (alpha channel etc).

  • Lyra

    A simple to use, composable, command line parser for C++ 11 and beyond (by bfgroup)

  • ntfstool

    Forensics tool for NTFS (parser, mft, bitlocker, deleted files)

    Project mention: Why did dd zero on disk left partition intact? | /r/computerforensics | 2023-02-08
  • muparser

    muparser is a fast math parser library for C/C++ with (optional) OpenMP support.

    Project mention: How exactly would you go about writing a program to simplify algebraic expressions? | /r/cpp_questions | 2023-01-20

    https://beltoforion.de/en/muparser/ is a good example of such a parser.

  • Surelog

    SystemVerilog 2017 Pre-processor, Parser, Elaborator, UHDM Compiler. Provides IEEE Design/TB C/C++ VPI and Python AST & UHDM APIs. Compiles on Linux gcc, Windows msys2-gcc & msvc, OsX (by chipsalliance)

  • vmime

    VMime Mail Library

  • hdlConvertor

    Fast Verilog/VHDL parser preprocessor and code generator for C++/Python based on ANTLR4

  • argumentum

    C++ command line parsing library

  • 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
  • maddy

    C++ Markdown to HTML header-only parser library (by progsource)

    Project mention: OSD600 Lab 8 | dev.to | 2022-11-11

    Since I offloaded my markdown parsing to maddy, I did not test for it because it was not my own code. As a result, it was difficult to find parts that I could test. I mostly created my test cases for end to end testing. Since the number of things to test for is always numerous, I ended up finding a few things I could test for. But, I definitely am not satisfied with the number of tests I currently have and will be adding more in the future.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

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). The latest post mention was on 2023-08-25.

C++ Parser related posts


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

Project Stars
1 LIEF 3,845
2 Diagon 1,281
3 tomlplusplus 1,193
4 verible 1,008
5 quick-lint-js 935
6 lexy 854
7 toml11 828
8 Vince's CSV Parser 752
9 ada 539
10 ExprTK 517
11 psychec 471
12 rapidyaml 455
13 JPEGsnoop 443
14 Lyra 422
15 daw_json_link 386
16 ntfstool 366
17 muparser 352
18 Surelog 295
19 vmime 256
20 hdlConvertor 245
21 argumentum 177
22 Matcheroni 176
23 maddy 149
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.