对于我们的CMIS服务器端实现,我希望构建一个解析器,该解析器将解析作为查询方法输入提供的查询语句。CMIS为查询语句定义了一个BNF语法。我想知道生成这个BNF解析器的最佳方法是什么?
我们是用c#实现的。CMIS查询基于SQL语法加上CMIS定义的一些谓词。
Apache Chemistry OpenCMIS在服务器端使用Antlr来解析、验证和解释cmisQL语法。您可以尝试重用在Apache Chemistry OpenCMIS实现中定义的antlr3语法,使用antlr3
生成您自己的c#解析器。OpenCMIS语法文件在这里可用(在Apache许可证下)
cmisantlrcsharp