Я пишу приложение, которое позволяет пользователю вводить логическое выражение. Мне нужна возможность оценивать введенное логическое выражение во время выполнения, и я ищу как парсер, так и валидатор expressoin.
Parser
Парсер должен принять логическое выражение в виде строки и вернуть true / false.
Пример:
string expression = "(1 == 1) && (1 > 0)";
Parser parser = new Parser();
boolean result = parser.parse(expression); // Result should be True.
В дополнение к обработке логических выражений, мне также нужно это для обработки Math.
expression = "((1 + 1 * 2) == 1)";
result = parser.parse(expression); // Result should be False.
Validate
Чтобы я мог сообщить пользователю, если есть проблема с вводимым выражением, мне также нужен способ проверки синтаксиса.
Я работаю в C # с использованием .NET Compact Framework, но если вам известно что-то написанное на другом языке, это может быть полезно.
Спасибо за любую помощь, которую вы можете предоставить.
Том