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.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • 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)

  • 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
  • tree-sitter-markdown

    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: A glimpse into the universe where Windows died with the 1980s | news.ycombinator.com | 2024-03-12

    There are languages with perfectly clean grammars which can't be parsed by yacc because they aren't LALR(1).

    I agree that a command processor should have a grammar that can be expressed in a well-known formalism, and its parser generated by a parser generator.

    I agree that both POSIX shell and CMD.EXE are flawed because that isn't true.

    What I'm disagreeing with, is that it is important that the grammar formalism be LALR(1) in particular, and that the parser generator be yacc in particular.

    Suppose I have a Packrat parser generator. [0] And my command processor has a nice clean PEG grammar. And I use the Packrat parser generator to generate the parser of my command processor. That grammar quite possibly isn't LALR(1), and hence yacc in particular won't be able to generate a parser for it. But what's the problem with that? If it is a problem at all, it is a very different problem than the problem that CMD.EXE and POSIX shell have

    [0] e.g. https://github.com/arithy/packcc

  • tree-sitter-bash

    Bash grammar for tree-sitter

  • Project mention: Ask HN: What are some unpopular technologies you wish people knew more about? | news.ycombinator.com | 2023-12-02

    (1) Zulip Chat - https://zulip.com/ - seems to be reasonably popular, but more people should know about it

    I’ve been using it for over 5 years now [1], and it’s as good as ever. It’s way faster than any other chat app I’ve used. It has a good UI and conversation model. It has a simple and functional API that lets me curl threads and write blog posts based on them.

    (only problem is that I Ctrl-+ in my browser to make the font bigger – I think it’s too dense for most people)

    (2) re2c regex to state machine compiler - https://re2c.org

    A gem from the 90’s, which people have done a great job maintaining and improving (getting Go and Rust target support in the last few years). I started using it in 2016, and used for a new program a few months ago. I came to the conclusion that it should have been built into C, because C has shitty string processing – and Ken Thompson both invented C AND brought regular languages to computing !!

    In comparison, treesitter lexers are very low level, fiddly, and error prone. I recently saw dozens of ad hoc fixes to the tree-sitter-bash lexer, which is unsurprising if you look at the structure of the code (manually crawling through backslashes and braces in C).

    https://github.com/tree-sitter/tree-sitter-bash/blob/master/...

    These fixes are definitely appreciated, but I think it indicates a problem with the model itself.

    (based on https://lobste.rs/s/endspx/software_you_are_thankful_for#c_y...)

    [1] https://www.oilshell.org/blog/2018/04/26.html

  • zsv

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

  • libconfini

    Yet another INI parser

  • Project mention: Why the fuck are we templating YAML? (2019) | news.ycombinator.com | 2024-01-23

    Personally I prefer INI over nearly all configuration formats.

    https://github.com/madmurphy/libconfini/wiki/An-INI-critique...

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

  • 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
  • tree-sitter-php

    PHP grammar for tree-sitter

  • pl0c

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

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

  • 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-go-template

    Golang template grammar for tree-sitter

  • Project mention: adding go html template highlight in lazyvim | /r/neovim | 2023-06-19

    I followed the instructions for https://github.com/ngalaiko/tree-sitter-go-template and replaced `yml` injection with `html` injection.

  • SaaSHub

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

    SaaSHub logo
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 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,307
2 parson 1,302
3 md4c 719
4 mini-c 479
5 lwesp 433
6 link-grammar 383
7 jsonlite 369
8 tree-sitter-markdown 351
9 tiny-json 336
10 packcc 314
11 tree-sitter-bash 187
12 zsv 170
13 libconfini 155
14 gherkin 146
15 sqlite-createtable-parser 131
16 tree-sitter-php 130
17 pl0c 122
18 tree-sitter-html 117
19 serd 81
20 stutter 73
21 FastFEC 73
22 ravi-compiler 63
23 tree-sitter-go-template 60

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