繁体   English   中英

CLIPS 系统停止,不再继续执行

[英]CLIPS system halted and not continuing to execute

我正在按照 APG 文档集成 CLIPS 专家系统,感谢伟大的文档,我成功地将 CLIPS 集成到我的 C++ 项目中,我的应用程序持续运行并使用 EnvAssert 方法将事实提供给 CLIPS 系统并调用 EnvRun,一切正常,直到我收到此错误。

[PRNTUTIL7] Attempt to divide by zero in / function.

[DRIVE1] This error occurred in the join network
   Problem resides in associated join
      Of pattern #1 in rule RULE-1

[PRCCODE4] Execution halted during the actions of defrule RULE-2.

一旦我收到此错误,进一步的 Assert 正在运行,但 Run 似乎不起作用,但我确信有明确的匹配规则可用,但在下一次运行时仍然没有触发任何规则。

我理解错误,我可以修复它,但我无法理解行为。 所以我在 CLIPS 控制台中对其进行了测试,当报告错误时,连续运行似乎按我的预期工作,但在我的应用程序的情况下,我想知道潜在的区别。

参考应用程序伪代码:

<code to create and initialize CLIPS environment>
EnvReset()
While(true)
{
   <my code to get facts>
   EnvAsset(Fact)
   EnvRun(-1)
   <my code to receive the generated result facts>
}

注意:我不会在每次 RUN 之前调用 RESET。

已将用于重置 API 调用错误标志的修复程序签入 sourceforge 上的 subversion 存储库: https ://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM