Parse GoogleSQL, which is a dialect of BigQuery, into a concrete syntax tree.
Warning
This parser is designed to be used via prettier-plugin-bq.
- forcused on GoogleSQL (in other words, other SQL dialects are out of scope)
- developed in Rust, using wasm-pack
npm install bq2cst
const parser = require("bq2cst");
parser.parse("SELECT 1;")
//[
// {
// "token": {
// "line":1,
// "column":1,
// "literal":"SELECT"
// },
// "node_type":"SelectStatement",
// "children":{
// "semicolon":{
// "Node":{
// "token":{"line":1,"column":9,"literal":";"},
// "node_type":"Symbol",
// "children":{}
// }
// },
// "exprs":{
// "NodeVec":[{
// "token":{"line":1,"column":8,"literal":"1"},
// "node_type":"NumericLiteral",
// "children":{}
// }]
// }
// }
// },
// {
// "token":null,
// "node_type":"EOF",
// "children":{}
// }
//]