Парсинг string в boolean - C#
Формулировка задачи:
Нужно пропарсить строку, например: "a + b > a - c * b && (a - b < a + c / b || a == b)"
После парсинга должно получится лог. выражение, типа: a + b > a -c ....; где a,b,c - переменные.
Мы заранее знаем, что обозначают a,b,c в строке (то есть какие переменные).
Уверен, что кто-то уже задумывался над этим, и есть какой-нибудь готовый вариант, но не могу его найти
Сейчас пытаюсь сделать свой метод, через прогон строки по символам. Но не хочется делать новый велосипед
Решение задачи: «Парсинг string в boolean»
textual
Листинг программы
string expr = "a + b > a - c * b && (a - b < a + c / b || a == b)";
var pa = Expression.Parameter(typeof(int), "a");
var pb = Expression.Parameter(typeof(int), "b");
var pc = Expression.Parameter(typeof(int), "c");
var dlgt = System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { pa, pb, pc }, typeof(bool), expr).Compile();
bool result = (bool)dlgt.DynamicInvoke(1, 2, 3);