| <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>])
|