文件名称:chr2sql:CHR2到SQL的转换
文件大小:17KB
文件格式:ZIP
更新时间:2024-06-02 11:13:25
Haskell
CHR2转SQL转换器 该库通过将规则转换为SQL脚本集来实现约束处理规则(CHR)求解器。 因此,求解器可以使用约束集。 语法类似于Peter Van Weert在“扩展和优化约束处理规则的编译”(又名CHRv2)中定义的语法。 CHR系统被认为与规则系统不同的特征之一是它们的匹配算法。 规则系统通常使用渴望匹配,而CHR使用惰性匹配。 在热切匹配(例如RETE算法)中,首先建立规则LHS的所有可能匹配。 并且只有在匹配规则之一被选择并触发之后。 触发是指执行匹配的规则主体,该规则主体又会从匹配的集合中添加或删除对象。 这会使先前急切计算出的匹配无效。 匹配算法是增量算法,但是浪费了很多匹配工作。 增量维护开销也很重要。 另一方面,惰性算法(在CHR系统中使用)仅计算要触发的一条规则的匹配。 通常,LEAPS在CHR系统中用作匹配算法。 在提倡CHR的论文中,据报道该方法具有更好的性能
【文件预览】:
chr2sql-master
----.gitignore(16B)
----Setup.hs(46B)
----dijkstra_data.sql(386B)
----chr2sql.cabal(1KB)
----LICENSE(1KB)
----README.md(5KB)
----CHR2()
--------Parser.hs(7KB)
--------AST()
--------Compile.hs(9KB)
--------Target()
----CHR2.hs(457B)
----dijkstra.chr(291B)
----dijkstra.sql(46B)
----dijkstra_migrate.sql(3KB)