4

我正在尝试定义时间表并估计实现 MySQL SQL 方言的 ANTLR 解析器所需的工作量。基本上,它归结为将 YACC 解析器语法从 MySQL 版本 ( sql_yacc.yy) 转换为 ANTRL 语法。

只是看起来如此直截了当吗?我发现语言语法的某些领域可能需要更多的开发和测试:

  • ANTLR 不接受左递归
  • 数字文字将需要自定义 Java 代码来根据值转换类型
  • ...

您知道、遇到或期待的任何其他挑战?

4

1 回答 1

3

在这样做之前,您应该知道这是一项无法在几天或几周内完成的工作,而是在几个月内完成。这是一个 sql 解析器库,您可以在创建自己的解析器时参考。

http://www.sqlparser.com/

于 2012-04-30T02:36:59.880 回答