With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more →
Top 23 Parsing Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
CyberChef
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
-
markdown-it
Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
-
ANTLR
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
-
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.
-
MJExtension
A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.
-
PhoneNumberKit
A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
-
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.
Next, install gray-matter to extract metadata from the front matter of markdown files, and marked to convert the markdown files to HTML:
the plugins in the official PostCSS website were old like IE6 or the marquee tag, and
Then we take the encrypted text and use CyberChef to decrypt it.
First, note the method prefix_allowed_tokens_fn. This method applies a Pydantic model to constrain/guide how the LLM generates tokens. Next, see how that constrain can be applied to txtai's LLM pipeline.
Parse it into HTML using markdown-it
Project mention: Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter | news.ycombinator.com | 2024-03-24I learned from a google search that these days upstream tree-sitter provides WebAssembly bindings.
Source: https://github.com/tree-sitter/tree-sitter/tree/master/lib/b...
NPM: https://www.npmjs.com/package/web-tree-sitter
Download from the latest Github release: js file (https://github.com/tree-sitter/tree-sitter/releases/download...) and wasm file (https://github.com/tree-sitter/tree-sitter/releases/download...)
antlr https://github.com/antlr/antlr4
I wrote https://github.com/DoctorWkt/acwj. I'm working on a version with an IR so I can add some optimisations to it. I'd say, yes, have an IR :-)
NetNewsWire is excellent. Clean, responsive, blends into the desktop, and doesn't have memory leak issues like so many macOS RSS readers do. I wish all software could be like it.
Project mention: Which software do you use to create presentations using Vim that is superior to existing ones? | /r/neovim | 2023-12-11I also didn't try this tool but it's called RemarkJS which is named too similar to revealjs.
Focusing again on ESLint, the parser used by the linter is called Espree. This is an in-house parser built by the ESLint folks to fully support ECMAScript 6 and JSX on top of the already existing Esprima. The Espree module provide APIs for both tokenization and parsing that you can easily test out.
Would you consider using some libraries in your project? There are lots of good ones in the Rust ecosystem, and many of them are not part of any existing browsers.
For example:
- https://github.com/servo/html5ever (HTML parsing - note: this is used in Servo)
- https://github.com/parcel-bundler/lightningcss (CSS parsing)
- https://github.com/DioxusLabs/taffy (web layout)
- https://github.com/pop-os/cosmic-text (text layout and rendering)
Obviously you should be free to work on whatever you like, but just as a benchmark on the scope of your project: I spent ~6 months implementing just the CSS Grid algorithm in Taffy last year. An entire browser from literal scratch is probably a 10 year project for one person.
Project mention: Effortlessly Generate Structured Information with Ollama, Zod, and ModelFusion | dev.to | 2024-01-18The ModelFusion zodSchema function wraps the Zod object definition. This is necessary because ModelFusion supports Zod and unchecked JSON schemas and is adaptable to other schema validation libraries such as Valibot.
Project mention: Ohm: A library and language for building parsers, interpreters, compilers, etc. | news.ycombinator.com | 2023-10-31Building an interpreter or a compiler from a grammar is an interesting idea. I can't immediately see how to go about it - the grammar would need to match on SSA or similar.
The examples have a lisp-like interpreter at https://github.com/ohmjs/ohm/blob/main/examples/simple-lisp/... which definitely uses a grammar for parsing and might use a generic AST representation.
Will have to think more - a grammar might be a worthwhile way to specify a nanopass style compiler pipeline.
xml2js to convert XML returns into JSONs.
And some related parser tools: - https://github.com/kevinmehall/rust-peg - https://github.com/pest-parser/pest - https://github.com/lalrpop/lalrpop
Parsing related posts
- Advanced RAG with guided generation
- Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter
- Creating excerpts in Astro
- Parsing PDFs in Node.js
- How to Create a Real-time Public Transportation Schedule App
- Creating an Automated Profile README using Nodejs and GitHub Actions
- Parsing: The Solved Problem That Isn't (2011)
-
A note from our sponsor - SurveyJS
surveyjs.io | 19 Apr 2024
Index
What are some of the best open-source Parsing projects? This list will help you:
Project | Stars | |
---|---|---|
1 | marked | 31,845 |
2 | PostCSS | 28,181 |
3 | CyberChef | 25,384 |
4 | pydantic | 18,521 |
5 | markdown-it | 17,130 |
6 | tree-sitter | 16,380 |
7 | ANTLR | 16,331 |
8 | acwj | 9,819 |
9 | maigret | 9,585 |
10 | MJExtension | 8,512 |
11 | NetNewsWire | 7,842 |
12 | remark | 7,187 |
13 | esprima | 6,962 |
14 | js-yaml | 6,177 |
15 | lightningcss | 5,929 |
16 | x-ray | 5,827 |
17 | valibot | 5,127 |
18 | PhoneNumberKit | 5,013 |
19 | estree | 4,947 |
20 | ohm | 4,871 |
21 | xml2js | 4,813 |
22 | PEG.js | 4,726 |
23 | pest | 4,351 |