SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C Parser Projects
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
-
Project mention: Tbsp – treesitter-based source processing language | news.ycombinator.com | 2024-09-01
The md-to-html demo is a good one, but worth mentioning that the Markdown parser[1] being used may not be suitable for more complex documents. From the README:
> "...it is not recommended to use this parser where correctness is important. The main goal for this parser is to provide syntactical information for syntax highlighting..."
There's also a separate block-level and inline parser, not sure how `tbsp` handles nested or multi-stage parsing.
[1]: https://github.com/tree-sitter-grammars/tree-sitter-markdown
-
-
-
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.
-
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
-
-
Haven't yet seen any of these beat https://github.com/liquidaty/zsv when real-world constraints are applied (e.g. we no longer assume that line ends are always \n, or that there are no dbl-quote chars, embedded commas/newlines/dbl-quotes). And maybe under the artificial conditions as well.
-
-
-
Personally I prefer INI over nearly all configuration formats.
https://github.com/madmurphy/libconfini/wiki/An-INI-critique...
-
-
-
pl0c
Self-hosting PL/0 to C compiler to teach basic compiler construction from a practical, hands-on perspective.
-
-
-
-
-
C Parser discussion
C Parser related posts
-
Removing global state from LLD, the LLVM linker
-
Mastering JSX Editing in Emacs with Tree-sitter
-
A C parser for CREATE and ALTER TABLE SQLite statements
-
A C parser for CREATE and ALTER table SQLite statements
-
A parser for SQLite create table statements now with support for comments
-
How to pass environment variables to treesitter grammar
-
Simply Parse in C
-
A note from our sponsor - SaaSHub
www.saashub.com | 13 Jan 2025
Index
What are some of the best open-source Parser projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | inih | 2,534 |
2 | parson | 1,368 |
3 | md4c | 833 |
4 | mini-c | 521 |
5 | lwesp | 453 |
6 | tree-sitter-markdown | 438 |
7 | link-grammar | 390 |
8 | jsonlite | 381 |
9 | tiny-json | 368 |
10 | packcc | 355 |
11 | tree-sitter-bash | 217 |
12 | zsv | 217 |
13 | gherkin | 198 |
14 | tree-sitter-ruby | 191 |
15 | libconfini | 163 |
16 | tree-sitter-haskell | 161 |
17 | tree-sitter-html | 143 |
18 | pl0c | 138 |
19 | sqlite-createtable-parser | 135 |
20 | tree-sitter-go-template | 92 |
21 | serd | 88 |
22 | stutter | 79 |
23 | libwifi | 74 |