A graphical language for business rules is not a good idea. I would avoid this. There are a lot of checks and loops in business rules that don't render well.
You are much better off with a text language for describing business rules.
To get the phenomenal user interface for editing the code you need:
- Parser with good error recovery
- Ability to do incremental recompilation
Good error recovery allows you to effectively determine the intention of a programmer from syntactically incomplete constructions. This is important for introducing intelligence.
The ability to do incremental recompilation gives you the ability to do an efficient compilation of the background in response to user changes.
The easiest way to get a good bug fix is โโto write your parser manually. That way, you can use any number of look-aheads or algrorithmic algorithms to figure out what to do when there are syntax errors.
When you use the parser generator to create a parser, you lose a lot of flexibility when dealing with syntax errors. This flexibility makes the difference between good perception experience and therapy. Therefore, I recommend that you simply write it manually using a recursive descent.
Implementing effective recompilation requires that you can: 1) Break the semantic analysis correctly into phases (for something like C # it will be: first create a namespace and type characters, then enable the use of operators, then enable the base classes, etc. ) 2) The ability to build a phase-dependence diagram 3) Algorithms for processing the dependency graph and the invalidity of its parts in response to user changes
For a fully functional programming language, implementing recompilation can be a very difficult task. In your case, since you are describing business rules, there may be a lot of simpiler for you (or if the compilation is fast enough, you might not need it).
So, I would start with a parser, and then build supervision on it.
If you can avoid VS integration, I would do it. Integration in VS requires a lot of plumbing, and interaction can cause headaches. There are several companies that sell window editor controls that you have connected to your parser. It is much easier to integrate with VS.