Построение простого интерпретатора

Вы, кажется, хотите условную агрегацию. Примерно так:

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
9
задан ANaimi 2 November 2008 в 07:38
поделиться

6 ответов

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

10
ответ дан 4 December 2019 в 11:09
поделиться

Это могло бы звучать нечетным, но Игровое Мастерство Сценариев является большим ресурсом для приобретения знаний о парсинге, компиляции и интерпретации кода.

Необходимо действительно проверить его:

http://www.amazon.com/Scripting-Mastery-Premier-Press-Development/dp/1931841578

2
ответ дан 4 December 2019 в 11:09
поделиться

Один способ сделать это состоит в том, чтобы исследовать исходный код на существующий интерпретатор. Я записал интерпретатор JavaScript на языке программирования D, можно загрузить исходный код с http://ftp.digitalmars.com/dmdscript.zip

Walter яркий, цифровой Марс

2
ответ дан 4 December 2019 в 11:09
поделиться

Я рекомендовал бы усилить ДОЛЛАР, чтобы сделать это, поскольку это точно, для чего он разработан.

Создайте Свой Собственный Язык ontop ДОЛЛАРА

2
ответ дан 4 December 2019 в 11:09
поделиться

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

Конечно, если то, что Вы действительно хотите, является забавой создать Ваше собственное, затем другой совет разумен.

2
ответ дан 4 December 2019 в 11:09
поделиться

Вы рассмотрели использование IronPython? Это просто в использовании от.NET, и это, кажется, отвечает всем Вашим требованиям. Я понимаю, что Python довольно популярен для научного программирования, таким образом, возможно, что Ваши пользователи уже будут знакомы с ним.

1
ответ дан 4 December 2019 в 11:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: