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