Module Qcert.Compiler.Lib.QCAMPRule
Require
Import
CompilerRuntime
.
Require
String
.
Require
QOperators
QData
QCAMP
.
Require
CAMPRuleRuntime
.
Module
QCAMPRule
(
runtime
:
CompilerRuntime
).
Module
Data
:=
QData.QData
runtime
.
Module
Ops
:=
QOperators.QOperators
runtime
.
Module
CAMP
:=
QCAMP.QCAMP
runtime
.
Definition
camp_rule
:
Set
:=
CAMPRule.camp_rule
.
Definition
t
:
Set
:=
camp_rule
.
Definition
rule_when
:
CAMP.camp
->
camp_rule
->
camp_rule
:=
CAMPRule.rule_when
.
Definition
rule_global
:
CAMP.camp
->
camp_rule
->
camp_rule
:=
CAMPRule.rule_global
.
Definition
rule_not
:
CAMP.camp
->
camp_rule
->
camp_rule
:=
CAMPRule.rule_not
.
Definition
rule_return
:
CAMP.camp
->
camp_rule
:=
CAMPRule.rule_return
.
Definition
rule_match
:
CAMP.camp
->
camp_rule
:=
CAMPRule.rule_match
.
Definition
aggregate
: (
camp_rule
->
camp_rule
) ->
Ops.Unary.op
->
CAMP.camp
->
nat
->
CAMP.camp
:=
CAMPRuleSugar.aggregate
.
Definition
instanceOf
:
String.string
->
BrandRelation.brands
->
CAMP.camp
->
CAMP.camp
:=
CAMPRuleSugar.instanceOf
.
Definition
matches
:
BrandRelation.brands
->
CAMP.camp
->
CAMP.camp
:=
CAMPRuleSugar.matches
.
Definition
fetchRef
:
BrandRelation.brands
->
String.string
->
String.string
->
CAMP.camp
->
CAMP.camp
->
CAMP.camp
:=
CAMPRuleSugar.fetchRef
.
End
QCAMPRule
.