clipsruby 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/ext/clipsruby/agenda.c +1373 -0
- data/ext/clipsruby/agenda.h +169 -0
- data/ext/clipsruby/analysis.c +1142 -0
- data/ext/clipsruby/analysis.h +61 -0
- data/ext/clipsruby/argacces.c +526 -0
- data/ext/clipsruby/argacces.h +77 -0
- data/ext/clipsruby/bload.c +884 -0
- data/ext/clipsruby/bload.h +94 -0
- data/ext/clipsruby/bmathfun.c +557 -0
- data/ext/clipsruby/bmathfun.h +66 -0
- data/ext/clipsruby/bsave.c +634 -0
- data/ext/clipsruby/bsave.h +130 -0
- data/ext/clipsruby/classcom.c +976 -0
- data/ext/clipsruby/classcom.h +115 -0
- data/ext/clipsruby/classexm.c +1376 -0
- data/ext/clipsruby/classexm.h +97 -0
- data/ext/clipsruby/classfun.c +1392 -0
- data/ext/clipsruby/classfun.h +164 -0
- data/ext/clipsruby/classinf.c +1245 -0
- data/ext/clipsruby/classinf.h +94 -0
- data/ext/clipsruby/classini.c +843 -0
- data/ext/clipsruby/classini.h +75 -0
- data/ext/clipsruby/classpsr.c +957 -0
- data/ext/clipsruby/classpsr.h +73 -0
- data/ext/clipsruby/clips.h +133 -0
- data/ext/clipsruby/clipsruby.c +619 -0
- data/ext/clipsruby/clsltpsr.c +931 -0
- data/ext/clipsruby/clsltpsr.h +72 -0
- data/ext/clipsruby/commline.c +1217 -0
- data/ext/clipsruby/commline.h +131 -0
- data/ext/clipsruby/conscomp.c +1593 -0
- data/ext/clipsruby/conscomp.h +150 -0
- data/ext/clipsruby/constant.h +264 -0
- data/ext/clipsruby/constrct.c +1090 -0
- data/ext/clipsruby/constrct.h +216 -0
- data/ext/clipsruby/constrnt.c +554 -0
- data/ext/clipsruby/constrnt.h +132 -0
- data/ext/clipsruby/crstrtgy.c +1088 -0
- data/ext/clipsruby/crstrtgy.h +85 -0
- data/ext/clipsruby/cstrcbin.c +185 -0
- data/ext/clipsruby/cstrcbin.h +61 -0
- data/ext/clipsruby/cstrccmp.h +43 -0
- data/ext/clipsruby/cstrccom.c +1791 -0
- data/ext/clipsruby/cstrccom.h +115 -0
- data/ext/clipsruby/cstrcpsr.c +835 -0
- data/ext/clipsruby/cstrcpsr.h +97 -0
- data/ext/clipsruby/cstrnbin.c +282 -0
- data/ext/clipsruby/cstrnbin.h +55 -0
- data/ext/clipsruby/cstrnchk.c +826 -0
- data/ext/clipsruby/cstrnchk.h +91 -0
- data/ext/clipsruby/cstrncmp.c +238 -0
- data/ext/clipsruby/cstrncmp.h +57 -0
- data/ext/clipsruby/cstrnops.c +1176 -0
- data/ext/clipsruby/cstrnops.h +47 -0
- data/ext/clipsruby/cstrnpsr.c +1394 -0
- data/ext/clipsruby/cstrnpsr.h +88 -0
- data/ext/clipsruby/cstrnutl.c +564 -0
- data/ext/clipsruby/cstrnutl.h +54 -0
- data/ext/clipsruby/default.c +454 -0
- data/ext/clipsruby/default.h +57 -0
- data/ext/clipsruby/defins.c +971 -0
- data/ext/clipsruby/defins.h +127 -0
- data/ext/clipsruby/developr.c +677 -0
- data/ext/clipsruby/developr.h +69 -0
- data/ext/clipsruby/dffctbin.c +477 -0
- data/ext/clipsruby/dffctbin.h +76 -0
- data/ext/clipsruby/dffctbsc.c +308 -0
- data/ext/clipsruby/dffctbsc.h +72 -0
- data/ext/clipsruby/dffctcmp.c +297 -0
- data/ext/clipsruby/dffctcmp.h +44 -0
- data/ext/clipsruby/dffctdef.c +364 -0
- data/ext/clipsruby/dffctdef.h +104 -0
- data/ext/clipsruby/dffctpsr.c +179 -0
- data/ext/clipsruby/dffctpsr.h +49 -0
- data/ext/clipsruby/dffnxbin.c +520 -0
- data/ext/clipsruby/dffnxbin.h +67 -0
- data/ext/clipsruby/dffnxcmp.c +378 -0
- data/ext/clipsruby/dffnxcmp.h +54 -0
- data/ext/clipsruby/dffnxexe.c +241 -0
- data/ext/clipsruby/dffnxexe.h +58 -0
- data/ext/clipsruby/dffnxfun.c +1192 -0
- data/ext/clipsruby/dffnxfun.h +155 -0
- data/ext/clipsruby/dffnxpsr.c +514 -0
- data/ext/clipsruby/dffnxpsr.h +57 -0
- data/ext/clipsruby/dfinsbin.c +509 -0
- data/ext/clipsruby/dfinsbin.h +66 -0
- data/ext/clipsruby/dfinscmp.c +345 -0
- data/ext/clipsruby/dfinscmp.h +48 -0
- data/ext/clipsruby/drive.c +1191 -0
- data/ext/clipsruby/drive.h +65 -0
- data/ext/clipsruby/emathfun.c +1213 -0
- data/ext/clipsruby/emathfun.h +99 -0
- data/ext/clipsruby/engine.c +1568 -0
- data/ext/clipsruby/engine.h +203 -0
- data/ext/clipsruby/entities.h +276 -0
- data/ext/clipsruby/envrnbld.c +514 -0
- data/ext/clipsruby/envrnbld.h +40 -0
- data/ext/clipsruby/envrnmnt.c +257 -0
- data/ext/clipsruby/envrnmnt.h +112 -0
- data/ext/clipsruby/evaluatn.c +1736 -0
- data/ext/clipsruby/evaluatn.h +211 -0
- data/ext/clipsruby/expressn.c +494 -0
- data/ext/clipsruby/expressn.h +154 -0
- data/ext/clipsruby/exprnbin.c +538 -0
- data/ext/clipsruby/exprnbin.h +60 -0
- data/ext/clipsruby/exprnops.c +564 -0
- data/ext/clipsruby/exprnops.h +67 -0
- data/ext/clipsruby/exprnpsr.c +1112 -0
- data/ext/clipsruby/exprnpsr.h +98 -0
- data/ext/clipsruby/extconf.rb +2 -0
- data/ext/clipsruby/extnfunc.c +1015 -0
- data/ext/clipsruby/extnfunc.h +157 -0
- data/ext/clipsruby/factbin.c +447 -0
- data/ext/clipsruby/factbin.h +56 -0
- data/ext/clipsruby/factbld.c +1035 -0
- data/ext/clipsruby/factbld.h +63 -0
- data/ext/clipsruby/factcmp.c +386 -0
- data/ext/clipsruby/factcmp.h +46 -0
- data/ext/clipsruby/factcom.c +759 -0
- data/ext/clipsruby/factcom.h +80 -0
- data/ext/clipsruby/factfile.c +1761 -0
- data/ext/clipsruby/factfile.h +54 -0
- data/ext/clipsruby/factfun.c +682 -0
- data/ext/clipsruby/factfun.h +77 -0
- data/ext/clipsruby/factgen.c +1305 -0
- data/ext/clipsruby/factgen.h +229 -0
- data/ext/clipsruby/facthsh.c +438 -0
- data/ext/clipsruby/facthsh.h +81 -0
- data/ext/clipsruby/factlhs.c +250 -0
- data/ext/clipsruby/factlhs.h +54 -0
- data/ext/clipsruby/factmch.c +905 -0
- data/ext/clipsruby/factmch.h +68 -0
- data/ext/clipsruby/factmngr.c +3373 -0
- data/ext/clipsruby/factmngr.h +325 -0
- data/ext/clipsruby/factprt.c +498 -0
- data/ext/clipsruby/factprt.h +60 -0
- data/ext/clipsruby/factqpsr.c +796 -0
- data/ext/clipsruby/factqpsr.h +61 -0
- data/ext/clipsruby/factqury.c +1267 -0
- data/ext/clipsruby/factqury.h +112 -0
- data/ext/clipsruby/factrete.c +978 -0
- data/ext/clipsruby/factrete.h +70 -0
- data/ext/clipsruby/factrhs.c +667 -0
- data/ext/clipsruby/factrhs.h +55 -0
- data/ext/clipsruby/filecom.c +353 -0
- data/ext/clipsruby/filecom.h +137 -0
- data/ext/clipsruby/filertr.c +481 -0
- data/ext/clipsruby/filertr.h +94 -0
- data/ext/clipsruby/fileutil.c +1020 -0
- data/ext/clipsruby/fileutil.h +50 -0
- data/ext/clipsruby/generate.c +1079 -0
- data/ext/clipsruby/generate.h +57 -0
- data/ext/clipsruby/genrcbin.c +902 -0
- data/ext/clipsruby/genrcbin.h +69 -0
- data/ext/clipsruby/genrccmp.c +640 -0
- data/ext/clipsruby/genrccmp.h +59 -0
- data/ext/clipsruby/genrccom.c +2017 -0
- data/ext/clipsruby/genrccom.h +119 -0
- data/ext/clipsruby/genrcexe.c +737 -0
- data/ext/clipsruby/genrcexe.h +73 -0
- data/ext/clipsruby/genrcfun.c +890 -0
- data/ext/clipsruby/genrcfun.h +185 -0
- data/ext/clipsruby/genrcpsr.c +1618 -0
- data/ext/clipsruby/genrcpsr.h +80 -0
- data/ext/clipsruby/globlbin.c +458 -0
- data/ext/clipsruby/globlbin.h +71 -0
- data/ext/clipsruby/globlbsc.c +361 -0
- data/ext/clipsruby/globlbsc.h +83 -0
- data/ext/clipsruby/globlcmp.c +330 -0
- data/ext/clipsruby/globlcmp.h +52 -0
- data/ext/clipsruby/globlcom.c +289 -0
- data/ext/clipsruby/globlcom.h +63 -0
- data/ext/clipsruby/globldef.c +1087 -0
- data/ext/clipsruby/globldef.h +151 -0
- data/ext/clipsruby/globlpsr.c +530 -0
- data/ext/clipsruby/globlpsr.h +59 -0
- data/ext/clipsruby/immthpsr.c +431 -0
- data/ext/clipsruby/immthpsr.h +55 -0
- data/ext/clipsruby/incrrset.c +530 -0
- data/ext/clipsruby/incrrset.h +73 -0
- data/ext/clipsruby/inherpsr.c +850 -0
- data/ext/clipsruby/inherpsr.h +52 -0
- data/ext/clipsruby/inscom.c +2076 -0
- data/ext/clipsruby/inscom.h +182 -0
- data/ext/clipsruby/insfile.c +1764 -0
- data/ext/clipsruby/insfile.h +96 -0
- data/ext/clipsruby/insfun.c +1451 -0
- data/ext/clipsruby/insfun.h +134 -0
- data/ext/clipsruby/insmngr.c +2550 -0
- data/ext/clipsruby/insmngr.h +125 -0
- data/ext/clipsruby/insmoddp.c +1041 -0
- data/ext/clipsruby/insmoddp.h +91 -0
- data/ext/clipsruby/insmult.c +804 -0
- data/ext/clipsruby/insmult.h +62 -0
- data/ext/clipsruby/inspsr.c +602 -0
- data/ext/clipsruby/inspsr.h +60 -0
- data/ext/clipsruby/insquery.c +1278 -0
- data/ext/clipsruby/insquery.h +115 -0
- data/ext/clipsruby/insqypsr.c +729 -0
- data/ext/clipsruby/insqypsr.h +63 -0
- data/ext/clipsruby/iofun.c +2045 -0
- data/ext/clipsruby/iofun.h +116 -0
- data/ext/clipsruby/lgcldpnd.c +644 -0
- data/ext/clipsruby/lgcldpnd.h +75 -0
- data/ext/clipsruby/main.c +112 -0
- data/ext/clipsruby/match.h +142 -0
- data/ext/clipsruby/memalloc.c +481 -0
- data/ext/clipsruby/memalloc.h +197 -0
- data/ext/clipsruby/miscfun.c +1801 -0
- data/ext/clipsruby/miscfun.h +132 -0
- data/ext/clipsruby/modulbin.c +607 -0
- data/ext/clipsruby/modulbin.h +84 -0
- data/ext/clipsruby/modulbsc.c +347 -0
- data/ext/clipsruby/modulbsc.h +67 -0
- data/ext/clipsruby/modulcmp.c +499 -0
- data/ext/clipsruby/modulcmp.h +54 -0
- data/ext/clipsruby/moduldef.c +817 -0
- data/ext/clipsruby/moduldef.h +271 -0
- data/ext/clipsruby/modulpsr.c +1150 -0
- data/ext/clipsruby/modulpsr.h +69 -0
- data/ext/clipsruby/modulutl.c +1036 -0
- data/ext/clipsruby/modulutl.h +84 -0
- data/ext/clipsruby/msgcom.c +1221 -0
- data/ext/clipsruby/msgcom.h +125 -0
- data/ext/clipsruby/msgfun.c +1076 -0
- data/ext/clipsruby/msgfun.h +118 -0
- data/ext/clipsruby/msgpass.c +1441 -0
- data/ext/clipsruby/msgpass.h +103 -0
- data/ext/clipsruby/msgpsr.c +698 -0
- data/ext/clipsruby/msgpsr.h +73 -0
- data/ext/clipsruby/multifld.c +1404 -0
- data/ext/clipsruby/multifld.h +130 -0
- data/ext/clipsruby/multifun.c +2182 -0
- data/ext/clipsruby/multifun.h +102 -0
- data/ext/clipsruby/network.h +142 -0
- data/ext/clipsruby/objbin.c +1522 -0
- data/ext/clipsruby/objbin.h +79 -0
- data/ext/clipsruby/objcmp.c +1507 -0
- data/ext/clipsruby/objcmp.h +71 -0
- data/ext/clipsruby/object.h +260 -0
- data/ext/clipsruby/objrtbin.c +701 -0
- data/ext/clipsruby/objrtbin.h +79 -0
- data/ext/clipsruby/objrtbld.c +2393 -0
- data/ext/clipsruby/objrtbld.h +66 -0
- data/ext/clipsruby/objrtcmp.c +734 -0
- data/ext/clipsruby/objrtcmp.h +66 -0
- data/ext/clipsruby/objrtfnx.c +1330 -0
- data/ext/clipsruby/objrtfnx.h +222 -0
- data/ext/clipsruby/objrtgen.c +736 -0
- data/ext/clipsruby/objrtgen.h +63 -0
- data/ext/clipsruby/objrtmch.c +1524 -0
- data/ext/clipsruby/objrtmch.h +160 -0
- data/ext/clipsruby/parsefun.c +415 -0
- data/ext/clipsruby/parsefun.h +67 -0
- data/ext/clipsruby/pattern.c +1265 -0
- data/ext/clipsruby/pattern.h +163 -0
- data/ext/clipsruby/pprint.c +328 -0
- data/ext/clipsruby/pprint.h +79 -0
- data/ext/clipsruby/prccode.c +1478 -0
- data/ext/clipsruby/prccode.h +145 -0
- data/ext/clipsruby/prcdrfun.c +640 -0
- data/ext/clipsruby/prcdrfun.h +95 -0
- data/ext/clipsruby/prcdrpsr.c +1068 -0
- data/ext/clipsruby/prcdrpsr.h +79 -0
- data/ext/clipsruby/prdctfun.c +869 -0
- data/ext/clipsruby/prdctfun.h +77 -0
- data/ext/clipsruby/prntutil.c +878 -0
- data/ext/clipsruby/prntutil.h +125 -0
- data/ext/clipsruby/proflfun.c +827 -0
- data/ext/clipsruby/proflfun.h +118 -0
- data/ext/clipsruby/reorder.c +2082 -0
- data/ext/clipsruby/reorder.h +172 -0
- data/ext/clipsruby/reteutil.c +1732 -0
- data/ext/clipsruby/reteutil.h +111 -0
- data/ext/clipsruby/retract.c +710 -0
- data/ext/clipsruby/retract.h +74 -0
- data/ext/clipsruby/router.c +737 -0
- data/ext/clipsruby/router.h +147 -0
- data/ext/clipsruby/rulebin.c +1136 -0
- data/ext/clipsruby/rulebin.h +153 -0
- data/ext/clipsruby/rulebld.c +1328 -0
- data/ext/clipsruby/rulebld.h +62 -0
- data/ext/clipsruby/rulebsc.c +517 -0
- data/ext/clipsruby/rulebsc.h +91 -0
- data/ext/clipsruby/rulecmp.c +733 -0
- data/ext/clipsruby/rulecmp.h +63 -0
- data/ext/clipsruby/rulecom.c +1583 -0
- data/ext/clipsruby/rulecom.h +116 -0
- data/ext/clipsruby/rulecstr.c +892 -0
- data/ext/clipsruby/rulecstr.h +53 -0
- data/ext/clipsruby/ruledef.c +559 -0
- data/ext/clipsruby/ruledef.h +179 -0
- data/ext/clipsruby/ruledlt.c +599 -0
- data/ext/clipsruby/ruledlt.h +58 -0
- data/ext/clipsruby/rulelhs.c +1216 -0
- data/ext/clipsruby/rulelhs.h +52 -0
- data/ext/clipsruby/rulepsr.c +1073 -0
- data/ext/clipsruby/rulepsr.h +61 -0
- data/ext/clipsruby/scanner.c +856 -0
- data/ext/clipsruby/scanner.h +112 -0
- data/ext/clipsruby/setup.h +488 -0
- data/ext/clipsruby/sortfun.c +433 -0
- data/ext/clipsruby/sortfun.h +55 -0
- data/ext/clipsruby/strngfun.c +1173 -0
- data/ext/clipsruby/strngfun.h +96 -0
- data/ext/clipsruby/strngrtr.c +523 -0
- data/ext/clipsruby/strngrtr.h +97 -0
- data/ext/clipsruby/symblbin.c +648 -0
- data/ext/clipsruby/symblbin.h +64 -0
- data/ext/clipsruby/symblcmp.c +893 -0
- data/ext/clipsruby/symblcmp.h +61 -0
- data/ext/clipsruby/symbol.c +1961 -0
- data/ext/clipsruby/symbol.h +243 -0
- data/ext/clipsruby/sysdep.c +894 -0
- data/ext/clipsruby/sysdep.h +164 -0
- data/ext/clipsruby/textpro.c +1388 -0
- data/ext/clipsruby/textpro.h +77 -0
- data/ext/clipsruby/tmpltbin.c +609 -0
- data/ext/clipsruby/tmpltbin.h +108 -0
- data/ext/clipsruby/tmpltbsc.c +327 -0
- data/ext/clipsruby/tmpltbsc.h +87 -0
- data/ext/clipsruby/tmpltcmp.c +450 -0
- data/ext/clipsruby/tmpltcmp.h +57 -0
- data/ext/clipsruby/tmpltdef.c +584 -0
- data/ext/clipsruby/tmpltdef.h +155 -0
- data/ext/clipsruby/tmpltfun.c +2477 -0
- data/ext/clipsruby/tmpltfun.h +122 -0
- data/ext/clipsruby/tmpltlhs.c +379 -0
- data/ext/clipsruby/tmpltlhs.h +50 -0
- data/ext/clipsruby/tmpltpsr.c +819 -0
- data/ext/clipsruby/tmpltpsr.h +59 -0
- data/ext/clipsruby/tmpltrhs.c +595 -0
- data/ext/clipsruby/tmpltrhs.h +55 -0
- data/ext/clipsruby/tmpltutl.c +637 -0
- data/ext/clipsruby/tmpltutl.h +82 -0
- data/ext/clipsruby/userdata.c +156 -0
- data/ext/clipsruby/userdata.h +72 -0
- data/ext/clipsruby/userfunctions.c +70 -0
- data/ext/clipsruby/usrsetup.h +7 -0
- data/ext/clipsruby/utility.c +1594 -0
- data/ext/clipsruby/utility.h +250 -0
- data/ext/clipsruby/watch.c +865 -0
- data/ext/clipsruby/watch.h +124 -0
- data/lib/clipsruby.rb +1 -0
- metadata +388 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
/*******************************************************/
|
2
|
+
/* "C" Language Integrated Production System */
|
3
|
+
/* */
|
4
|
+
/* CLIPS Version 6.40 07/30/16 */
|
5
|
+
/* */
|
6
|
+
/* DEFTEMPLATE BSAVE/BLOAD HEADER FILE */
|
7
|
+
/*******************************************************/
|
8
|
+
|
9
|
+
/*************************************************************/
|
10
|
+
/* Purpose: */
|
11
|
+
/* */
|
12
|
+
/* Principal Programmer(s): */
|
13
|
+
/* Gary D. Riley */
|
14
|
+
/* */
|
15
|
+
/* Contributing Programmer(s): */
|
16
|
+
/* Brian L. Dantes */
|
17
|
+
/* */
|
18
|
+
/* Revision History: */
|
19
|
+
/* */
|
20
|
+
/* 6.23: Added support for templates maintaining their */
|
21
|
+
/* own list of facts. */
|
22
|
+
/* */
|
23
|
+
/* 6.30: Changed integer type/precision. */
|
24
|
+
/* */
|
25
|
+
/* Support for deftemplate slot facets. */
|
26
|
+
/* */
|
27
|
+
/* 6.40: Removed LOCALE definition. */
|
28
|
+
/* */
|
29
|
+
/* Pragma once and other inclusion changes. */
|
30
|
+
/* */
|
31
|
+
/* Removed use of void pointers for specific */
|
32
|
+
/* data structures. */
|
33
|
+
/* */
|
34
|
+
/*************************************************************/
|
35
|
+
|
36
|
+
#ifndef _H_tmpltbin
|
37
|
+
|
38
|
+
#pragma once
|
39
|
+
|
40
|
+
#define _H_tmpltbin
|
41
|
+
|
42
|
+
#if (! RUN_TIME)
|
43
|
+
|
44
|
+
struct bsaveTemplateSlot
|
45
|
+
{
|
46
|
+
unsigned long slotName;
|
47
|
+
unsigned int multislot : 1;
|
48
|
+
unsigned int noDefault : 1;
|
49
|
+
unsigned int defaultPresent : 1;
|
50
|
+
unsigned int defaultDynamic : 1;
|
51
|
+
unsigned long constraints;
|
52
|
+
unsigned long defaultList;
|
53
|
+
unsigned long facetList;
|
54
|
+
unsigned long next;
|
55
|
+
};
|
56
|
+
|
57
|
+
struct bsaveDeftemplate;
|
58
|
+
struct bsaveDeftemplateModule;
|
59
|
+
|
60
|
+
#include "cstrcbin.h"
|
61
|
+
|
62
|
+
struct bsaveDeftemplate
|
63
|
+
{
|
64
|
+
struct bsaveConstructHeader header;
|
65
|
+
unsigned long slotList;
|
66
|
+
unsigned int implied : 1;
|
67
|
+
unsigned int numberOfSlots : 15;
|
68
|
+
unsigned long patternNetwork;
|
69
|
+
};
|
70
|
+
|
71
|
+
#include "modulbin.h"
|
72
|
+
|
73
|
+
struct bsaveDeftemplateModule
|
74
|
+
{
|
75
|
+
struct bsaveDefmoduleItemHeader header;
|
76
|
+
};
|
77
|
+
|
78
|
+
#define TMPLTBIN_DATA 61
|
79
|
+
|
80
|
+
#include "tmpltdef.h"
|
81
|
+
|
82
|
+
struct deftemplateBinaryData
|
83
|
+
{
|
84
|
+
Deftemplate *DeftemplateArray;
|
85
|
+
unsigned long NumberOfDeftemplates;
|
86
|
+
unsigned long NumberOfTemplateSlots;
|
87
|
+
unsigned long NumberOfTemplateModules;
|
88
|
+
struct templateSlot *SlotArray;
|
89
|
+
struct deftemplateModule *ModuleArray;
|
90
|
+
};
|
91
|
+
|
92
|
+
#define DeftemplateBinaryData(theEnv) ((struct deftemplateBinaryData *) GetEnvironmentData(theEnv,TMPLTBIN_DATA))
|
93
|
+
|
94
|
+
#define DeftemplatePointer(i) ((Deftemplate *) (&DeftemplateBinaryData(theEnv)->DeftemplateArray[i]))
|
95
|
+
|
96
|
+
#ifndef _H_tmpltdef
|
97
|
+
#include "tmpltdef.h"
|
98
|
+
#endif
|
99
|
+
|
100
|
+
void DeftemplateBinarySetup(Environment *);
|
101
|
+
void *BloadDeftemplateModuleReference(Environment *,unsigned long);
|
102
|
+
|
103
|
+
#endif /* (! RUN_TIME) */
|
104
|
+
|
105
|
+
#endif /* _H_tmpltbin */
|
106
|
+
|
107
|
+
|
108
|
+
|
@@ -0,0 +1,327 @@
|
|
1
|
+
/*******************************************************/
|
2
|
+
/* "C" Language Integrated Production System */
|
3
|
+
/* */
|
4
|
+
/* CLIPS Version 6.40 07/02/18 */
|
5
|
+
/* */
|
6
|
+
/* DEFTEMPLATE BASIC COMMANDS MODULE */
|
7
|
+
/*******************************************************/
|
8
|
+
|
9
|
+
/*************************************************************/
|
10
|
+
/* Purpose: Implements core commands for the deftemplate */
|
11
|
+
/* construct such as clear, reset, save, undeftemplate, */
|
12
|
+
/* ppdeftemplate, list-deftemplates, and */
|
13
|
+
/* get-deftemplate-list. */
|
14
|
+
/* */
|
15
|
+
/* Principal Programmer(s): */
|
16
|
+
/* Gary D. Riley */
|
17
|
+
/* */
|
18
|
+
/* Contributing Programmer(s): */
|
19
|
+
/* Brian L. Dantes */
|
20
|
+
/* */
|
21
|
+
/* Revision History: */
|
22
|
+
/* */
|
23
|
+
/* 6.23: Corrected compilation errors for files */
|
24
|
+
/* generated by constructs-to-c. DR0861 */
|
25
|
+
/* */
|
26
|
+
/* Changed name of variable log to logName */
|
27
|
+
/* because of Unix compiler warnings of shadowed */
|
28
|
+
/* definitions. */
|
29
|
+
/* */
|
30
|
+
/* 6.24: Renamed BOOLEAN macro type to intBool. */
|
31
|
+
/* */
|
32
|
+
/* Corrected code to remove compiler warnings */
|
33
|
+
/* when ENVIRONMENT_API_ONLY flag is set. */
|
34
|
+
/* */
|
35
|
+
/* 6.30: Removed conditional code for unsupported */
|
36
|
+
/* compilers/operating systems (IBM_MCW, */
|
37
|
+
/* MAC_MCW, and IBM_TBC). */
|
38
|
+
/* */
|
39
|
+
/* Added const qualifiers to remove C++ */
|
40
|
+
/* deprecation warnings. */
|
41
|
+
/* */
|
42
|
+
/* Converted API macros to function calls. */
|
43
|
+
/* */
|
44
|
+
/* 6.40: Pragma once and other inclusion changes. */
|
45
|
+
/* */
|
46
|
+
/* Added support for booleans with <stdbool.h>. */
|
47
|
+
/* */
|
48
|
+
/* Removed use of void pointers for specific */
|
49
|
+
/* data structures. */
|
50
|
+
/* */
|
51
|
+
/* ALLOW_ENVIRONMENT_GLOBALS no longer supported. */
|
52
|
+
/* */
|
53
|
+
/* UDF redesign. */
|
54
|
+
/* */
|
55
|
+
/* Removed initial-fact support. */
|
56
|
+
/* */
|
57
|
+
/* Pretty print functions accept optional logical */
|
58
|
+
/* name argument. */
|
59
|
+
/* */
|
60
|
+
/*************************************************************/
|
61
|
+
|
62
|
+
#include "setup.h"
|
63
|
+
|
64
|
+
#if DEFTEMPLATE_CONSTRUCT
|
65
|
+
|
66
|
+
#include <stdio.h>
|
67
|
+
#include <string.h>
|
68
|
+
|
69
|
+
#include "argacces.h"
|
70
|
+
#include "constrct.h"
|
71
|
+
#include "cstrccom.h"
|
72
|
+
#include "cstrcpsr.h"
|
73
|
+
#include "envrnmnt.h"
|
74
|
+
#include "extnfunc.h"
|
75
|
+
#include "factrhs.h"
|
76
|
+
#include "memalloc.h"
|
77
|
+
#include "multifld.h"
|
78
|
+
#include "router.h"
|
79
|
+
#include "scanner.h"
|
80
|
+
#if BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE
|
81
|
+
#include "tmpltbin.h"
|
82
|
+
#endif
|
83
|
+
#if CONSTRUCT_COMPILER && (! RUN_TIME)
|
84
|
+
#include "tmpltcmp.h"
|
85
|
+
#endif
|
86
|
+
#include "tmpltdef.h"
|
87
|
+
#include "tmpltpsr.h"
|
88
|
+
#include "tmpltutl.h"
|
89
|
+
|
90
|
+
#include "tmpltbsc.h"
|
91
|
+
|
92
|
+
/***************************************/
|
93
|
+
/* LOCAL INTERNAL FUNCTION DEFINITIONS */
|
94
|
+
/***************************************/
|
95
|
+
|
96
|
+
static void SaveDeftemplates(Environment *,Defmodule *,const char *,void *);
|
97
|
+
|
98
|
+
/*********************************************************************/
|
99
|
+
/* DeftemplateBasicCommands: Initializes basic deftemplate commands. */
|
100
|
+
/*********************************************************************/
|
101
|
+
void DeftemplateBasicCommands(
|
102
|
+
Environment *theEnv)
|
103
|
+
{
|
104
|
+
AddSaveFunction(theEnv,"deftemplate",SaveDeftemplates,10,NULL);
|
105
|
+
|
106
|
+
#if ! RUN_TIME
|
107
|
+
AddUDF(theEnv,"get-deftemplate-list","m",0,1,"y",GetDeftemplateListFunction,"GetDeftemplateListFunction",NULL);
|
108
|
+
AddUDF(theEnv,"undeftemplate","v",1,1,"y",UndeftemplateCommand,"UndeftemplateCommand",NULL);
|
109
|
+
AddUDF(theEnv,"deftemplate-module","y",1,1,"y",DeftemplateModuleFunction,"DeftemplateModuleFunction",NULL);
|
110
|
+
|
111
|
+
#if DEBUGGING_FUNCTIONS
|
112
|
+
AddUDF(theEnv,"list-deftemplates","v",0,1,"y",ListDeftemplatesCommand,"ListDeftemplatesCommand",NULL);
|
113
|
+
AddUDF(theEnv,"ppdeftemplate","vs",1,2,";y;ldsyn",PPDeftemplateCommand,"PPDeftemplateCommand",NULL);
|
114
|
+
#endif
|
115
|
+
|
116
|
+
#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE)
|
117
|
+
DeftemplateBinarySetup(theEnv);
|
118
|
+
#endif
|
119
|
+
|
120
|
+
#if CONSTRUCT_COMPILER && (! RUN_TIME)
|
121
|
+
DeftemplateCompilerSetup(theEnv);
|
122
|
+
#endif
|
123
|
+
|
124
|
+
#endif
|
125
|
+
}
|
126
|
+
|
127
|
+
/**********************************************/
|
128
|
+
/* SaveDeftemplates: Deftemplate save routine */
|
129
|
+
/* for use with the save command. */
|
130
|
+
/**********************************************/
|
131
|
+
static void SaveDeftemplates(
|
132
|
+
Environment *theEnv,
|
133
|
+
Defmodule *theModule,
|
134
|
+
const char *logicalName,
|
135
|
+
void *context)
|
136
|
+
{
|
137
|
+
SaveConstruct(theEnv,theModule,logicalName,DeftemplateData(theEnv)->DeftemplateConstruct);
|
138
|
+
}
|
139
|
+
|
140
|
+
/**********************************************/
|
141
|
+
/* UndeftemplateCommand: H/L access routine */
|
142
|
+
/* for the undeftemplate command. */
|
143
|
+
/**********************************************/
|
144
|
+
void UndeftemplateCommand(
|
145
|
+
Environment *theEnv,
|
146
|
+
UDFContext *context,
|
147
|
+
UDFValue *returnValue)
|
148
|
+
{
|
149
|
+
UndefconstructCommand(context,"undeftemplate",DeftemplateData(theEnv)->DeftemplateConstruct);
|
150
|
+
}
|
151
|
+
|
152
|
+
/************************************/
|
153
|
+
/* Undeftemplate: C access routine */
|
154
|
+
/* for the undeftemplate command. */
|
155
|
+
/************************************/
|
156
|
+
bool Undeftemplate(
|
157
|
+
Deftemplate *theDeftemplate,
|
158
|
+
Environment *allEnv)
|
159
|
+
{
|
160
|
+
Environment *theEnv;
|
161
|
+
|
162
|
+
if (theDeftemplate == NULL)
|
163
|
+
{
|
164
|
+
theEnv = allEnv;
|
165
|
+
return Undefconstruct(theEnv,NULL,DeftemplateData(theEnv)->DeftemplateConstruct);
|
166
|
+
}
|
167
|
+
else
|
168
|
+
{
|
169
|
+
theEnv = theDeftemplate->header.env;
|
170
|
+
return Undefconstruct(theEnv,&theDeftemplate->header,DeftemplateData(theEnv)->DeftemplateConstruct);
|
171
|
+
}
|
172
|
+
}
|
173
|
+
|
174
|
+
/****************************************************/
|
175
|
+
/* GetDeftemplateListFunction: H/L access routine */
|
176
|
+
/* for the get-deftemplate-list function. */
|
177
|
+
/****************************************************/
|
178
|
+
void GetDeftemplateListFunction(
|
179
|
+
Environment *theEnv,
|
180
|
+
UDFContext *context,
|
181
|
+
UDFValue *returnValue)
|
182
|
+
{
|
183
|
+
GetConstructListFunction(context,returnValue,DeftemplateData(theEnv)->DeftemplateConstruct);
|
184
|
+
}
|
185
|
+
|
186
|
+
/********************************************/
|
187
|
+
/* GetDeftemplateList: C access routine for */
|
188
|
+
/* the get-deftemplate-list function. */
|
189
|
+
/********************************************/
|
190
|
+
void GetDeftemplateList(
|
191
|
+
Environment *theEnv,
|
192
|
+
CLIPSValue *returnValue,
|
193
|
+
Defmodule *theModule)
|
194
|
+
{
|
195
|
+
UDFValue result;
|
196
|
+
|
197
|
+
GetConstructList(theEnv,&result,DeftemplateData(theEnv)->DeftemplateConstruct,theModule);
|
198
|
+
NormalizeMultifield(theEnv,&result);
|
199
|
+
returnValue->value = result.value;
|
200
|
+
}
|
201
|
+
|
202
|
+
/***************************************************/
|
203
|
+
/* DeftemplateModuleFunction: H/L access routine */
|
204
|
+
/* for the deftemplate-module function. */
|
205
|
+
/***************************************************/
|
206
|
+
void DeftemplateModuleFunction(
|
207
|
+
Environment *theEnv,
|
208
|
+
UDFContext *context,
|
209
|
+
UDFValue *returnValue)
|
210
|
+
{
|
211
|
+
returnValue->value = GetConstructModuleCommand(context,"deftemplate-module",DeftemplateData(theEnv)->DeftemplateConstruct);
|
212
|
+
}
|
213
|
+
|
214
|
+
#if DEBUGGING_FUNCTIONS
|
215
|
+
|
216
|
+
/**********************************************/
|
217
|
+
/* PPDeftemplateCommand: H/L access routine */
|
218
|
+
/* for the ppdeftemplate command. */
|
219
|
+
/**********************************************/
|
220
|
+
void PPDeftemplateCommand(
|
221
|
+
Environment *theEnv,
|
222
|
+
UDFContext *context,
|
223
|
+
UDFValue *returnValue)
|
224
|
+
{
|
225
|
+
PPConstructCommand(context,"ppdeftemplate",DeftemplateData(theEnv)->DeftemplateConstruct,returnValue);
|
226
|
+
}
|
227
|
+
|
228
|
+
/***************************************/
|
229
|
+
/* PPDeftemplate: C access routine for */
|
230
|
+
/* the ppdeftemplate command. */
|
231
|
+
/***************************************/
|
232
|
+
bool PPDeftemplate(
|
233
|
+
Environment *theEnv,
|
234
|
+
const char *deftemplateName,
|
235
|
+
const char *logicalName)
|
236
|
+
{
|
237
|
+
return(PPConstruct(theEnv,deftemplateName,logicalName,DeftemplateData(theEnv)->DeftemplateConstruct));
|
238
|
+
}
|
239
|
+
|
240
|
+
/*************************************************/
|
241
|
+
/* ListDeftemplatesCommand: H/L access routine */
|
242
|
+
/* for the list-deftemplates command. */
|
243
|
+
/*************************************************/
|
244
|
+
void ListDeftemplatesCommand(
|
245
|
+
Environment *theEnv,
|
246
|
+
UDFContext *context,
|
247
|
+
UDFValue *returnValue)
|
248
|
+
{
|
249
|
+
ListConstructCommand(context,DeftemplateData(theEnv)->DeftemplateConstruct);
|
250
|
+
}
|
251
|
+
|
252
|
+
/****************************************/
|
253
|
+
/* ListDeftemplates: C access routine */
|
254
|
+
/* for the list-deftemplates command. */
|
255
|
+
/****************************************/
|
256
|
+
void ListDeftemplates(
|
257
|
+
Environment *theEnv,
|
258
|
+
const char *logicalName,
|
259
|
+
Defmodule *theModule)
|
260
|
+
{
|
261
|
+
ListConstruct(theEnv,DeftemplateData(theEnv)->DeftemplateConstruct,logicalName,theModule);
|
262
|
+
}
|
263
|
+
|
264
|
+
/********************************************************/
|
265
|
+
/* DeftemplateGetWatch: C access routine for retrieving */
|
266
|
+
/* the current watch value of a deftemplate. */
|
267
|
+
/********************************************************/
|
268
|
+
bool DeftemplateGetWatch(
|
269
|
+
Deftemplate *theTemplate)
|
270
|
+
{
|
271
|
+
return theTemplate->watch;
|
272
|
+
}
|
273
|
+
|
274
|
+
/******************************************************/
|
275
|
+
/* DeftemplateSetWatch: C access routine for setting */
|
276
|
+
/* the current watch value of a deftemplate. */
|
277
|
+
/******************************************************/
|
278
|
+
void DeftemplateSetWatch(
|
279
|
+
Deftemplate *theTemplate,
|
280
|
+
bool newState)
|
281
|
+
{
|
282
|
+
theTemplate->watch = newState;
|
283
|
+
}
|
284
|
+
|
285
|
+
/**********************************************************/
|
286
|
+
/* DeftemplateWatchAccess: Access routine for setting the */
|
287
|
+
/* watch flag of a deftemplate via the watch command. */
|
288
|
+
/**********************************************************/
|
289
|
+
bool DeftemplateWatchAccess(
|
290
|
+
Environment *theEnv,
|
291
|
+
int code,
|
292
|
+
bool newState,
|
293
|
+
Expression *argExprs)
|
294
|
+
{
|
295
|
+
#if MAC_XCD
|
296
|
+
#pragma unused(code)
|
297
|
+
#endif
|
298
|
+
|
299
|
+
return ConstructSetWatchAccess(theEnv,DeftemplateData(theEnv)->DeftemplateConstruct,newState,argExprs,
|
300
|
+
(ConstructGetWatchFunction *) DeftemplateGetWatch,
|
301
|
+
(ConstructSetWatchFunction *) DeftemplateSetWatch);
|
302
|
+
}
|
303
|
+
|
304
|
+
/*************************************************************************/
|
305
|
+
/* DeftemplateWatchPrint: Access routine for printing which deftemplates */
|
306
|
+
/* have their watch flag set via the list-watch-items command. */
|
307
|
+
/*************************************************************************/
|
308
|
+
bool DeftemplateWatchPrint(
|
309
|
+
Environment *theEnv,
|
310
|
+
const char *logName,
|
311
|
+
int code,
|
312
|
+
Expression *argExprs)
|
313
|
+
{
|
314
|
+
#if MAC_XCD
|
315
|
+
#pragma unused(code)
|
316
|
+
#endif
|
317
|
+
|
318
|
+
return ConstructPrintWatchAccess(theEnv,DeftemplateData(theEnv)->DeftemplateConstruct,logName,argExprs,
|
319
|
+
(ConstructGetWatchFunction *) DeftemplateGetWatch,
|
320
|
+
(ConstructSetWatchFunction *) DeftemplateSetWatch);
|
321
|
+
}
|
322
|
+
|
323
|
+
#endif /* DEBUGGING_FUNCTIONS */
|
324
|
+
|
325
|
+
#endif /* DEFTEMPLATE_CONSTRUCT */
|
326
|
+
|
327
|
+
|
@@ -0,0 +1,87 @@
|
|
1
|
+
/*******************************************************/
|
2
|
+
/* "C" Language Integrated Production System */
|
3
|
+
/* */
|
4
|
+
/* CLIPS Version 6.40 08/25/16 */
|
5
|
+
/* */
|
6
|
+
/* DEFTEMPLATE BASIC COMMANDS HEADER FILE */
|
7
|
+
/*******************************************************/
|
8
|
+
|
9
|
+
/*************************************************************/
|
10
|
+
/* Purpose: Implements core commands for the deftemplate */
|
11
|
+
/* construct such as clear, reset, save, undeftemplate, */
|
12
|
+
/* ppdeftemplate, list-deftemplates, and */
|
13
|
+
/* get-deftemplate-list. */
|
14
|
+
/* */
|
15
|
+
/* Principal Programmer(s): */
|
16
|
+
/* Gary D. Riley */
|
17
|
+
/* */
|
18
|
+
/* Contributing Programmer(s): */
|
19
|
+
/* Brian L. Dantes */
|
20
|
+
/* */
|
21
|
+
/* Revision History: */
|
22
|
+
/* */
|
23
|
+
/* 6.23: Corrected compilation errors for files */
|
24
|
+
/* generated by constructs-to-c. DR0861 */
|
25
|
+
/* */
|
26
|
+
/* Changed name of variable log to logName */
|
27
|
+
/* because of Unix compiler warnings of shadowed */
|
28
|
+
/* definitions. */
|
29
|
+
/* */
|
30
|
+
/* 6.24: Renamed BOOLEAN macro type to intBool. */
|
31
|
+
/* */
|
32
|
+
/* Corrected code to remove compiler warnings */
|
33
|
+
/* when ENVIRONMENT_API_ONLY flag is set. */
|
34
|
+
/* */
|
35
|
+
/* 6.30: Removed conditional code for unsupported */
|
36
|
+
/* compilers/operating systems (IBM_MCW, */
|
37
|
+
/* MAC_MCW, and IBM_TBC). */
|
38
|
+
/* */
|
39
|
+
/* Added const qualifiers to remove C++ */
|
40
|
+
/* deprecation warnings. */
|
41
|
+
/* */
|
42
|
+
/* Converted API macros to function calls. */
|
43
|
+
/* */
|
44
|
+
/* 6.40: Removed LOCALE definition. */
|
45
|
+
/* */
|
46
|
+
/* Pragma once and other inclusion changes. */
|
47
|
+
/* */
|
48
|
+
/* Added support for booleans with <stdbool.h>. */
|
49
|
+
/* */
|
50
|
+
/* Removed use of void pointers for specific */
|
51
|
+
/* data structures. */
|
52
|
+
/* */
|
53
|
+
/* ALLOW_ENVIRONMENT_GLOBALS no longer supported. */
|
54
|
+
/* */
|
55
|
+
/* UDF redesign. */
|
56
|
+
/* */
|
57
|
+
/*************************************************************/
|
58
|
+
|
59
|
+
#ifndef _H_tmpltbsc
|
60
|
+
|
61
|
+
#pragma once
|
62
|
+
|
63
|
+
#define _H_tmpltbsc
|
64
|
+
|
65
|
+
#include "evaluatn.h"
|
66
|
+
#include "tmpltdef.h"
|
67
|
+
|
68
|
+
void DeftemplateBasicCommands(Environment *);
|
69
|
+
void UndeftemplateCommand(Environment *,UDFContext *,UDFValue *);
|
70
|
+
bool Undeftemplate(Deftemplate *,Environment *);
|
71
|
+
void GetDeftemplateListFunction(Environment *,UDFContext *,UDFValue *);
|
72
|
+
void GetDeftemplateList(Environment *,CLIPSValue *,Defmodule *);
|
73
|
+
void DeftemplateModuleFunction(Environment *,UDFContext *,UDFValue *);
|
74
|
+
#if DEBUGGING_FUNCTIONS
|
75
|
+
void PPDeftemplateCommand(Environment *,UDFContext *,UDFValue *);
|
76
|
+
bool PPDeftemplate(Environment *,const char *,const char *);
|
77
|
+
void ListDeftemplatesCommand(Environment *,UDFContext *,UDFValue *);
|
78
|
+
void ListDeftemplates(Environment *,const char *,Defmodule *);
|
79
|
+
bool DeftemplateGetWatch(Deftemplate *);
|
80
|
+
void DeftemplateSetWatch(Deftemplate *,bool);
|
81
|
+
bool DeftemplateWatchAccess(Environment *,int,bool,struct expr *);
|
82
|
+
bool DeftemplateWatchPrint(Environment *,const char *,int,struct expr *);
|
83
|
+
#endif
|
84
|
+
|
85
|
+
#endif /* _H_tmpltbsc */
|
86
|
+
|
87
|
+
|