Вы, кажется, хотите условную агрегацию. Примерно так:
select sum(case when level = 'Classic' then OneMeansActive else 0 end) as numClassicActives,
sum(case when level = 'Basic' then OneMeansActive else 0 end) as numBasicActives,
sum(case when level = 'Classic' then subInactive else 0 end) as numClassicSubinactives,
sum(case when level = 'Classic' then subInactive else 0 end) as numBasicSubinactives
from company_members m
Я записал бы это в ANTLR. Запишите грамматику, позвольте ANTLR генерировать синтаксический анализатор C#. Вы можете ANTLR просить дерево синтаксического анализа, и возможно интерпретатор может уже воздействовать на дерево синтаксического анализа. Возможно, необходимо будет преобразовать дерево синтаксического анализа в некоторое более абстрактное внутреннее представление (хотя ANTLR уже позволяет не учитывать несоответствующую пунктуацию при генерации дерева).
Это могло бы звучать нечетным, но Игровое Мастерство Сценариев является большим ресурсом для приобретения знаний о парсинге, компиляции и интерпретации кода.
Необходимо действительно проверить его:
http://www.amazon.com/Scripting-Mastery-Premier-Press-Development/dp/1931841578
Один способ сделать это состоит в том, чтобы исследовать исходный код на существующий интерпретатор. Я записал интерпретатор JavaScript на языке программирования D, можно загрузить исходный код с http://ftp.digitalmars.com/dmdscript.zip
Walter яркий, цифровой Марс
Я рекомендовал бы усилить ДОЛЛАР, чтобы сделать это, поскольку это точно, для чего он разработан.
Lua был разработан как расширяемый интерпретатор для использования непрограммистами. (Первые пользователи были бразильскими нефтяными геологами, хотя база пользователей расширилась значительно с тех пор.) Можно ли взять Lua и легко добавить ли научные алгоритмы, визуализацию, что имеет Вас. Это великолепно хорошо спроектировано, и можно продолжить задачу под рукой.
Конечно, если то, что Вы действительно хотите, является забавой создать Ваше собственное, затем другой совет разумен.
Вы рассмотрели использование IronPython? Это просто в использовании от.NET, и это, кажется, отвечает всем Вашим требованиям. Я понимаю, что Python довольно популярен для научного программирования, таким образом, возможно, что Ваши пользователи уже будут знакомы с ним.