Графический язык для бизнес-правил не очень хорошая идея. Я бы избежал этого. В бизнес-правилах много проверок и циклов, которые плохо визуализируются.
Вам гораздо лучше использовать текстовый язык для описания бизнес-правил.
Чтобы получить феноменальный пользовательский опыт для редактирования кода, вам нужно:
- Парсер с хорошим исправлением ошибок
- Возможность делать пошаговую перекомпиляцию
Хорошее восстановление после ошибок позволяет эффективно определять намерение программиста по синтетически неполным конструкциям. Это важно для реализации интеллигенции.
Возможность инкрементной перекомпиляции дает вам возможность выполнять эффективную фоновую компиляцию в ответ на изменения пользователя.
Самый простой способ получить хорошее исправление ошибок - написать свой парсер вручную. Таким образом, вы можете использовать любое количество перспективных или алгоритмических правил, чтобы выяснить, что делать при наличии синтаксических ошибок.
Когда вы используете генератор синтаксического анализатора для создания вашего синтаксического анализатора, вы теряете большую гибкость при работе с синтаксическими ошибками. Эта гибкость определяет разницу между хорошим опытом и умом. Итак, я рекомендую вам просто написать это вручную, используя рекурсивный спуск.
Внедрение эффективной повторной компиляции требует от вас возможности:
1) Правильно разбить семантический анализ на фазы (для чего-то вроде C # это будет: сначала создать пространство имен и символы типа, затем разрешить с помощью операторов, затем разрешить базовые классы и т. Д.).
2) Способность построить график зависимости от фазы
3) Алгоритмы обработки графа зависимостей и его аннулирования в ответ на пользовательские изменения
Для полноценного языка программирования реализация перекомпиляции может быть очень сложной. В вашем случае, поскольку вы описываете бизнес-правила, для вас это может быть намного проще (или если компиляция достаточно быстрая, она может даже не понадобиться).
Итак, я бы начал с парсера, а затем построил на нем интеллект.
Если бы вы могли избежать интеграции VS, я бы. Интеграция в VS требует много сантехники, и взаимодействие может вызвать головную боль. Есть несколько компаний, которые продают средства управления редактором форм Windows, к которым вы подключаете свой парсер. Это гораздо проще интегрировать, чем VS.