queryparser
rhizome
Our great sponsors
queryparser | rhizome | |
---|---|---|
2 | 8 | |
1,066 | 814 | |
0.3% | - | |
0.0 | 1.8 | |
about 2 years ago | almost 3 years ago | |
Haskell | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
queryparser
-
Open Source SQL Parsers
queryparser implements Apache Hive, Presto/Trino and Vertica dialects.
-
Let's write a compiler, part 5: A code generator
3. Would you use a different language/library then I picked?
Thanks :)
rhizome
-
YJIT: Building a New JIT Compiler for CRuby
https://github.com/chrisseaton/rhizome. Relevant demo is https://github.com/chrisseaton/rhizome/blob/main/experiments/assembler.rb.
-
Tenderjit – A JIT for Ruby Written in Ruby
There was actually an existing, similar in concept, Ruby JIT, Rhyzome: https://github.com/chrisseaton/rhizome.
It's good to see (IMO) the development of a JIT in a strict sense. I'm personally skeptical about the current approach (invoking a compiler separately).
On the other hand, it's important to know that JITs may take a long development time to be performant, and that they also complicate the performance profile of a virtual machine.
-
Let's write a compiler, part 5: A code generator
Lots of compiler tutorials are like this - there's very little out there to explain how compilers really work.
This is my effort - trying to show genuine data structures and processes.
- Thoughts about Intermediate representations
What are some alternatives?
JSqlParser - JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
sqlite-parser - JavaScript implentation of SQLite 3 query parser
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
yjit - Optimizing JIT compiler built inside CRuby
pglast - PostgreSQL Languages AST and statements prettifier: master branch covers PG10, v2 branch covers PG12, v3 covers PG13, v4 covers PG14, v5 covers PG15, v6 covers PG16
zetasql - ZetaSQL - Analyzer Framework for SQL
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
sqlparse - A non-validating SQL parser module for Python
langjam
swifties - a custom language construction kit
go-mysql-server - A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.