⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msgerr.exp

📁 NASA 开发使用的一个专家系统
💻 EXP
字号:
TRUECLIPS> (batch "msgerr.bat")TRUECLIPS> (defclass THINGO    (is-a USER)   (slot x (create-accessor read-write))   (multislot y (create-accessor read-write)))CLIPS> (defmessage-handler THINGO blah-1 ()   (bind ?self 3))[MSGPSR5] Active instance parameter cannot be changed.ERROR:(defmessage-handler MAIN::THINGO blah-1   ()   (bind ?self 3)   )CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (make-instance a of A)[a]CLIPS> (defmessage-handler A print-args (?a ?b $?c)	(printout t (instance-name ?self) " " ?a " " ?b 		" and " (length ?c) " extras: " ?c crlf))CLIPS> (send [a] print-args 1 2)[a] 1 2 and 0 extras: ()CLIPS> (send [a] print-args a b c d)[a] a b and 2 extras: (c d)CLIPS> (clear) CLIPS> (defclass A (is-a USER)  (role concrete)  (slot foo (create-accessor read-write) (default 1))  (slot bar (create-accessor read-write) (default 2)))CLIPS> (defmessage-handler A print-all-slots ()  (printout t ?self:foo " " ?self:bar crlf))CLIPS> (make-instance a of A)[a]CLIPS> (send [a] print-all-slots)1 2CLIPS> (clear)CLIPS> (defclass A (is-a USER)  (role concrete)  (slot bar (create-accessor read-write) (default "abc")))CLIPS> (make-instance a of A)[a]CLIPS> (send [a] get-bar)"abc"CLIPS> (clear)CLIPS> (defclass A (is-a USER) (slot x (create-accessor read-write)))CLIPS> (defclass B (is-a A) (slot y (create-accessor read-write)))CLIPS> (defmessage-handler B get-y ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::B get-y   (CLIPS> (defmessage-handler B put-y ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::B put-y   (CLIPS> (defmessage-handler A get-x ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::A get-x   (CLIPS> (defmessage-handler A put-x ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::A put-x   (CLIPS> (defmessage-handler A get-y ())CLIPS> (defmessage-handler A put-y ())CLIPS> (defmessage-handler B get-x ())CLIPS> (defmessage-handler B put-x ())CLIPS> (defmessage-handler USER get-x ())CLIPS> (defmessage-handler USER put-x ())CLIPS> (defmessage-handler USER get-y ())CLIPS> (defmessage-handler USER put-y ())CLIPS> (clear)CLIPS> (defclass A (is-a USER) (role concrete))CLIPS> (defmessage-handler A init before ()	(printout t "Initializing a new instance of class A..." crlf))CLIPS> (make-instance a of A)Initializing a new instance of class A...[a]CLIPS> (clear)CLIPS> (undefmessage-handler USER init primary)[MSGPSR3] System message-handlers may not be modified.CLIPS> (undefmessage-handler USER delete primary)[MSGPSR3] System message-handlers may not be modified.CLIPS> (undefmessage-handler USER print primary)[MSGPSR3] System message-handlers may not be modified.CLIPS> (defmessage-handler USER init ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::USER init   (CLIPS> (defmessage-handler USER delete ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::USER delete   (CLIPS> (defmessage-handler USER print ())[MSGPSR3] System message-handlers may not be modified.ERROR:(defmessage-handler MAIN::USER print   (CLIPS> (clear)CLIPS> (defclass A (is-a USER))CLIPS> (defclass B (is-a USER) (slot x (create-accessor read-write)))CLIPS> (describe-class A)================================================================================********************************************************************************Abstract: direct instances of this class cannot be created.Direct Superclasses: USERInheritance Precedence: A USER OBJECTDirect Subclasses:--------------------------------------------------------------------------------Recognized message-handlers:init primary in class USERdelete primary in class USERprint primary in class USERdirect-modify primary in class USERmessage-modify primary in class USERdirect-duplicate primary in class USERmessage-duplicate primary in class USER********************************************************************************================================================================================CLIPS> (describe-class B)================================================================================********************************************************************************Abstract: direct instances of this class cannot be created.Direct Superclasses: USERInheritance Precedence: B USER OBJECTDirect Subclasses:--------------------------------------------------------------------------------SLOTS : FLD DEF PRP ACC STO MCH SRC VIS CRT OVRD-MSG SOURCE(S)x     : SGL STC INH RW  LCL RCT EXC PRV RW  put-x    BConstraint information for slots:SLOTS : SYM STR INN INA EXA FTA INT FLTx     :  +   +   +   +   +   +   +   +  RNG:[-oo..+oo] --------------------------------------------------------------------------------Recognized message-handlers:init primary in class USERdelete primary in class USERprint primary in class USERdirect-modify primary in class USERmessage-modify primary in class USERdirect-duplicate primary in class USERmessage-duplicate primary in class USERget-x primary in class Bput-x primary in class B********************************************************************************================================================================================CLIPS> (clear)CLIPS> (defclass A (is-a USER) (role concrete) (slot x (create-accessor read-write) (default 3)))CLIPS> (make-instance a of A)[a]CLIPS> (watch all)CLIPS> (send [a] init)MSG >> init ED:1 (<Instance-a>)HND >> init primary in class USER       ED:1 (<Instance-a>)[INSMNGR15] init-slots not valid in this context.[PRCCODE4] Execution halted during the actions of message-handler init primary in class USERHND << init primary in class USER       ED:1 (<Instance-a>)MSG << init ED:1 (<Instance-a>)FALSECLIPS> (unwatch all)CLIPS> (clear)CLIPS> (defclass A (is-a USER) (role concrete) (slot x  (create-accessor read-write) (default 1)))CLIPS> (definstances A-OBJECTS  (a1 of A) ((gensym) of A (x 65)))CLIPS> (watch instances)CLIPS> (reset)==> instance [initial-object] of INITIAL-OBJECT==> instance [a1] of A==> instance [gen1] of ACLIPS> (reset)<== instance [initial-object] of INITIAL-OBJECT<== instance [a1] of A<== instance [gen1] of A==> instance [initial-object] of INITIAL-OBJECT==> instance [a1] of A==> instance [gen2] of ACLIPS> (unwatch all)CLIPS> (clear)CLIPS> (defclass A (is-a USER) (role concrete) (slot x (create-accessor read-write) (default 34)) (slot y (create-accessor read-write) (default 100)) (slot z (create-accessor read-write) (default ?NONE)))CLIPS> (make-instance a of A (z 98))[a]CLIPS> (send [a] print)[a] of A(x 34)(y 100)(z 98)CLIPS> (send [a] put-x 65)65CLIPS> (send [a] put-y abc)abcCLIPS> (send [a] put-z "Hello world.")"Hello world."CLIPS> (send [a] print)[a] of A(x 65)(y abc)(z "Hello world.")CLIPS> (initialize-instance a)[INSMNGR14] Override required for slot z in instance a.[PRCCODE4] Execution halted during the actions of message-handler init primary in class USER[INSMNGR8] An error occurred during the initialization of instance a.FALSECLIPS> (send [a] print)[a] of A(x 34)(y 100)(z "Hello world.")CLIPS> (defclass BOGUS (is-a OBJECT) (role concrete))CLIPS> (make-instance bogus of BOGUS)[MSGFUN1] No applicable primary message-handlers found for init.[INSMNGR8] An error occurred during the initialization of instance bogus.FALSECLIPS> (clear)CLIPS> (defmessage-handler)[CSTRCPSR2] Missing name for defmessage-handler constructERROR:(defmessage-handler )CLIPS> (defmessage-handler BOGUS)[MSGPSR1] A class must be defined before its message-handlers.ERROR:(defmessage-handler MAIN::BOGUS)CLIPS> (defmessage-handler USER 5)[PRNTUTIL2] Syntax Error:  Check appropriate syntax for defmessage-handler.ERROR:(defmessage-handler MAIN::USER   5CLIPS> (defmessage-handler USER blah bad-comment)[MSGFUN7] Unrecognized message-handler type in defmessage-handler.ERROR:(defmessage-handler MAIN::USER blah bad-comment CLIPS> (defmessage-handler USER a1 "comment")[PRNTUTIL2] Syntax Error:  Check appropriate syntax for parameter list.ERROR:(defmessage-handler MAIN::USER a1 "comment"    )CLIPS> (defmessage-handler USER a2 primary "comment" ())CLIPS> (defmessage-handler USER a2 around "comment" ())CLIPS> (defmessage-handler USER a2 before "comment" ())CLIPS> (defmessage-handler USER a2 after "comment" ())CLIPS> (list-defmessage-handlers)init primary in class USERdelete primary in class USERprint primary in class USERdirect-modify primary in class USERmessage-modify primary in class USERdirect-duplicate primary in class USERmessage-duplicate primary in class USERa2 primary in class USERa2 around in class USERa2 before in class USERa2 after in class USERFor a total of 11 message-handlers.CLIPS> (clear)CLIPS> (defmessage-handler USER blah ($?any ?a))[PRCCODE8] No parameters allowed after wildcard parameter.ERROR:(defmessage-handler MAIN::USER blah   ($?any ?aCLIPS> (defmessage-handler USER blah (?self ?a))[PRCCODE7] Duplicate parameter names not allowed.ERROR:(defmessage-handler MAIN::USER blah   (?selfCLIPS> (defmessage-handler USER blah (?self:bogus ?a))[MSGPSR4] Illegal slot reference in parameter list.ERROR:(defmessage-handler MAIN::USER blah   (?self:bogusCLIPS> (defmessage-handler USER blah (?a)  (bind ?self 1))[MSGPSR5] Active instance parameter cannot be changed.ERROR:(defmessage-handler MAIN::USER blah   (?a)   (bind ?self 1)   )CLIPS> (defmessage-handler USER blah (?a)  (dynamic-put ?a))CLIPS> (defclass test (is-a USER) (role concrete))CLIPS> (defmessage-handler test test-arg-cnt (?a ?b)   (printout t "Should not see this message!" crlf))CLIPS> (make-instance t of test)[t]CLIPS> (send [t] test-arg-cnt)[MSGFUN2] Message-handler test-arg-cnt primary in class test expected exactly 2 argument(s).FALSECLIPS> (send [t] test-arg-cnt 1 2 3)[MSGFUN2] Message-handler test-arg-cnt primary in class test expected exactly 2 argument(s).FALSECLIPS> (dribble-off)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -