<SentenceRule> |
cmp("RULETYPE",[<Condition>,<Conclusion>])
|
RULETYPE
is either if =>, GEN=>, STAT=>, IP=>, CORR=>,
ACC=>, CR=>, RANK=>, UN=>, MIN=>, MAX=> or
DEL=>
|
|
|
<ACOP> |
cmp("OPR",[<Expression>])
|
OPR
is an assignment operator or a comparison
operator.
|
<ACOPs> |
cmp("&",[<ACOP>{,<ACOP>}+])
|
<ASOP> |
cmp("OPR",[<Expression>])
|
OPR
is an assignment operator.
|
<Argument> |
<EP_Argument>
|
var("VAR")
|
VAR
is simple variable (an upper-case letter optionally
followed by letters, digits or underscores. Simple variable
names must be constructed to avoid confusion with <DE_Variables>, also avoid names starting with P3_ .).
|
<CertaintyRuleCall> |
atom("CR") |
cmp("CR",[<Parameter>{,<Parameter>}*]) |
CR
is the name of a certainty rule prefixed with [C] . |
<Conclusion> |
<SentenceCondition>
|
<Condition> |
cmp("&",[<Condition>{,<Condition>}+])
|
cmp("v",[<Condition>{,<Condition>}+])
|
<SentenceCondition>
|
<VariableCondition>
|
<SentenceCountCondition>
|
cmp("not",[<Condition>])
|
cmp("true",[<Condition>])
|
<D_Component> |
<DE_Component>
|
<CDE_Component>
|
<DE_Component> |
var("<DE_Variable>") |
cmp("<DE_Variable>",[<ACOPs>]) |
cmp("<DE_Variable>",[<ACOP>]) |
<DE_Variable> |
A
simple data element variable name on
the format Aa..a_99dd..d where Aa..a is the argument name with
first letter in upper case, 99 is the one- or two-digit argument
number while dd..d is the data element name. |
<EP_Argument> |
cmp(EP,[<D_Component>{,<D_Component>}*]) |
EP
is the name of an entity type or predicate type with a one- or two-digit argument
number suffix enclosed in square brackets (ee...ee[n] or ee...e[nn]). |
<Expression> |
<SimpleExpression> |
cmp("BINOPR",[<Expression>,<Expression])
|
cmp("UNOPR",[<Expression>])
|
UNOPR is a unary
arithmetic/string operator. BINOPR is
a binary arithmetic/string operator.
|
<FunctionCall> |
cmp("FUNC",[<Parameter>{,<Parameter>}*])
|
atom("FUNC")
|
FUNC is the name of a
deterministic function prefixed with [F] .
|
<List> |
cmp("[]",[{<SimpleExpression>}{,<SimpleExpression>}*])
|
cmp("[]",[])
|
<ListLiteral> |
cmp("[]",[<SimpleLiteral>{,<SimpleLiteral}*])
|
cmp("[]"),[])
|
<Literal>
|
<SimpleLiteral>
|
<ListLiteral>
|
<Parameter> |
cmp("DE",[<ASOP>]) |
DE
is the name of a data element (formal parameter) and OPR is a
domain-qualified assignment operator.
|
<ProcedureCall> |
atom("PROC")
|
cmp("PROC",[<Parameter>{,<Parameter>}*])
|
PROC is the KB name of a
procedure prefixed with [P] .
|
<SentenceCondition> |
cmp("ST",[<Argument>{,<Argument>}*])
|
ST is the name of a
sentence type on the format P|A|B (argument sequence: A - P - B)
or P|A (argument sequence A - P), where P is the name of
a predicate type, while A and B either are names of entity types
or simple variables. |
<SentenceCountCondition> |
cmp("<SimpleVariableDefinition>",[cmp("=",[<SentenceCountRightSide>])]) |
<SentenceCountRightSide> |
cmp("p3_iSSS",[<SentenceCondition>")]) |
<SimpleExpression> |
<Literal> |
<List> |
<Variable> |
<FunctionCall> |
<ProcedureCall> |
<CertaintyRuleCall>
|
nill
|
<SimpleLiteral> |
int(INTEGER)
|
fix(FIXEDPOINT) |
fix(INTEGER) |
atom("IDENTIFIER") |
str("STRING") |
IDENTIFIER is a KB name. |
<SimpleVariable> |
var("VAR") |
VAR
is simple variable (an upper-case letter optionally
followed by letters, digits or underscores. Simple variable
names must be constructed to avoid confusion with <DE_Variables>, also avoid names starting with P3_ .). |
<SimpleVariableDefinition> |
var("VAR
/DOM") |
VAR
is simple variable (an upper-case letter optionally
followed by letters, digits or underscores. Simple variable
names must be constructed to avoid confusion with <DE_Variables>, also avoid names starting with P3_ .).
DOM is the short name
of the variable's domain. |
<Variable> |
<SimpleVariable>
|
<DE_Variable>
|
<VariableCondition> |
cmp("<SimpleVariableDefinition>",[<ACOP>])
|