Skip to content

nene/sql-parser-ast

Repository files navigation

SQL Parser AST npm version build status

Uses sql-parser-cst to parse SQL first into Concrete Syntax Tree (CST) and then converts the result to Abstract Syntax Tree (AST).

Synopsis

import { parse } from "sql-parser-ast";

parse("SELECT * FROM customer WHERE age > 10", { dialect: "sqlite" });

The parse() function returns the following AST:

{
  "type": "program",
  "statements": [
    {
      "type": "select_stmt",
      "columns": [{ "type": "all_columns" }],
      "from": {
        "type": "identifier",
        "name": "customer"
      },
      "where": {
        "type": "binary_expr",
        "left": {
          "type": "identifier",
          "name": "age"
        },
        "operator": ">",
        "right": {
          "type": "number_literal",
          "value": 10
        }
      }
    }
  ]
}

For now it takes the exact same parameters as sql-parser-cst. But the includeSpaces, includeNewlines, includeComments options have no effect.

Development status

This project is still in very early stages of development.

It supports a fair amount of SQLite syntax, but a lot of stuff is still missing.

Don't use it in production.

About

Parses SQL into Abstract Syntax Tree (AST)

Resources

License

Stars

Watchers

Forks

Packages

No packages published