3

对于我们的 CMIS 服务器端实现,我希望构建一个解析器来解析作为查询方法的输入提供的查询语句。CMIS 为查询语句定义了 BNF 语法。我想知道生成这个 BNF 解析器的最佳方法是什么?

我们的实现是在 C# 中。CMIS 查询基于 SQL 语法以及 CMIS 定义的一些谓词。

4

1 回答 1

2

Apache Chemistry OpenCMIS 在服务器端使用 Antlr 来解析、验证和解释 cmisQL 语法。您可以尝试重用 Apache Chemistry OpenCMIS 实现中定义的 Antlr 语法,以使用 antlr3 生成您自己的C# 解析器

OpenCMIS 语法文件可在此处获得(在 Apache 许可证下)

于 2013-01-23T21:43:28.420 回答