Написание собственного парсера должно быть достаточно легким, по крайней мере, с учетом синтаксиса.Но синтаксический анализатор не самая сложная часть - настоящая работа начинается с перевода выражений запросов к эквивалентному синтаксису в других источниках данных.
Если бы мне было поручено найти здесь решение, я бы рассмотрел подход:
- Создание синтаксического анализатора CQL
- Создание слоя перевода для включения LINQ
- Надстройки библиотек LINQ (LINQ для SQL, LINQ для объектов, LINQ для yada-yada-яда)
Как всегда, ваш пробег может отличаться.