CLIPS Summary
Components
Field word -- case sensitive Notation
string [ ] optional
number < > substition
< >* 0 or more
Facts ( < field >+ ) < >+ 1 or more
{ } 1 and only 1
Fact template
( deftemplate <relation-name> [<optional-comment>]
<slot-definition>* )
<slot-definition>
(slot <slot-name>) | (multislot <slot-name>)
Comment
; (emergency < type >)
Commands
Entering A>clips
Exiting CLIPS>(exit)
Escape (system "< DOS command >")
Execution (run [< limit >])
(reset)
(clear) ; remove all facts, rules, and deffacts.
reset : 1. remove all activated rules from agenda
2. remove all facts from the fact-list
3. assert the facts from existing deffacts
Adding Facts
(assert < fact >+)
(deffacts <deffacts name> [<comment>]
<facts>*)
; automatically assert a set of facts after reset
Constructs
Add Remove Display
Facts (assert < fact >+) (retract <fact-index >+) (facts)
fact-addr
?fact-addr <- <fact>
Rules (defrule <r-n> (undefrule r-n) (rules)
<pattern>* (agenda)
=> (ppdefrule )
<action>*)
Deffacts (deffacts <d-n> [<...>] (undeffacts <d-n>) (list-deffacts)
<facts>*) (ppdeffacts <d-n>)
Debugging (watch facts ) (unwatch ... )
rules
activations
all
(set-break <r-n>) (remove-break <r-n>) (show-break)
(dribble-on <f-n>) (dribble-off)
File Commands
(load <file-name>)
(save <file-name>)
(batch <file-name>)
Variables ?speed
Single field wildcard ?
Multiple field wildcard $?
Field constraint NOT ~
OR |
AND &
Escape character =
(assert (ans (+ 2 2)))
(assert (ans =(+ 2 2)))
Binding (bind <var> <value>)
Back to Home Expert Systems