CMIS サーバー側の実装では、クエリ メソッドへの入力として提供されるクエリ ステートメントを解析するパーサーを構築しようとしています。CMIS は、クエリ ステートメントの BNF 文法を定義します。この BNF パーサーを生成する最良の方法は何でしょうか?
私たちの実装は C# です。CMIS クエリは、SQL 構文に加えて、CMIS によって定義されたいくつかの述語に基づいています。
CMIS サーバー側の実装では、クエリ メソッドへの入力として提供されるクエリ ステートメントを解析するパーサーを構築しようとしています。CMIS は、クエリ ステートメントの BNF 文法を定義します。この BNF パーサーを生成する最良の方法は何でしょうか?
私たちの実装は C# です。CMIS クエリは、SQL 構文に加えて、CMIS によって定義されたいくつかの述語に基づいています。
Apache Chemistry OpenCMIS は、サーバー側で Antlr を使用して、cmisQL 構文を解析、検証、および解釈します。antlr3 を使用して独自のC# パーサーを生成するために、Apache Chemistry OpenCMIS 実装で定義されている Antlr 文法を再利用することができます。
OpenCMIS 文法ファイルは、ここから入手できます(Apache ライセンスの下で)。