我想在非关系数据存储之上创建一个SQL接口.非关系数据存储,但以关系方式访问数据是有意义的.
我正在研究使用ANTLR生成一个AST,它将SQL表示为关系代数表达式.然后通过评估/遍历树来返回数据.
我之前从未实现过解析器,因此我想就如何最好地实现SQL解析器和求值程序提出一些建议.
更新:
我使用pyparsing实现了一个简单的SQL解析器.结合对我的数据存储实现关系操作的Python代码,这非常简单.
正如我在其中一条评论中所说,演习的重点是将数据提供给报告引擎.为此,我可能需要实现ODBC驱动程序.这可能是很多工作.