在ANTLR中编写SQL解析器有哪些挑战?

时间:2012-04-29 13:22:32

标签: mysql sql parsing antlr yacc

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

它是否只是如此直截了当?我发现语言语法的某些方面可能需要更多的开发和测试:

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

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

1 个答案:

答案 0 :(得分:3)

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

http://www.sqlparser.com/