Разбор грамматики критериев пользовательского поиска в C # - PullRequest
1 голос
/ 18 декабря 2009

В приложении на C # я хотел бы, чтобы пользователи могли вводить критерии поиска в таком формате:

(Name = 'Fred' OR Name = 'Jim') AND Age > 30

Мне нужен какой-то способ для анализа входных данных, чтобы я мог проверить потенциальные совпадения поиска по критериям. Я экспериментировал с инструментами компиляции Малкольма Кроу для .NET лет назад, но мне интересно, есть ли какие-то новые вещи, о которых мне следует знать в наши дни о DSL и деревьях выражений. Как лучше всего подойти к этой проблеме?

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009

Я смотрю на Ирония , недавно. Он почти одолел для того, что вам нужно, но попадает в категорию «новых вещей, о которых я должен знать».

Вот пример , использующий Irony, который, кажется, делает то, что вам требуется (хотя для его чтения необходима регистрация).

1 голос
/ 18 декабря 2009

Еще одним инструментом, который вы могли бы использовать, если у вас есть стандартизированная грамматика для ваших критериев поиска, был бы MGrammer, который имеет несколько доступных инструментов, помогающих структурировать синтаксический анализ. Хорошая ссылка для информации на Блог Скотта Хансельмана . Там также есть несколько примеров видео о том, как его использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...