antlr4 sql语法

时间:2013-01-22 17:22:06

标签: antlr4

ANTLR4是否有可用的SQL语法?如果是这样,我在哪里可以找到它?

来自ANTLR维基的链接,但链接已断开:grammar list

4 个答案:

答案 0 :(得分:23)

不,在撰写本文时,没有v4 SQL语法。

所有v4语法都将放入以下Github存储库中(据我记得,从ANTLR邮件列表中记得):https://github.com/antlr/grammars-v4

现在这里的v3语法:http://antlr3.org/grammar/list.html

编辑 - 2018年4月

现在有一个用户贡献的MySQL语法:https://github.com/antlr/grammars-v4/tree/master/mysql

答案 1 :(得分:7)

目前,v4还有很多sql语法:

  1. MySQL
  2. PL/SQL
  3. T-SQL(Microsoft SQL Server)KvanTTT

答案 2 :(得分:3)

截至2017年2月6日,有一个用于t-sql的ANTLR4文件,但它是社区维护的,并且不完整,我发现许多SQL语句对SQLServer有效,但不能通过这种语法解析。

答案 3 :(得分:0)

正如其他用户所提到的,可以在线获取SQL语法,但是它们并不完整。我建议最好的方法是使用不完整的语法,并在需要时添加顶部不存在的语法。 例如,如果您需要对join子句进行翻译而该翻译不存在,则只需将其添加在其顶部即可。只要确保您编写的语法不会破坏任何现有的语法

这是我在实习期间所做的事情,在那儿,我不得不制作一个将SAS脚本转换为python的工具。 SAS是专有的,它的语法不可用。因此,我们从头开始构建所有内容。