Понадобилось тут в некоторых софтинах иметь настраиваемую разветвленную логику и арифметику, т.е. уметь обрабатывать AST-деревья: строить их, производить по ним вычисления и т.п.
Но особенность в том, что языка как такового нет: деревья могут получаться не путем парсинга текста, а могут просто рождаться в недрах программы.
В общем, хотелось бы найти какую-нибудь готовую либу под .NET, где бы это все было (в принципе все это и самому написать понятно как, но зачем велосипед городить). Чтобы в либе был реализован набор таких примитивов, как выражения, операторы, значения и т.п. Чтобы это хозяйство легко встраивалось в свою софтину. Но при этом не должно быть жесткой привязки к парсеру какого-либо языка.
Посоветуйте, плиз.
Здравствуйте, Аноним, Вы писали:
А>Посоветуйте, плиз.
Expression Trees для ваших целей не подходят?
А>>Посоветуйте, плиз.
__>Expression Trees для ваших целей не подходят?
Поэкспериментирую...
Возможно, в сочетании с некоторой обработкой напильником — даже подойдут
Здравствуйте, Аноним, Вы писали:
А>Понадобилось тут в некоторых софтинах иметь настраиваемую разветвленную логику и арифметику, т.е. уметь обрабатывать AST-деревья: строить их, производить по ним вычисления и т.п.
А>Но особенность в том, что языка как такового нет: деревья могут получаться не путем парсинга текста, а могут просто рождаться в недрах программы.
А>В общем, хотелось бы найти какую-нибудь готовую либу под .NET, где бы это все было (в принципе все это и самому написать понятно как, но зачем велосипед городить). Чтобы в либе был реализован набор таких примитивов, как выражения, операторы, значения и т.п. Чтобы это хозяйство легко встраивалось в свою софтину. Но при этом не должно быть жесткой привязки к парсеру какого-либо языка.
А>Посоветуйте, плиз.
Как вариант проект “
Roslyn”