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,216 @@
|
|
1
|
+
/*******************************************************/
|
2
|
+
/* "C" Language Integrated Production System */
|
3
|
+
/* */
|
4
|
+
/* CLIPS Version 6.40 10/01/16 */
|
5
|
+
/* */
|
6
|
+
/* CONSTRUCT MODULE */
|
7
|
+
/*******************************************************/
|
8
|
+
|
9
|
+
/*************************************************************/
|
10
|
+
/* Purpose: */
|
11
|
+
/* */
|
12
|
+
/* Principal Programmer(s): */
|
13
|
+
/* Gary D. Riley */
|
14
|
+
/* */
|
15
|
+
/* Contributing Programmer(s): */
|
16
|
+
/* */
|
17
|
+
/* Revision History: */
|
18
|
+
/* */
|
19
|
+
/* 6.24: Added environment parameter to GenClose. */
|
20
|
+
/* Added environment parameter to GenOpen. */
|
21
|
+
/* */
|
22
|
+
/* Renamed BOOLEAN macro type to intBool. */
|
23
|
+
/* */
|
24
|
+
/* 6.30: Changed garbage collection algorithm. */
|
25
|
+
/* */
|
26
|
+
/* Removed conditional code for unsupported */
|
27
|
+
/* compilers/operating systems (IBM_MCW and */
|
28
|
+
/* MAC_MCW). */
|
29
|
+
/* */
|
30
|
+
/* Added code for capturing errors/warnings */
|
31
|
+
/* (EnvSetParserErrorCallback). */
|
32
|
+
/* */
|
33
|
+
/* Fixed issue with save function when multiple */
|
34
|
+
/* defmodules exist. */
|
35
|
+
/* */
|
36
|
+
/* Added const qualifiers to remove C++ */
|
37
|
+
/* deprecation warnings. */
|
38
|
+
/* */
|
39
|
+
/* Converted API macros to function calls. */
|
40
|
+
/* */
|
41
|
+
/* Fixed linkage issue when BLOAD_ONLY compiler */
|
42
|
+
/* flag is set to 1. */
|
43
|
+
/* */
|
44
|
+
/* Added code to prevent a clear command from */
|
45
|
+
/* being executed during fact assertions via */
|
46
|
+
/* Increment/DecrementClearReadyLocks API. */
|
47
|
+
/* */
|
48
|
+
/* Added code to keep track of pointers to */
|
49
|
+
/* constructs that are contained externally to */
|
50
|
+
/* to constructs, DanglingConstructs. */
|
51
|
+
/* */
|
52
|
+
/* 6.40: Removed LOCALE definition. */
|
53
|
+
/* */
|
54
|
+
/* Pragma once and other inclusion changes. */
|
55
|
+
/* */
|
56
|
+
/* Added support for booleans with <stdbool.h>. */
|
57
|
+
/* */
|
58
|
+
/* Removed use of void pointers for specific */
|
59
|
+
/* data structures. */
|
60
|
+
/* */
|
61
|
+
/* ALLOW_ENVIRONMENT_GLOBALS no longer supported. */
|
62
|
+
/* */
|
63
|
+
/* UDF redesign. */
|
64
|
+
/* */
|
65
|
+
/* Modified EnvClear to return completion status. */
|
66
|
+
/* */
|
67
|
+
/* File name/line count displayed for errors */
|
68
|
+
/* and warnings during load command. */
|
69
|
+
/* */
|
70
|
+
/*************************************************************/
|
71
|
+
|
72
|
+
#ifndef _H_constrct
|
73
|
+
|
74
|
+
#pragma once
|
75
|
+
|
76
|
+
#define _H_constrct
|
77
|
+
|
78
|
+
typedef struct construct Construct;
|
79
|
+
|
80
|
+
#include "entities.h"
|
81
|
+
#include "userdata.h"
|
82
|
+
#include "moduldef.h"
|
83
|
+
#include "utility.h"
|
84
|
+
|
85
|
+
typedef void SaveCallFunction(Environment *,Defmodule *,const char *,void *);
|
86
|
+
typedef struct saveCallFunctionItem SaveCallFunctionItem;
|
87
|
+
|
88
|
+
typedef void ParserErrorFunction(Environment *,const char *,const char *,const char *,long,void *);
|
89
|
+
typedef bool BeforeResetFunction(Environment *);
|
90
|
+
|
91
|
+
#define CHS (ConstructHeader *)
|
92
|
+
|
93
|
+
struct saveCallFunctionItem
|
94
|
+
{
|
95
|
+
const char *name;
|
96
|
+
SaveCallFunction *func;
|
97
|
+
int priority;
|
98
|
+
SaveCallFunctionItem *next;
|
99
|
+
void *context;
|
100
|
+
};
|
101
|
+
|
102
|
+
struct construct
|
103
|
+
{
|
104
|
+
const char *constructName;
|
105
|
+
const char *pluralName;
|
106
|
+
bool (*parseFunction)(Environment *,const char *);
|
107
|
+
FindConstructFunction *findFunction;
|
108
|
+
CLIPSLexeme *(*getConstructNameFunction)(ConstructHeader *);
|
109
|
+
const char *(*getPPFormFunction)(ConstructHeader *);
|
110
|
+
struct defmoduleItemHeader *(*getModuleItemFunction)(ConstructHeader *);
|
111
|
+
GetNextConstructFunction *getNextItemFunction;
|
112
|
+
void (*setNextItemFunction)(ConstructHeader *,ConstructHeader *);
|
113
|
+
IsConstructDeletableFunction *isConstructDeletableFunction;
|
114
|
+
DeleteConstructFunction *deleteFunction;
|
115
|
+
FreeConstructFunction *freeFunction;
|
116
|
+
Construct *next;
|
117
|
+
};
|
118
|
+
|
119
|
+
#define CONSTRUCT_DATA 42
|
120
|
+
|
121
|
+
struct constructData
|
122
|
+
{
|
123
|
+
bool ClearReadyInProgress;
|
124
|
+
bool ClearInProgress;
|
125
|
+
bool ResetReadyInProgress;
|
126
|
+
bool ResetInProgress;
|
127
|
+
short ClearReadyLocks;
|
128
|
+
int DanglingConstructs;
|
129
|
+
#if (! RUN_TIME) && (! BLOAD_ONLY)
|
130
|
+
SaveCallFunctionItem *ListOfSaveFunctions;
|
131
|
+
bool PrintWhileLoading;
|
132
|
+
bool LoadInProgress;
|
133
|
+
bool WatchCompilations;
|
134
|
+
bool CheckSyntaxMode;
|
135
|
+
bool ParsingConstruct;
|
136
|
+
char *ErrorString;
|
137
|
+
char *WarningString;
|
138
|
+
char *ParsingFileName;
|
139
|
+
char *ErrorFileName;
|
140
|
+
char *WarningFileName;
|
141
|
+
long ErrLineNumber;
|
142
|
+
long WrnLineNumber;
|
143
|
+
int errorCaptureRouterCount;
|
144
|
+
size_t MaxErrChars;
|
145
|
+
size_t CurErrPos;
|
146
|
+
size_t MaxWrnChars;
|
147
|
+
size_t CurWrnPos;
|
148
|
+
ParserErrorFunction *ParserErrorCallback;
|
149
|
+
void *ParserErrorContext;
|
150
|
+
#endif
|
151
|
+
Construct *ListOfConstructs;
|
152
|
+
struct voidCallFunctionItem *ListOfResetFunctions;
|
153
|
+
struct voidCallFunctionItem *ListOfClearFunctions;
|
154
|
+
struct boolCallFunctionItem *ListOfClearReadyFunctions;
|
155
|
+
bool Executing;
|
156
|
+
BeforeResetFunction *BeforeResetCallback;
|
157
|
+
};
|
158
|
+
|
159
|
+
#define ConstructData(theEnv) ((struct constructData *) GetEnvironmentData(theEnv,CONSTRUCT_DATA))
|
160
|
+
|
161
|
+
bool Clear(Environment *);
|
162
|
+
void Reset(Environment *);
|
163
|
+
bool Save(Environment *,const char *);
|
164
|
+
|
165
|
+
void InitializeConstructData(Environment *);
|
166
|
+
bool AddResetFunction(Environment *,const char *,VoidCallFunction *,int,void *);
|
167
|
+
bool RemoveResetFunction(Environment *,const char *);
|
168
|
+
bool AddClearReadyFunction(Environment *,const char *,BoolCallFunction *,int,void *);
|
169
|
+
bool RemoveClearReadyFunction(Environment *,const char *);
|
170
|
+
bool AddClearFunction(Environment *,const char *,VoidCallFunction *,int,void *);
|
171
|
+
bool RemoveClearFunction(Environment *,const char *);
|
172
|
+
void IncrementClearReadyLocks(Environment *);
|
173
|
+
void DecrementClearReadyLocks(Environment *);
|
174
|
+
Construct *AddConstruct(Environment *,const char *,const char *,
|
175
|
+
bool (*)(Environment *,const char *),
|
176
|
+
FindConstructFunction *,
|
177
|
+
CLIPSLexeme *(*)(ConstructHeader *),
|
178
|
+
const char *(*)(ConstructHeader *),
|
179
|
+
struct defmoduleItemHeader *(*)(ConstructHeader *),
|
180
|
+
GetNextConstructFunction *,
|
181
|
+
void (*)(ConstructHeader *,ConstructHeader *),
|
182
|
+
IsConstructDeletableFunction *,
|
183
|
+
DeleteConstructFunction *,
|
184
|
+
FreeConstructFunction *);
|
185
|
+
bool RemoveConstruct(Environment *,const char *);
|
186
|
+
void SetCompilationsWatch(Environment *,bool);
|
187
|
+
bool GetCompilationsWatch(Environment *);
|
188
|
+
void SetPrintWhileLoading(Environment *,bool);
|
189
|
+
bool GetPrintWhileLoading(Environment *);
|
190
|
+
void SetLoadInProgress(Environment *,bool);
|
191
|
+
bool GetLoadInProgress(Environment *);
|
192
|
+
bool ExecutingConstruct(Environment *);
|
193
|
+
void SetExecutingConstruct(Environment *,bool);
|
194
|
+
void InitializeConstructs(Environment *);
|
195
|
+
BeforeResetFunction *SetBeforeResetFunction(Environment *,BeforeResetFunction *);
|
196
|
+
void ResetCommand(Environment *,UDFContext *,UDFValue *);
|
197
|
+
void ClearCommand(Environment *,UDFContext *,UDFValue *);
|
198
|
+
bool ClearReady(Environment *);
|
199
|
+
Construct *FindConstruct(Environment *,const char *);
|
200
|
+
void DeinstallConstructHeader(Environment *,ConstructHeader *);
|
201
|
+
void DestroyConstructHeader(Environment *,ConstructHeader *);
|
202
|
+
ParserErrorFunction *SetParserErrorCallback(Environment *,ParserErrorFunction *,void *);
|
203
|
+
|
204
|
+
bool AddSaveFunction(Environment *,const char *,SaveCallFunction *,int,void *);
|
205
|
+
bool RemoveSaveFunction(Environment *,const char *);
|
206
|
+
SaveCallFunctionItem *AddSaveFunctionToCallList(Environment *,const char *,int,
|
207
|
+
SaveCallFunction *,SaveCallFunctionItem *,void *);
|
208
|
+
SaveCallFunctionItem *RemoveSaveFunctionFromCallList(Environment *,const char *,
|
209
|
+
SaveCallFunctionItem *,bool *);
|
210
|
+
void DeallocateSaveCallList(Environment *,SaveCallFunctionItem *);
|
211
|
+
|
212
|
+
#endif /* _H_constrct */
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|