3 releases
0.3.5 | Aug 9, 2024 |
---|---|
0.3.3 | Jul 30, 2024 |
0.3.2 | Jul 26, 2024 |
#125 in Text editors
2,279 downloads per month
Used in ast-grep-language
14MB
549K
SLoC
tree-sitter-sql
A general/permissive SQL grammar for tree-sitter.
Installation
We don't commit the generated parser files to the main
branch. Instead, you can find them on the
gh-pages branch. We're open to feedback & encourage you
to open an issue to discuss any problems.
They are also hosted on the GitHub pages site and available for download here: github://derekstride/tree-sitter-sql/gh-pages.tar.gz.
Plugin maintainers ensure to specify the HEAD
(or a specific revision) of the gh-pages
branch when integrating
with this project.
Step 1: Download the parser files
Using git
git clone https://github.com/DerekStride/tree-sitter-sql.git
cd tree-sitter-sql
git checkout gh-pages
Using curl
curl -LO https://github.com/DerekStride/tree-sitter-sql/archive/refs/heads/gh-pages.tar.gz
tar -xzf gh-pages.tar.gz
cd tree-sitter-sql-gh-pages
Step 2: Compile the Parser
Tree-sitter parsers need to be compiled as a shared-object / dynamic-library, you can enable this by passing the
-shared
& -fPIC
flags to your compiler.
cc -shared -fPIC -I./src src/parser.c src/scanner.c -o sql.so
Using Cargo
cargo add tree-sitter-sequel
Using NPM
npm i @derekstride/tree-sitter-sql
Development
See CONTRIBUTING.md for documentation on how to set up the project for development.
Features
For a complete list of features see the the tests
References
- Wikipedia#SQL_syntax - I consulted wikipedia for naming conventions, though I may not have been strict early on in the prototyping.
- Phoenix Language Reference - A reference diagram.
- SQLite's railroad diagram for expr - Another reference diagram.
- Postgresql syntax documentation
- Mariadb syntax documentation
Other projects
Dependencies
~2.8–4MB
~78K SLoC