C Parser

Open-source C projects categorized as Parser

Top 23 C Parser Projects

  • inih

    Simple .INI file parser in C, good for embedded systems

    Project mention: Simply Parse in C | news.ycombinator.com | 2023-07-19

    This looks interesting. I created and maintain a library for INI parsing that got surprisingly popular -- it's tiny, so is good for embedded systems. This API has a very similar feel to mine, including the callback for every key/value pair with a void* userdata. https://github.com/benhoyt/inih

  • parson

    Lightweight JSON library written in C.

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

  • md4c

    C Markdown parser. Fast. SAX-like interface. Compliant to CommonMark specification.

    Project mention: obsidian alternative? zettelkasten | /r/suckless | 2023-05-05

    Also, any decent editor paired with a markdown renderer like md4c. Use the editor you already use for other things. It probably can be extended for markdown.

  • mini-c

    Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours

  • lwesp

    Lightweight and versatile AT parser library for ESP8266 and ESP32 devices.

  • jsonlite

    A Robust, High Performance JSON Parser and Generator for R (by jeroen)

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

  • tree-sitter-markdown

    A markdown grammar for tree-sitter

    Project mention: How to pass environment variables to treesitter grammar | /r/NixOS | 2023-07-27

    The markdown treesitter grammar accepts environment variables when building to tweak it's behavior. How can I pass these? Currently I am using

  • tiny-json

    The tiny-json is a versatile and easy to use json parser in C suitable for embedded systems. It is fast, robust and portable.

  • packcc

    A parser generator for C

    Project mention: PackCC a PEG parser generator for C | news.ycombinator.com | 2023-01-02
  • tree-sitter-bash

    Bash grammar for tree-sitter

    Project mention: Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit | /r/emacs | 2023-05-19

    (use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))

  • libconfini

    Yet another INI parser

    Project mention: An INI Critique of TOML | news.ycombinator.com | 2023-09-21
  • zsv

    zsv+lib: world's fastest (simd) CSV parser, bare metal or wasm, with an extensible CLI for SQL querying, format conversion and more

    Project mention: Analyzing multi-gigabyte JSON files locally | news.ycombinator.com | 2023-03-18

    If it could be tabular in nature, maybe convert to sqlite3 so you can make use of indexing, or CSV to make use of high-performance tools like xsv or zsv (the latter of which I'm an author).

    https://github.com/BurntSushi/xsv

    https://github.com/liquidaty/zsv/blob/main/docs/csv_json_sql...

  • sqlite-createtable-parser

    A parser for SQLite create table sql statements.

    Project mention: A C parser for CREATE and ALTER TABLE SQLite statements | /r/hypeurls | 2023-08-16
  • pl0c

    Self-hosting PL/0 to C compiler to teach basic compiler construction from a practical, hands-on perspective.

    Project mention: The Super Tiny Compiler | news.ycombinator.com | 2023-03-02

    > Some compilers tokenize while parsing, but for a different reason: it's faster and uses less memory to generate the AST

    And some don't even generate an AST. :) Just read in and emit or interpret.

    https://briancallahan.net/blog/20210814.html

  • gherkin

    A parser and compiler for the Gherkin language. (by cucumber)

    Project mention: Is BDD alive in C++ ? | /r/cpp | 2023-05-30

    I would not recommand the C++ version of Cucumber because as you mentioned it's deprecated for a while now. However, if you still want to use the Cucumber syntax, you can rely on the [C gherkin parser](https://github.com/cucumber/gherkin/tree/main/c)

  • tree-sitter-html

    HTML grammar for Tree-sitter

    Project mention: Emacs and Java Development: Corfu + Cape + LSP-Mode + Treesit | /r/emacs | 2023-05-19

    (use-package treesit :ensure nil :custom ;; Some stuff taken from here: https://robbmann.io/posts/emacs-treesit-auto/ (treesit-extra-load-path '("/usr/lib64/")) (treesit-language-source-alist '((bash . ("https://github.com/tree-sitter/tree-sitter-bash")) (c . ("https://github.com/tree-sitter/tree-sitter-c")) (c++ . ("https://github.com/tree-sitter/tree-sitter-cpp")) (csharp . ("https://github.com/tree-sitter/tree-sitter-c-sharp")) (css . ("https://github.com/tree-sitter/tree-sitter-css")) (elixir ("https://github.com/elixir-lang/tree-sitter-elixir")) (html . ("https://github.com/tree-sitter/tree-sitter-html")) (java . ("https://github.com/tree-sitter/tree-sitter-java")) (javascript . ("https://github.com/tree-sitter/tree-sitter-javascript")) (json . ("https://github.com/tree-sitter/tree-sitter-json")) (lua . ("https://github.com/Azganoth/tree-sitter-lua")) (makefile . ("https://github.com/alemuller/tree-sitter-make")) (org . ("https://github.com/milisims/tree-sitter-org")) (python . ("https://github.com/tree-sitter/tree-sitter-python")) (tsx . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")) (typescript . ("https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src")) (ruby . ("https://github.com/tree-sitter/tree-sitter-ruby")) (rust . ("https://github.com/tree-sitter/tree-sitter-rust")) (sql . ("https://github.com/m-novikov/tree-sitter-sql")) (toml . ("https://github.com/tree-sitter/tree-sitter-toml")) (yaml . ("https://github.com/ikatyang/tree-sitter-yaml")))) (major-mode-remap-alist '((c-mode . c-ts-mode) (c++-mode . c++-ts-mode) (csharp-mode . csharp-ts-mode) (css-mode . css-ts-mode) (html-mode . html-ts-mode) (java-mode . java-ts-mode) (js-mode . js-ts-mode) (json-mode . json-ts-mode) (makefile-mode . makefile-ts-mode) ;; (org-mode . org-ts-mode) ;; not mature yet (python-mode . python-ts-mode) (typescript-mode . typescript-ts-mode) (ruby-mode . ruby-ts-mode) (rust-mode . rust-ts-mode) (toml-mode . toml-ts-mode) (yaml-mode . yaml-ts-mode))) (treesit-auto-fallback-alist '((toml-ts-mode . conf-toml-mode) (typescript-ts-mode . nil) (tsx-ts-mode . nil))) (treesit-font-lock-settings t) (treesit-simple-indent t) (treesit-defun-type-regexp t)) (use-package treesit-auto :demand t :config (setq treesit-auto-install t) (global-treesit-auto-mode))

  • cmark

    💧 Elixir NIF for cmark (C), a parser library following the CommonMark spec, a compatible implementation of Markdown.

  • serd

    A lightweight C library for RDF syntax

  • stutter

    Implement a Lisp, in C, from scratch, no libs (by mkirchner)

  • FastFEC

    An extremely fast FEC filing parser written in C

  • ravi-compiler

    Parser and compiler for Ravi and Lua

  • tree-sitter-tlaplus

    A tree-sitter grammar for TLA⁺ and PlusCal

    Project mention: Writing a TLA⁺ tree-sitter grammar: my foray into free software | news.ycombinator.com | 2023-01-12

    Not an emacs person myself (yet!) - Carl Thuringer created tla-mode that apparently uses the grammar: https://github.com/carlthuringer/tla-mode

    Haven't tested it out myself. Happy to take any PRs if emacs needs its own set of query files; they would live in https://github.com/tlaplus-community/tree-sitter-tlaplus/tre... and they can be added to CI runs to ensure they stay in sync with changes to the parser.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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-09-21.

C Parser related posts

Index

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

Project Stars
1 inih 2,183
2 parson 1,260
3 md4c 642
4 mini-c 471
5 lwesp 413
6 link-grammar 372
7 jsonlite 359
8 tree-sitter-markdown 300
9 tiny-json 297
10 packcc 270
11 tree-sitter-bash 171
12 libconfini 147
13 zsv 144
14 sqlite-createtable-parser 132
15 pl0c 116
16 gherkin 106
17 tree-sitter-html 99
18 cmark 94
19 serd 77
20 stutter 70
21 FastFEC 68
22 ravi-compiler 60
23 tree-sitter-tlaplus 48
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com