rhizome
JSqlParser
Our great sponsors
rhizome | JSqlParser | |
---|---|---|
8 | 4 | |
814 | 4,956 | |
- | 2.1% | |
1.8 | 9.2 | |
almost 3 years ago | 3 days ago | |
Ruby | Java | |
MIT License | Apache License 2.0 |
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.
rhizome
- How do optimizing compilers convert variables into registers
- YJIT: Building a New JIT Compiler for CRuby
-
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.
https://github.com/chrisseaton/rhizome
- Thoughts about Intermediate representations
- A JIT for Ruby, implemented in pure Ruby (/r/ruby)
- Rhizome – a JIT for Ruby, implemented in pure Ruby
JSqlParser
-
Semantic Diff for SQL
I wonder if this is a topical thread to check if anyone is aware of a Java based solution to parse a CREATE VIEW statement to get a mapping between the view columns and the corresponding source table columns. I checked out jsqlparser[0] and it does produce an AST which can be parsed using the visitor-pattern[1] but was wondering if there is a more "out-of-the-box" solution. Due to various reasons, querying the database information schema is not an option I can pursue.
[0]: https://github.com/JSQLParser/JSqlParser
[1]: https://en.wikipedia.org/wiki/Visitor_pattern
-
Open Source SQL Parsers
JSQLParser can parse multiple SQL dialects like MySQL, Postgres and Oracle. The grammar can be modified to support other SQL dialects.
- Let's write a compiler, part 5: A code generator
-
Racket v8.0
Interesting coincidence - I'm working on a parser that parses the AST produced by JSqlParser[0] for a create view statement to generate mapping between the columns of a view and the columns of its underlying table. It is an interesting example of having to use the visitor pattern[1].
[0]: https://github.com/JSQLParser/JSqlParser
What are some alternatives?
yjit - Optimizing JIT compiler built inside CRuby
Apache Calcite - Apache Calcite
sqlite-parser - JavaScript implentation of SQLite 3 query parser
sqlglot - Python SQL Parser and Transpiler
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
zetasql - ZetaSQL - Analyzer Framework for SQL
sqlparse - A non-validating SQL parser module for Python
swifties - a custom language construction kit
Presto - The official home of the Presto distributed SQL query engine for big data
langjam
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.