1 个不稳定版本

0.1.0 2022年8月5日

#46#sql-parser

Apache-2.0 和可能 LGPL-3.0-or-later

305KB
7.5K SLoC

PartiQL Rust CLI

CLI 和 REPL 的原型。应被视为实验性的,可能会更改等。

在其当前状态下,它主要存在是为了从外部应用的角度测试解析器接口和类型。可能需要重构和将 mietter::Diagnostic 东西移动到主解析器 crate。

CLI 命令

  • help : 打印 CLI 的帮助信息和支持的命令
  • repl : 启动 REPL
  • ast -T<format> "<query>": 输出解析后的 AST 的渲染版本(《可视化》见)
    • <格式>:
      • json : 以 json 格式在 stdout 中进行美化打印
      • dot : 以 Graphviz dot 格式在 stdout 中进行美化打印
      • svg : 打印到 stdout 一个 Graphviz 渲染的 svg xml 文档
      • png : 打印到 stdout 一个 Graphviz 渲染的 png 位图
      • display : 在支持的终端中直接显示一个 Graphviz 渲染的 png 位图
    • query : PartiQL 查询文本

REPL

REPL 目前假设大多数输入行是 PartiQL 查询,它将尝试进行解析。

  • 对于无效查询,错误将以美观的格式输出到输出。
  • 对于有效查询,
    • 没有前缀的情况下,解析 OK!将被输出到输出
    • 如果以\ast作为前缀,将输出渲染的AST树图像(见可视化

功能

  • 查询输入的语法高亮
  • 用户友好的错误报告
  • 阅读/编辑
  • CTRL-D/CTRL-C退出。

可视化

为了使用基于Graphviz的可视化,您需要在机器上安装graphviz库(例如brew install graphviz或类似命令)。

待办事项

请参阅标记为REPL的问题

  • 将语法文件放置在中心位置,而不是嵌入在此包中
  • 更好的交互模型
    • 命令
    • 更稳健的编辑
    • 等等。

依赖项

~23–39MB
~593K SLoC