业务规则的图形化语言不是一个好主意。我会避免它商业规则有很多如果检查和循环,它们不可视化。
用描述业务规则的文本语言你会好得多。
要获得编辑代码phenomenial的用户体验,您需要:
- 具有良好的错误恢复解析器
- 做增量重新编译
良好的错误恢复的能力,使您从合成不完整的构建体有效地确定programer意图。这对于实施智慧至关重要。
执行增量重新编译的能力使您能够对用户编辑做出有效的后台编译。
获得良好错误恢复的最简单方法是手动编写解析器。通过这种方式,您可以使用任何数量的预测或algrorithmic规则来确定在出现语法错误时应采取的措施。
当您使用解析器生成器来创建解析器时,您在处理语法错误时失去了很多灵活性。这种灵活性使得良好的智力经验与疗法之间的差异成为可能。所以,我建议你用递归下降手工编写它。 1)正确地将语义分析分解为阶段(对于像C#这样的东西,这将是:首先构造命名空间和类型符号,然后使用语句解析,然后解析基础课程等)。 2)构建一个相感知依赖图 3)算法用于处理依赖图,并且响应于用户无效的它的部分的能力编辑
对于全flegged编程语言,实施重新编译可以得到真的很棘手。就你而言,因为你正在描述业务规则,所以对你来说可能更简单(或者如果编译足够快,你甚至可能不需要它)。
所以,我会先从解析器开始,然后在它上面构建智能。
如果你能避免VS集成,我会的。整合到VS需要很多管道,互操作可能会导致头痛。有几家公司出售Windows窗体编辑器控件,可以解决您的解析器问题。这比VS更容易集成。
a“to”too much in the topic? – Svish 2009-02-16 07:30:22
谢谢,错过了那一个。 – 2009-02-16 14:07:12