The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Lexer Open-Source Projects
-
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.
-
csstree
A tool set for CSS including fast detailed parser, walker, generator and lexer based on W3C specs and browser implementations
-
verible
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server
-
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.
-
graphql-go-tools
GraphQL Router / API Gateway framework written in Golang, focussing on correctness, extensibility, and high-performance. Supports Federation v1 & v2, Subscriptions & more.
-
ExprTK
C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html
-
RE-flex
A high-performance C++ regex library and lexical analyzer generator with Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors, lazy quantifiers, functions for lex and syntax error reporting and more. Seamlessly integrates with Bison and other parsers. (by Genivia)
-
lexer
A lexical analyzer based on DFA that is built using JS and supports multi-language extensions / 一个基于DFA的支持多语言扩展的JS版开源词法分析器
-
lazy-json
🐼 Framework-agnostic package to load JSON of any dimension and from any source into Laravel lazy collections recursively.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I am using Flex++, which is Flex for C++ and I am having trouble setting the input file. Flex++ uses the FlexLexer class provided in FlexLexer.h to create the lexer object(https://github.com/westes/flex/blob/master/src/FlexLexer.h). In my main function I have
I know of tools like Kaitai that do essentially what I want, just curious about my options. I guess something like https://github.com/alecthomas/participle could work to parse the format, then I'd have to generate code based on the parsed data or something
This is mighty impressive! I've been trying to get some motivation for the mythical rewrite of the proc macro in Logos, and this might just do it for me :D. I'll have a proper look later today and see if any of your findings have something that can be generalized. Also really surprised to see aarch64 doing better than x86_64 since the latter is what I've been optimizing for!
Project mention: Ohm: A library and language for building parsers, interpreters, compilers, etc. | news.ycombinator.com | 2023-10-31How does this compare with Chevrotain[1]?
More specifically, can I build lexers with Ohm? Can it generate a syntax diagram from a grammar?
[1]: https://github.com/chevrotain/chevrotain
After thinking about the problem for a while I realised that I could enlist the help of CSSTree to do some of the work. The CSS Analyzer is based on CSSTree's AST, so I know how the thing works and the dependency is already on the page, so no need to download more dependencies. Prettier + Postcss cost almost 340kB to download, which isn't huge, but it would be nice if we could reduce that amount.
Project mention: Architecture diagrams enable better conversations | news.ycombinator.com | 2023-08-22A 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()
Project mention: How to instance module with auto-completion for verilog in neovim? | /r/neovim | 2023-08-25I 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?
Project mention: Scaling GraphQL Subscriptions in Go with Epoll and Event Driven Architecture | dev.to | 2024-03-04If you're interested in the full implementation of the resolver, you can find it on GitHub.
Project mention: Grmtools – Grammar and Parsing Libraries for Rust | news.ycombinator.com | 2023-05-05
Hello everybody, happy to share that Lazy JSON has been released.
Project mention: A command line tool that converts GraphQL schemas to Karate API tests | /r/csharp | 2023-04-29GraphQL-Parser for parsing GraphQL schemas into an AST to work with
Project mention: Matcheroni, a tiny C++20 header library for building lexers/parsers | /r/regex | 2023-07-06
Lexer related posts
- Scaling GraphQL Subscriptions in Go with Epoll and Event Driven Architecture
- 🐼 Lazy JSON: load JSON of any size into Lazy Collections
- GraphQL Router / API Gateway Framework Written in Golang
- Cosmo Router: High Performance Federation v1 & v2 Router / Gateway
- Parser generator
- WunderGraph Cosmo: a open source alternative to Apollo Federation, GraphOS, Studio, etc...
- Introducing Open Federation - a MIT-Licensed specification to build federated GraphQL APIs
-
A note from our sponsor - WorkOS
workos.com | 24 Apr 2024
Index
What are some of the best open-source Lexer projects? This list will help you:
Project | Stars | |
---|---|---|
1 | flex | 3,428 |
2 | participle | 3,303 |
3 | logos | 2,620 |
4 | Chevrotain | 2,392 |
5 | csstree | 1,835 |
6 | Diagon | 1,426 |
7 | verible | 1,185 |
8 | libfsm | 897 |
9 | moo | 802 |
10 | graphql-go-tools | 635 |
11 | JFlex | 574 |
12 | ExprTK | 566 |
13 | edge | 551 |
14 | php-parser | 513 |
15 | RE-flex | 483 |
16 | grmtools | 470 |
17 | Melang | 413 |
18 | CSLY | 334 |
19 | lexer | 323 |
20 | lazy-json | 231 |
21 | parser | 211 |
22 | phplrt | 206 |
23 | matcheroni | 193 |
Sponsored