khammurabi 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.
Files changed (597) hide show
  1. data/khammurabi-0.2/docs/classes/Array.html +563 -0
  2. data/khammurabi-0.2/docs/classes/Array.src/M000004.html +21 -0
  3. data/khammurabi-0.2/docs/classes/Array.src/M000005.html +18 -0
  4. data/khammurabi-0.2/docs/classes/Array.src/M000006.html +27 -0
  5. data/khammurabi-0.2/docs/classes/Array.src/M000007.html +23 -0
  6. data/khammurabi-0.2/docs/classes/Array.src/M000008.html +29 -0
  7. data/khammurabi-0.2/docs/classes/Array.src/M000009.html +47 -0
  8. data/khammurabi-0.2/docs/classes/Array.src/M000010.html +19 -0
  9. data/khammurabi-0.2/docs/classes/Array.src/M000011.html +22 -0
  10. data/khammurabi-0.2/docs/classes/Array.src/M000012.html +22 -0
  11. data/khammurabi-0.2/docs/classes/Array.src/M000013.html +22 -0
  12. data/khammurabi-0.2/docs/classes/Array.src/M000014.html +16 -0
  13. data/khammurabi-0.2/docs/classes/Array.src/M000015.html +20 -0
  14. data/khammurabi-0.2/docs/classes/Array.src/M000016.html +29 -0
  15. data/khammurabi-0.2/docs/classes/Array.src/M000017.html +25 -0
  16. data/khammurabi-0.2/docs/classes/Array.src/M000018.html +16 -0
  17. data/khammurabi-0.2/docs/classes/Array.src/M000019.html +16 -0
  18. data/khammurabi-0.2/docs/classes/Array.src/M000020.html +16 -0
  19. data/khammurabi-0.2/docs/classes/Array.src/M000021.html +16 -0
  20. data/khammurabi-0.2/docs/classes/Array.src/M000022.html +16 -0
  21. data/khammurabi-0.2/docs/classes/Array.src/M000023.html +16 -0
  22. data/khammurabi-0.2/docs/classes/Array.src/M000024.html +16 -0
  23. data/khammurabi-0.2/docs/classes/Array.src/M000025.html +16 -0
  24. data/khammurabi-0.2/docs/classes/Array.src/M000026.html +16 -0
  25. data/khammurabi-0.2/docs/classes/Array.src/M000027.html +16 -0
  26. data/khammurabi-0.2/docs/classes/Array.src/M000028.html +16 -0
  27. data/khammurabi-0.2/docs/classes/FalseClass.html +139 -0
  28. data/khammurabi-0.2/docs/classes/FalseClass.src/M000003.html +16 -0
  29. data/khammurabi-0.2/docs/classes/Fixnum.html +139 -0
  30. data/khammurabi-0.2/docs/classes/Fixnum.src/M000041.html +22 -0
  31. data/khammurabi-0.2/docs/classes/Hash.html +163 -0
  32. data/khammurabi-0.2/docs/classes/Hash.src/M000001.html +28 -0
  33. data/khammurabi-0.2/docs/classes/Hash.src/M000002.html +22 -0
  34. data/khammurabi-0.2/docs/classes/Hostilities.html +187 -0
  35. data/khammurabi-0.2/docs/classes/Hostilities.src/M000043.html +16 -0
  36. data/khammurabi-0.2/docs/classes/Hostilities.src/M000044.html +16 -0
  37. data/khammurabi-0.2/docs/classes/Hostilities.src/M000045.html +16 -0
  38. data/khammurabi-0.2/docs/classes/Hostilities.src/M000046.html +24 -0
  39. data/khammurabi-0.2/docs/classes/MK.html +330 -0
  40. data/khammurabi-0.2/docs/classes/MK/ActionObjectDelete.html +200 -0
  41. data/khammurabi-0.2/docs/classes/MK/ActionObjectDelete.src/M000194.html +22 -0
  42. data/khammurabi-0.2/docs/classes/MK/ActionObjectDelete.src/M000195.html +19 -0
  43. data/khammurabi-0.2/docs/classes/MK/ActionObjectDelete.src/M000196.html +18 -0
  44. data/khammurabi-0.2/docs/classes/MK/ActionObjectDeleteFromWorkingMemory.html +197 -0
  45. data/khammurabi-0.2/docs/classes/MK/ActionObjectDeleteFromWorkingMemory.src/M000106.html +22 -0
  46. data/khammurabi-0.2/docs/classes/MK/ActionObjectDeleteFromWorkingMemory.src/M000107.html +19 -0
  47. data/khammurabi-0.2/docs/classes/MK/ActionObjectDeleteFromWorkingMemory.src/M000108.html +18 -0
  48. data/khammurabi-0.2/docs/classes/MK/ActionObjectInsert.html +182 -0
  49. data/khammurabi-0.2/docs/classes/MK/ActionObjectInsert.src/M000292.html +22 -0
  50. data/khammurabi-0.2/docs/classes/MK/ActionObjectInsert.src/M000293.html +18 -0
  51. data/khammurabi-0.2/docs/classes/MK/ActionObjectModifyWorkingMemory.html +199 -0
  52. data/khammurabi-0.2/docs/classes/MK/ActionObjectModifyWorkingMemory.src/M000289.html +23 -0
  53. data/khammurabi-0.2/docs/classes/MK/ActionObjectModifyWorkingMemory.src/M000290.html +20 -0
  54. data/khammurabi-0.2/docs/classes/MK/ActionObjectModifyWorkingMemory.src/M000291.html +34 -0
  55. data/khammurabi-0.2/docs/classes/MK/ActionOutput.html +236 -0
  56. data/khammurabi-0.2/docs/classes/MK/ActionOutput.src/M000226.html +22 -0
  57. data/khammurabi-0.2/docs/classes/MK/ActionOutput.src/M000227.html +20 -0
  58. data/khammurabi-0.2/docs/classes/MK/ActionOutput.src/M000228.html +19 -0
  59. data/khammurabi-0.2/docs/classes/MK/ActionOutput.src/M000229.html +19 -0
  60. data/khammurabi-0.2/docs/classes/MK/ActionOutput.src/M000230.html +16 -0
  61. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.html +273 -0
  62. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000282.html +20 -0
  63. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000283.html +25 -0
  64. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000284.html +23 -0
  65. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000285.html +20 -0
  66. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000286.html +22 -0
  67. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000287.html +22 -0
  68. data/khammurabi-0.2/docs/classes/MK/ArbitratorNode.src/M000288.html +16 -0
  69. data/khammurabi-0.2/docs/classes/MK/Cluster.html +475 -0
  70. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000329.html +20 -0
  71. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000330.html +19 -0
  72. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000331.html +16 -0
  73. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000332.html +24 -0
  74. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000333.html +26 -0
  75. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000334.html +24 -0
  76. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000335.html +20 -0
  77. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000336.html +21 -0
  78. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000337.html +21 -0
  79. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000338.html +18 -0
  80. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000339.html +16 -0
  81. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000340.html +25 -0
  82. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000341.html +16 -0
  83. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000342.html +16 -0
  84. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000343.html +16 -0
  85. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000344.html +31 -0
  86. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000345.html +16 -0
  87. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000346.html +20 -0
  88. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000347.html +16 -0
  89. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000348.html +16 -0
  90. data/khammurabi-0.2/docs/classes/MK/Cluster.src/M000349.html +16 -0
  91. data/khammurabi-0.2/docs/classes/MK/ClusterManager.html +521 -0
  92. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000305.html +20 -0
  93. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000306.html +20 -0
  94. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000307.html +29 -0
  95. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000308.html +23 -0
  96. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000309.html +21 -0
  97. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000310.html +16 -0
  98. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000311.html +16 -0
  99. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000312.html +21 -0
  100. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000313.html +21 -0
  101. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000314.html +18 -0
  102. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000315.html +32 -0
  103. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000316.html +20 -0
  104. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000317.html +20 -0
  105. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000318.html +18 -0
  106. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000319.html +22 -0
  107. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000320.html +16 -0
  108. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000321.html +21 -0
  109. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000322.html +23 -0
  110. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000323.html +16 -0
  111. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000324.html +16 -0
  112. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000325.html +30 -0
  113. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000326.html +16 -0
  114. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000327.html +18 -0
  115. data/khammurabi-0.2/docs/classes/MK/ClusterManager.src/M000328.html +39 -0
  116. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.html +271 -0
  117. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000186.html +19 -0
  118. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000187.html +23 -0
  119. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000188.html +25 -0
  120. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000189.html +23 -0
  121. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000190.html +22 -0
  122. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000191.html +33 -0
  123. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000192.html +21 -0
  124. data/khammurabi-0.2/docs/classes/MK/ConstantObjectOperation.src/M000193.html +16 -0
  125. data/khammurabi-0.2/docs/classes/MK/ConstantTestNode.html +185 -0
  126. data/khammurabi-0.2/docs/classes/MK/ConstantTestNode.src/M000251.html +20 -0
  127. data/khammurabi-0.2/docs/classes/MK/ConstantTestNode.src/M000252.html +23 -0
  128. data/khammurabi-0.2/docs/classes/MK/ConstantTestNode.src/M000253.html +41 -0
  129. data/khammurabi-0.2/docs/classes/MK/Engine.html +770 -0
  130. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000115.html +30 -0
  131. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000116.html +32 -0
  132. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000117.html +19 -0
  133. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000118.html +29 -0
  134. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000119.html +18 -0
  135. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000120.html +18 -0
  136. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000121.html +20 -0
  137. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000122.html +22 -0
  138. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000123.html +21 -0
  139. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000124.html +18 -0
  140. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000125.html +19 -0
  141. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000126.html +16 -0
  142. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000127.html +16 -0
  143. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000128.html +153 -0
  144. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000129.html +16 -0
  145. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000130.html +19 -0
  146. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000131.html +24 -0
  147. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000132.html +16 -0
  148. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000133.html +16 -0
  149. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000134.html +46 -0
  150. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000135.html +16 -0
  151. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000136.html +16 -0
  152. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000137.html +20 -0
  153. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000138.html +29 -0
  154. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000139.html +16 -0
  155. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000140.html +16 -0
  156. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000141.html +20 -0
  157. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000142.html +27 -0
  158. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000143.html +26 -0
  159. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000144.html +23 -0
  160. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000145.html +19 -0
  161. data/khammurabi-0.2/docs/classes/MK/Engine.src/M000146.html +25 -0
  162. data/khammurabi-0.2/docs/classes/MK/EqualityTest.html +177 -0
  163. data/khammurabi-0.2/docs/classes/MK/EqualityTest.src/M000092.html +19 -0
  164. data/khammurabi-0.2/docs/classes/MK/EqualityTest.src/M000093.html +20 -0
  165. data/khammurabi-0.2/docs/classes/MK/EqualityTest.src/M000094.html +19 -0
  166. data/khammurabi-0.2/docs/classes/MK/FalseTest.html +177 -0
  167. data/khammurabi-0.2/docs/classes/MK/FalseTest.src/M000397.html +19 -0
  168. data/khammurabi-0.2/docs/classes/MK/FalseTest.src/M000398.html +20 -0
  169. data/khammurabi-0.2/docs/classes/MK/FalseTest.src/M000399.html +19 -0
  170. data/khammurabi-0.2/docs/classes/MK/GraphNode.html +823 -0
  171. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000361.html +28 -0
  172. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000362.html +20 -0
  173. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000363.html +16 -0
  174. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000364.html +19 -0
  175. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000365.html +16 -0
  176. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000366.html +16 -0
  177. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000367.html +20 -0
  178. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000368.html +26 -0
  179. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000369.html +19 -0
  180. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000370.html +19 -0
  181. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000371.html +23 -0
  182. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000372.html +16 -0
  183. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000373.html +16 -0
  184. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000374.html +19 -0
  185. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000375.html +19 -0
  186. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000376.html +16 -0
  187. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000377.html +19 -0
  188. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000378.html +16 -0
  189. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000379.html +25 -0
  190. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000380.html +19 -0
  191. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000381.html +24 -0
  192. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000382.html +20 -0
  193. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000383.html +23 -0
  194. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000384.html +16 -0
  195. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000385.html +31 -0
  196. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000386.html +16 -0
  197. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000387.html +22 -0
  198. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000388.html +19 -0
  199. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000389.html +19 -0
  200. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000390.html +25 -0
  201. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000391.html +50 -0
  202. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000392.html +31 -0
  203. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000393.html +18 -0
  204. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000394.html +18 -0
  205. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000395.html +17 -0
  206. data/khammurabi-0.2/docs/classes/MK/GraphNode.src/M000396.html +16 -0
  207. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.html +261 -0
  208. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000276.html +23 -0
  209. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000277.html +22 -0
  210. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000278.html +30 -0
  211. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000279.html +19 -0
  212. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000280.html +29 -0
  213. data/khammurabi-0.2/docs/classes/MK/GraphNodeJoiner.src/M000281.html +19 -0
  214. data/khammurabi-0.2/docs/classes/MK/GreaterThanOrEqualTest.html +177 -0
  215. data/khammurabi-0.2/docs/classes/MK/GreaterThanOrEqualTest.src/M000095.html +19 -0
  216. data/khammurabi-0.2/docs/classes/MK/GreaterThanOrEqualTest.src/M000096.html +20 -0
  217. data/khammurabi-0.2/docs/classes/MK/GreaterThanOrEqualTest.src/M000097.html +19 -0
  218. data/khammurabi-0.2/docs/classes/MK/GreaterThanTest.html +177 -0
  219. data/khammurabi-0.2/docs/classes/MK/GreaterThanTest.src/M000112.html +19 -0
  220. data/khammurabi-0.2/docs/classes/MK/GreaterThanTest.src/M000113.html +20 -0
  221. data/khammurabi-0.2/docs/classes/MK/GreaterThanTest.src/M000114.html +20 -0
  222. data/khammurabi-0.2/docs/classes/MK/IncorporatorTest.html +139 -0
  223. data/khammurabi-0.2/docs/classes/MK/IncorporatorTest.src/M000294.html +36 -0
  224. data/khammurabi-0.2/docs/classes/MK/InequalityTest.html +177 -0
  225. data/khammurabi-0.2/docs/classes/MK/InequalityTest.src/M000231.html +19 -0
  226. data/khammurabi-0.2/docs/classes/MK/InequalityTest.src/M000232.html +20 -0
  227. data/khammurabi-0.2/docs/classes/MK/InequalityTest.src/M000233.html +19 -0
  228. data/khammurabi-0.2/docs/classes/MK/InstantiatorNode.html +194 -0
  229. data/khammurabi-0.2/docs/classes/MK/InstantiatorNode.src/M000083.html +22 -0
  230. data/khammurabi-0.2/docs/classes/MK/InstantiatorNode.src/M000084.html +20 -0
  231. data/khammurabi-0.2/docs/classes/MK/InstantiatorNode.src/M000085.html +45 -0
  232. data/khammurabi-0.2/docs/classes/MK/LessThanOrEqualTest.html +177 -0
  233. data/khammurabi-0.2/docs/classes/MK/LessThanOrEqualTest.src/M000109.html +19 -0
  234. data/khammurabi-0.2/docs/classes/MK/LessThanOrEqualTest.src/M000110.html +20 -0
  235. data/khammurabi-0.2/docs/classes/MK/LessThanOrEqualTest.src/M000111.html +19 -0
  236. data/khammurabi-0.2/docs/classes/MK/LessThanTest.html +177 -0
  237. data/khammurabi-0.2/docs/classes/MK/LessThanTest.src/M000089.html +19 -0
  238. data/khammurabi-0.2/docs/classes/MK/LessThanTest.src/M000090.html +20 -0
  239. data/khammurabi-0.2/docs/classes/MK/LessThanTest.src/M000091.html +19 -0
  240. data/khammurabi-0.2/docs/classes/MK/Message.html +167 -0
  241. data/khammurabi-0.2/docs/classes/MK/Message.src/M000081.html +20 -0
  242. data/khammurabi-0.2/docs/classes/MK/Message.src/M000082.html +18 -0
  243. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.html +291 -0
  244. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000243.html +20 -0
  245. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000244.html +25 -0
  246. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000245.html +23 -0
  247. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000246.html +35 -0
  248. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000247.html +23 -0
  249. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000248.html +22 -0
  250. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000249.html +22 -0
  251. data/khammurabi-0.2/docs/classes/MK/MultiChildrenArbitratorNode.src/M000250.html +16 -0
  252. data/khammurabi-0.2/docs/classes/MK/MultiChildrenSelectorNode.html +219 -0
  253. data/khammurabi-0.2/docs/classes/MK/MultiChildrenSelectorNode.src/M000161.html +22 -0
  254. data/khammurabi-0.2/docs/classes/MK/MultiChildrenSelectorNode.src/M000162.html +23 -0
  255. data/khammurabi-0.2/docs/classes/MK/MultiChildrenSelectorNode.src/M000163.html +54 -0
  256. data/khammurabi-0.2/docs/classes/MK/MultiChildrenSelectorNode.src/M000164.html +18 -0
  257. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.html +564 -0
  258. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000059.html +21 -0
  259. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000060.html +21 -0
  260. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000061.html +18 -0
  261. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000062.html +24 -0
  262. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000063.html +29 -0
  263. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000064.html +36 -0
  264. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000065.html +23 -0
  265. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000066.html +28 -0
  266. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000067.html +26 -0
  267. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000068.html +16 -0
  268. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000069.html +18 -0
  269. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000070.html +18 -0
  270. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000071.html +16 -0
  271. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000072.html +16 -0
  272. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000073.html +16 -0
  273. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000074.html +16 -0
  274. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000075.html +16 -0
  275. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000076.html +16 -0
  276. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000077.html +22 -0
  277. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000078.html +24 -0
  278. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000079.html +23 -0
  279. data/khammurabi-0.2/docs/classes/MK/ObjectDescription.src/M000080.html +16 -0
  280. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.html +256 -0
  281. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000180.html +19 -0
  282. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000181.html +21 -0
  283. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000182.html +21 -0
  284. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000183.html +16 -0
  285. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000184.html +19 -0
  286. data/khammurabi-0.2/docs/classes/MK/ObjectGraphWrapper.src/M000185.html +16 -0
  287. data/khammurabi-0.2/docs/classes/MK/ObjectIDEqualityTest.html +177 -0
  288. data/khammurabi-0.2/docs/classes/MK/ObjectIDEqualityTest.src/M000400.html +19 -0
  289. data/khammurabi-0.2/docs/classes/MK/ObjectIDEqualityTest.src/M000401.html +20 -0
  290. data/khammurabi-0.2/docs/classes/MK/ObjectIDEqualityTest.src/M000402.html +19 -0
  291. data/khammurabi-0.2/docs/classes/MK/ObjectIDInequalityTest.html +177 -0
  292. data/khammurabi-0.2/docs/classes/MK/ObjectIDInequalityTest.src/M000056.html +19 -0
  293. data/khammurabi-0.2/docs/classes/MK/ObjectIDInequalityTest.src/M000057.html +20 -0
  294. data/khammurabi-0.2/docs/classes/MK/ObjectIDInequalityTest.src/M000058.html +19 -0
  295. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.html +290 -0
  296. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000098.html +19 -0
  297. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000099.html +23 -0
  298. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000100.html +18 -0
  299. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000101.html +18 -0
  300. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000102.html +16 -0
  301. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000103.html +16 -0
  302. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000104.html +19 -0
  303. data/khammurabi-0.2/docs/classes/MK/ObjectOperation.src/M000105.html +16 -0
  304. data/khammurabi-0.2/docs/classes/MK/ObjectProduction.html +223 -0
  305. data/khammurabi-0.2/docs/classes/MK/ObjectProduction.src/M000239.html +24 -0
  306. data/khammurabi-0.2/docs/classes/MK/ObjectProduction.src/M000240.html +21 -0
  307. data/khammurabi-0.2/docs/classes/MK/ObjectProduction.src/M000241.html +19 -0
  308. data/khammurabi-0.2/docs/classes/MK/ObjectProduction.src/M000242.html +19 -0
  309. data/khammurabi-0.2/docs/classes/MK/ObjectProductionAction.html +211 -0
  310. data/khammurabi-0.2/docs/classes/MK/ObjectProductionAction.src/M000273.html +19 -0
  311. data/khammurabi-0.2/docs/classes/MK/ObjectProductionAction.src/M000274.html +16 -0
  312. data/khammurabi-0.2/docs/classes/MK/ObjectProductionAction.src/M000275.html +19 -0
  313. data/khammurabi-0.2/docs/classes/MK/Pair.html +259 -0
  314. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000298.html +21 -0
  315. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000299.html +18 -0
  316. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000300.html +18 -0
  317. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000301.html +20 -0
  318. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000302.html +16 -0
  319. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000303.html +18 -0
  320. data/khammurabi-0.2/docs/classes/MK/Pair.src/M000304.html +22 -0
  321. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.html +289 -0
  322. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000174.html +22 -0
  323. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000175.html +24 -0
  324. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000176.html +20 -0
  325. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000177.html +18 -0
  326. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000178.html +19 -0
  327. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeNode.src/M000179.html +16 -0
  328. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.html +230 -0
  329. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.src/M000234.html +20 -0
  330. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.src/M000235.html +18 -0
  331. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.src/M000236.html +21 -0
  332. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.src/M000237.html +36 -0
  333. data/khammurabi-0.2/docs/classes/MK/ReteParseTreePrinter.src/M000238.html +16 -0
  334. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeToObjectDescriptionConverter.html +219 -0
  335. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeToObjectDescriptionConverter.src/M000170.html +20 -0
  336. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeToObjectDescriptionConverter.src/M000171.html +18 -0
  337. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeToObjectDescriptionConverter.src/M000172.html +16 -0
  338. data/khammurabi-0.2/docs/classes/MK/ReteParseTreeToObjectDescriptionConverter.src/M000173.html +60 -0
  339. data/khammurabi-0.2/docs/classes/MK/RootNode.html +181 -0
  340. data/khammurabi-0.2/docs/classes/MK/RootNode.src/M000295.html +22 -0
  341. data/khammurabi-0.2/docs/classes/MK/RootNode.src/M000296.html +19 -0
  342. data/khammurabi-0.2/docs/classes/MK/RootNode.src/M000297.html +21 -0
  343. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.html +247 -0
  344. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.src/M000165.html +18 -0
  345. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.src/M000166.html +20 -0
  346. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.src/M000167.html +18 -0
  347. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.src/M000168.html +20 -0
  348. data/khammurabi-0.2/docs/classes/MK/TestIDRegistrar.src/M000169.html +28 -0
  349. data/khammurabi-0.2/docs/classes/MK/TestNode.html +203 -0
  350. data/khammurabi-0.2/docs/classes/MK/TestNode.src/M000350.html +18 -0
  351. data/khammurabi-0.2/docs/classes/MK/TestNode.src/M000351.html +20 -0
  352. data/khammurabi-0.2/docs/classes/MK/TestNode.src/M000352.html +16 -0
  353. data/khammurabi-0.2/docs/classes/MK/Token.html +541 -0
  354. data/khammurabi-0.2/docs/classes/MK/Token.src/M000254.html +24 -0
  355. data/khammurabi-0.2/docs/classes/MK/Token.src/M000255.html +16 -0
  356. data/khammurabi-0.2/docs/classes/MK/Token.src/M000256.html +31 -0
  357. data/khammurabi-0.2/docs/classes/MK/Token.src/M000257.html +16 -0
  358. data/khammurabi-0.2/docs/classes/MK/Token.src/M000258.html +16 -0
  359. data/khammurabi-0.2/docs/classes/MK/Token.src/M000259.html +18 -0
  360. data/khammurabi-0.2/docs/classes/MK/Token.src/M000260.html +28 -0
  361. data/khammurabi-0.2/docs/classes/MK/Token.src/M000261.html +26 -0
  362. data/khammurabi-0.2/docs/classes/MK/Token.src/M000262.html +16 -0
  363. data/khammurabi-0.2/docs/classes/MK/Token.src/M000263.html +20 -0
  364. data/khammurabi-0.2/docs/classes/MK/Token.src/M000264.html +20 -0
  365. data/khammurabi-0.2/docs/classes/MK/Token.src/M000265.html +33 -0
  366. data/khammurabi-0.2/docs/classes/MK/Token.src/M000266.html +16 -0
  367. data/khammurabi-0.2/docs/classes/MK/Token.src/M000267.html +16 -0
  368. data/khammurabi-0.2/docs/classes/MK/Token.src/M000268.html +19 -0
  369. data/khammurabi-0.2/docs/classes/MK/Token.src/M000269.html +24 -0
  370. data/khammurabi-0.2/docs/classes/MK/Token.src/M000270.html +16 -0
  371. data/khammurabi-0.2/docs/classes/MK/Token.src/M000271.html +18 -0
  372. data/khammurabi-0.2/docs/classes/MK/Token.src/M000272.html +16 -0
  373. data/khammurabi-0.2/docs/classes/MK/TokenCluster.html +369 -0
  374. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000211.html +16 -0
  375. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000212.html +16 -0
  376. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000213.html +16 -0
  377. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000214.html +16 -0
  378. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000215.html +16 -0
  379. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000216.html +16 -0
  380. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000217.html +16 -0
  381. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000218.html +19 -0
  382. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000219.html +34 -0
  383. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000220.html +19 -0
  384. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000221.html +25 -0
  385. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000222.html +31 -0
  386. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000223.html +92 -0
  387. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000224.html +31 -0
  388. data/khammurabi-0.2/docs/classes/MK/TokenCluster.src/M000225.html +16 -0
  389. data/khammurabi-0.2/docs/classes/MK/TokenClusterManager.html +156 -0
  390. data/khammurabi-0.2/docs/classes/MK/TokenClusterManager.src/M000209.html +19 -0
  391. data/khammurabi-0.2/docs/classes/MK/TokenClusterManager.src/M000210.html +34 -0
  392. data/khammurabi-0.2/docs/classes/MK/TrueTest.html +177 -0
  393. data/khammurabi-0.2/docs/classes/MK/TrueTest.src/M000053.html +19 -0
  394. data/khammurabi-0.2/docs/classes/MK/TrueTest.src/M000054.html +20 -0
  395. data/khammurabi-0.2/docs/classes/MK/TrueTest.src/M000055.html +19 -0
  396. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.html +258 -0
  397. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000203.html +22 -0
  398. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000204.html +22 -0
  399. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000205.html +20 -0
  400. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000206.html +18 -0
  401. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000207.html +18 -0
  402. data/khammurabi-0.2/docs/classes/MK/UniqueTokenAssurerNode.src/M000208.html +62 -0
  403. data/khammurabi-0.2/docs/classes/MK/ValueTest.html +275 -0
  404. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000153.html +19 -0
  405. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000154.html +16 -0
  406. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000155.html +16 -0
  407. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000156.html +16 -0
  408. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000157.html +30 -0
  409. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000158.html +18 -0
  410. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000159.html +18 -0
  411. data/khammurabi-0.2/docs/classes/MK/ValueTest.src/M000160.html +18 -0
  412. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.html +260 -0
  413. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000197.html +20 -0
  414. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000198.html +25 -0
  415. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000199.html +48 -0
  416. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000200.html +19 -0
  417. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000201.html +21 -0
  418. data/khammurabi-0.2/docs/classes/MK/VariableObjectOperation.src/M000202.html +16 -0
  419. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.html +317 -0
  420. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000353.html +24 -0
  421. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000354.html +21 -0
  422. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000355.html +21 -0
  423. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000356.html +25 -0
  424. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000357.html +23 -0
  425. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000358.html +25 -0
  426. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000359.html +25 -0
  427. data/khammurabi-0.2/docs/classes/MK/VariableTestNode.src/M000360.html +19 -0
  428. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.html +249 -0
  429. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000147.html +22 -0
  430. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000148.html +20 -0
  431. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000149.html +16 -0
  432. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000150.html +19 -0
  433. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000151.html +21 -0
  434. data/khammurabi-0.2/docs/classes/MK/VariableTestNodeExecutor.src/M000152.html +216 -0
  435. data/khammurabi-0.2/docs/classes/MK/XiaccEngine.html +191 -0
  436. data/khammurabi-0.2/docs/classes/MK/XiaccEngine.src/M000051.html +122 -0
  437. data/khammurabi-0.2/docs/classes/MK/XiaccEngine.src/M000052.html +69 -0
  438. data/khammurabi-0.2/docs/classes/MK/XiaccParseInput.html +172 -0
  439. data/khammurabi-0.2/docs/classes/MK/XiaccParseInput.src/M000049.html +24 -0
  440. data/khammurabi-0.2/docs/classes/MK/XiaccParseInput.src/M000050.html +20 -0
  441. data/khammurabi-0.2/docs/classes/MK/XiaccParseSpecification.html +174 -0
  442. data/khammurabi-0.2/docs/classes/MK/XiaccParseSpecification.src/M000047.html +21 -0
  443. data/khammurabi-0.2/docs/classes/MK/XiaccParseSpecification.src/M000048.html +20 -0
  444. data/khammurabi-0.2/docs/classes/MK/ZombieNode.html +181 -0
  445. data/khammurabi-0.2/docs/classes/MK/ZombieNode.src/M000086.html +21 -0
  446. data/khammurabi-0.2/docs/classes/MK/ZombieNode.src/M000087.html +18 -0
  447. data/khammurabi-0.2/docs/classes/MK/ZombieNode.src/M000088.html +17 -0
  448. data/khammurabi-0.2/docs/classes/Object.html +345 -0
  449. data/khammurabi-0.2/docs/classes/Object.src/M000029.html +21 -0
  450. data/khammurabi-0.2/docs/classes/Object.src/M000030.html +19 -0
  451. data/khammurabi-0.2/docs/classes/Object.src/M000031.html +24 -0
  452. data/khammurabi-0.2/docs/classes/Object.src/M000032.html +19 -0
  453. data/khammurabi-0.2/docs/classes/Object.src/M000033.html +18 -0
  454. data/khammurabi-0.2/docs/classes/Object.src/M000034.html +22 -0
  455. data/khammurabi-0.2/docs/classes/Object.src/M000035.html +16 -0
  456. data/khammurabi-0.2/docs/classes/Object.src/M000036.html +16 -0
  457. data/khammurabi-0.2/docs/classes/Object.src/M000037.html +16 -0
  458. data/khammurabi-0.2/docs/classes/Object.src/M000038.html +16 -0
  459. data/khammurabi-0.2/docs/classes/Object.src/M000039.html +16 -0
  460. data/khammurabi-0.2/docs/classes/Object.src/M000040.html +16 -0
  461. data/khammurabi-0.2/docs/classes/TrueClass.html +139 -0
  462. data/khammurabi-0.2/docs/classes/TrueClass.src/M000042.html +16 -0
  463. data/khammurabi-0.2/docs/created.rid +1 -0
  464. data/khammurabi-0.2/docs/files/License_txt.html +136 -0
  465. data/khammurabi-0.2/docs/files/ReadMe_txt.html +351 -0
  466. data/khammurabi-0.2/docs/files/nist/khammurabi/ActionObjectDeleteFromWorkingMemory_rb.html +109 -0
  467. data/khammurabi-0.2/docs/files/nist/khammurabi/ActionObjectDelete_rb.html +109 -0
  468. data/khammurabi-0.2/docs/files/nist/khammurabi/ActionObjectInsert_rb.html +109 -0
  469. data/khammurabi-0.2/docs/files/nist/khammurabi/ActionObjectModifyWorkingMemory_rb.html +111 -0
  470. data/khammurabi-0.2/docs/files/nist/khammurabi/ActionOutput_rb.html +110 -0
  471. data/khammurabi-0.2/docs/files/nist/khammurabi/ArbitratorNode_rb.html +108 -0
  472. data/khammurabi-0.2/docs/files/nist/khammurabi/ArrayAddon_rb.html +110 -0
  473. data/khammurabi-0.2/docs/files/nist/khammurabi/BooleanAddon_rb.html +101 -0
  474. data/khammurabi-0.2/docs/files/nist/khammurabi/ClusterManager2_rb.html +108 -0
  475. data/khammurabi-0.2/docs/files/nist/khammurabi/ClusterManager_rb.html +108 -0
  476. data/khammurabi-0.2/docs/files/nist/khammurabi/Cluster_rb.html +110 -0
  477. data/khammurabi-0.2/docs/files/nist/khammurabi/ConstantObjectOperation_rb.html +111 -0
  478. data/khammurabi-0.2/docs/files/nist/khammurabi/ConstantTestNode_rb.html +111 -0
  479. data/khammurabi-0.2/docs/files/nist/khammurabi/Engine_rb.html +128 -0
  480. data/khammurabi-0.2/docs/files/nist/khammurabi/FixnumAddon_rb.html +101 -0
  481. data/khammurabi-0.2/docs/files/nist/khammurabi/GraphNodeJoiner_rb.html +110 -0
  482. data/khammurabi-0.2/docs/files/nist/khammurabi/GraphNode_rb.html +109 -0
  483. data/khammurabi-0.2/docs/files/nist/khammurabi/HashAddon_rb.html +101 -0
  484. data/khammurabi-0.2/docs/files/nist/khammurabi/Hostilities_rb.html +108 -0
  485. data/khammurabi-0.2/docs/files/nist/khammurabi/InstantiatorNode_rb.html +110 -0
  486. data/khammurabi-0.2/docs/files/nist/khammurabi/Message_rb.html +101 -0
  487. data/khammurabi-0.2/docs/files/nist/khammurabi/MultiChildrenArbitratorNode_rb.html +108 -0
  488. data/khammurabi-0.2/docs/files/nist/khammurabi/MultiChildrenSelectorNode_rb.html +108 -0
  489. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectAddon_rb.html +108 -0
  490. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectDescription_rb.html +112 -0
  491. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectGraphWrapper_rb.html +108 -0
  492. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectOperation_rb.html +110 -0
  493. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectProductionAction_rb.html +111 -0
  494. data/khammurabi-0.2/docs/files/nist/khammurabi/ObjectProduction_rb.html +109 -0
  495. data/khammurabi-0.2/docs/files/nist/khammurabi/Pair_rb.html +108 -0
  496. data/khammurabi-0.2/docs/files/nist/khammurabi/QueryNode_rb.html +111 -0
  497. data/khammurabi-0.2/docs/files/nist/khammurabi/ReteParseTreeNode_rb.html +108 -0
  498. data/khammurabi-0.2/docs/files/nist/khammurabi/ReteParseTreePrinter_rb.html +111 -0
  499. data/khammurabi-0.2/docs/files/nist/khammurabi/ReteParseTreeToObjectDescriptionConverter_rb.html +111 -0
  500. data/khammurabi-0.2/docs/files/nist/khammurabi/RootNode_rb.html +109 -0
  501. data/khammurabi-0.2/docs/files/nist/khammurabi/TestIDRegistrar_rb.html +108 -0
  502. data/khammurabi-0.2/docs/files/nist/khammurabi/TestNode_rb.html +109 -0
  503. data/khammurabi-0.2/docs/files/nist/khammurabi/TokenClusterManager_rb.html +110 -0
  504. data/khammurabi-0.2/docs/files/nist/khammurabi/TokenCluster_rb.html +108 -0
  505. data/khammurabi-0.2/docs/files/nist/khammurabi/Token_rb.html +112 -0
  506. data/khammurabi-0.2/docs/files/nist/khammurabi/UniqueTokenAssurerNode_rb.html +110 -0
  507. data/khammurabi-0.2/docs/files/nist/khammurabi/ValueTestSuite_rb.html +108 -0
  508. data/khammurabi-0.2/docs/files/nist/khammurabi/VariableObjectOperation_rb.html +112 -0
  509. data/khammurabi-0.2/docs/files/nist/khammurabi/VariableTestNodeExecutor_rb.html +110 -0
  510. data/khammurabi-0.2/docs/files/nist/khammurabi/VariableTestNode_rb.html +111 -0
  511. data/khammurabi-0.2/docs/files/nist/khammurabi/XiaccEngine_rb.html +126 -0
  512. data/khammurabi-0.2/docs/files/nist/khammurabi/XiaccParseInput_rb.html +108 -0
  513. data/khammurabi-0.2/docs/files/nist/khammurabi/XiaccParseSpecification_rb.html +101 -0
  514. data/khammurabi-0.2/docs/files/nist/khammurabi/ZombieNode_rb.html +108 -0
  515. data/khammurabi-0.2/docs/fr_class_index.html +86 -0
  516. data/khammurabi-0.2/docs/fr_file_index.html +77 -0
  517. data/khammurabi-0.2/docs/fr_method_index.html +428 -0
  518. data/khammurabi-0.2/docs/index.html +24 -0
  519. data/khammurabi-0.2/docs/rdoc-style.css +208 -0
  520. data/khammurabi-0.2/lib/nist/khammurabi/ActionObjectDelete.rb +35 -0
  521. data/khammurabi-0.2/lib/nist/khammurabi/ActionObjectDeleteFromWorkingMemory.rb +34 -0
  522. data/khammurabi-0.2/lib/nist/khammurabi/ActionObjectInsert.rb +29 -0
  523. data/khammurabi-0.2/lib/nist/khammurabi/ActionObjectModifyWorkingMemory.rb +53 -0
  524. data/khammurabi-0.2/lib/nist/khammurabi/ActionOutput.rb +45 -0
  525. data/khammurabi-0.2/lib/nist/khammurabi/ArbitratorNode.rb +68 -0
  526. data/khammurabi-0.2/lib/nist/khammurabi/ArrayAddon.rb +201 -0
  527. data/khammurabi-0.2/lib/nist/khammurabi/BooleanAddon.rb +3 -0
  528. data/khammurabi-0.2/lib/nist/khammurabi/Cluster.rb +128 -0
  529. data/khammurabi-0.2/lib/nist/khammurabi/ClusterManager.rb +96 -0
  530. data/khammurabi-0.2/lib/nist/khammurabi/ClusterManager2.rb +103 -0
  531. data/khammurabi-0.2/lib/nist/khammurabi/ConstantObjectOperation.rb +92 -0
  532. data/khammurabi-0.2/lib/nist/khammurabi/ConstantTestNode.rb +59 -0
  533. data/khammurabi-0.2/lib/nist/khammurabi/Engine.rb +454 -0
  534. data/khammurabi-0.2/lib/nist/khammurabi/FixnumAddon.rb +14 -0
  535. data/khammurabi-0.2/lib/nist/khammurabi/GraphNode.rb +305 -0
  536. data/khammurabi-0.2/lib/nist/khammurabi/GraphNodeJoiner.rb +83 -0
  537. data/khammurabi-0.2/lib/nist/khammurabi/HashAddon.rb +29 -0
  538. data/khammurabi-0.2/lib/nist/khammurabi/Hostilities.rb +24 -0
  539. data/khammurabi-0.2/lib/nist/khammurabi/InstantiatorNode.rb +60 -0
  540. data/khammurabi-0.2/lib/nist/khammurabi/Message.rb +19 -0
  541. data/khammurabi-0.2/lib/nist/khammurabi/MultiChildrenArbitratorNode.rb +97 -0
  542. data/khammurabi-0.2/lib/nist/khammurabi/MultiChildrenSelectorNode.rb +77 -0
  543. data/khammurabi-0.2/lib/nist/khammurabi/ObjectAddon.rb +63 -0
  544. data/khammurabi-0.2/lib/nist/khammurabi/ObjectDescription.rb +192 -0
  545. data/khammurabi-0.2/lib/nist/khammurabi/ObjectGraphWrapper.rb +46 -0
  546. data/khammurabi-0.2/lib/nist/khammurabi/ObjectOperation.rb +59 -0
  547. data/khammurabi-0.2/lib/nist/khammurabi/ObjectProduction.rb +45 -0
  548. data/khammurabi-0.2/lib/nist/khammurabi/ObjectProductionAction.rb +31 -0
  549. data/khammurabi-0.2/lib/nist/khammurabi/Pair.rb +49 -0
  550. data/khammurabi-0.2/lib/nist/khammurabi/QueryNode.rb +44 -0
  551. data/khammurabi-0.2/lib/nist/khammurabi/ReteParseTreeNode.rb +66 -0
  552. data/khammurabi-0.2/lib/nist/khammurabi/ReteParseTreePrinter.rb +58 -0
  553. data/khammurabi-0.2/lib/nist/khammurabi/ReteParseTreeToObjectDescriptionConverter.rb +76 -0
  554. data/khammurabi-0.2/lib/nist/khammurabi/RootNode.rb +32 -0
  555. data/khammurabi-0.2/lib/nist/khammurabi/TODO +7 -0
  556. data/khammurabi-0.2/lib/nist/khammurabi/TestIDRegistrar.rb +63 -0
  557. data/khammurabi-0.2/lib/nist/khammurabi/TestNode.rb +33 -0
  558. data/khammurabi-0.2/lib/nist/khammurabi/Token.rb +168 -0
  559. data/khammurabi-0.2/lib/nist/khammurabi/TokenCluster.rb +177 -0
  560. data/khammurabi-0.2/lib/nist/khammurabi/TokenClusterManager.rb +36 -0
  561. data/khammurabi-0.2/lib/nist/khammurabi/UniqueTokenAssurerNode.rb +100 -0
  562. data/khammurabi-0.2/lib/nist/khammurabi/ValueTestSuite.rb +239 -0
  563. data/khammurabi-0.2/lib/nist/khammurabi/VariableObjectOperation.rb +87 -0
  564. data/khammurabi-0.2/lib/nist/khammurabi/VariableTestNode.rb +73 -0
  565. data/khammurabi-0.2/lib/nist/khammurabi/VariableTestNodeExecutor.rb +246 -0
  566. data/khammurabi-0.2/lib/nist/khammurabi/XiaccEngine.rb +201 -0
  567. data/khammurabi-0.2/lib/nist/khammurabi/XiaccParseInput.rb +27 -0
  568. data/khammurabi-0.2/lib/nist/khammurabi/XiaccParseSpecification.rb +25 -0
  569. data/khammurabi-0.2/lib/nist/khammurabi/ZombieNode.rb +24 -0
  570. data/khammurabi-0.2/tests/test_action_object_delete.rb +91 -0
  571. data/khammurabi-0.2/tests/test_action_object_insert.rb +89 -0
  572. data/khammurabi-0.2/tests/test_action_object_modify.rb +103 -0
  573. data/khammurabi-0.2/tests/test_array_addon.rb +214 -0
  574. data/khammurabi-0.2/tests/test_cluster.rb +188 -0
  575. data/khammurabi-0.2/tests/test_cluster_graph.rb +393 -0
  576. data/khammurabi-0.2/tests/test_cluster_manager.rb +204 -0
  577. data/khammurabi-0.2/tests/test_constant_object_operation.rb +112 -0
  578. data/khammurabi-0.2/tests/test_constant_test_node.rb +142 -0
  579. data/khammurabi-0.2/tests/test_constant_test_node_graph.rb +404 -0
  580. data/khammurabi-0.2/tests/test_graph.rb +843 -0
  581. data/khammurabi-0.2/tests/test_graph_node_joiner.rb +94 -0
  582. data/khammurabi-0.2/tests/test_hash_addon.rb +90 -0
  583. data/khammurabi-0.2/tests/test_insurance_with_variables.rb +143 -0
  584. data/khammurabi-0.2/tests/test_multi_children_arbitrator_node.rb +149 -0
  585. data/khammurabi-0.2/tests/test_multi_children_selector_node.rb +203 -0
  586. data/khammurabi-0.2/tests/test_object_description.rb +177 -0
  587. data/khammurabi-0.2/tests/test_person_graph.rb +202 -0
  588. data/khammurabi-0.2/tests/test_root_node.rb +101 -0
  589. data/khammurabi-0.2/tests/test_token.rb +166 -0
  590. data/khammurabi-0.2/tests/test_token_cluster.rb +324 -0
  591. data/khammurabi-0.2/tests/test_unique_token_assurer_node.rb +146 -0
  592. data/khammurabi-0.2/tests/test_value_tests.rb +131 -0
  593. data/khammurabi-0.2/tests/test_variable_object_operation.rb +181 -0
  594. data/khammurabi-0.2/tests/test_variable_test_node.rb +445 -0
  595. data/khammurabi-0.2/tests/test_variable_test_node_graph.rb +587 -0
  596. data/khammurabi-0.2/tests/test_zombie_node.rb +130 -0
  597. metadata +790 -0
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>new (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 44</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span> = <span class="ruby-keyword kw">nil</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">objectProductions</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">leaves</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
19
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">registeredTokens</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-keyword kw">false</span> }
20
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">clusterManager</span> = <span class="ruby-constant">TokenClusterManager</span>.<span class="ruby-identifier">new</span>
21
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">false</span>
22
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">messages</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
23
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">variableTestNodeExecutors</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-comment cmt"># Array.new</span>
24
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rootNodes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> <span class="ruby-comment cmt">#Array.new</span>
25
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processPermissions</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-keyword kw">true</span> }
26
+ <span class="ruby-comment cmt"># variableLevel of 0 is reserved for the Cluster</span>
27
+ <span class="ruby-ivar">@variableLevel</span> = <span class="ruby-value">1</span>
28
+ <span class="ruby-keyword kw">end</span></pre>
29
+ </body>
30
+ </html>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>addObject (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 65</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addObject</span>( <span class="ruby-identifier">object</span> )
15
+ <span class="ruby-comment cmt"># Is this object a message?</span>
16
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">kind_of?</span>( <span class="ruby-constant">MK</span><span class="ruby-operator">::</span><span class="ruby-constant">Message</span> )
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">messages</span>.<span class="ruby-identifier">push</span>( <span class="ruby-identifier">object</span> )
18
+ <span class="ruby-keyword kw">else</span>
19
+ <span class="ruby-comment cmt">#self.notice( &quot;Adding object with id: #{object.object_id}&quot; )</span>
20
+ <span class="ruby-identifier">objectGraphWrapper</span> = <span class="ruby-constant">ObjectGraphWrapper</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">object</span> )
21
+ <span class="ruby-identifier">token</span> = <span class="ruby-constant">Token</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">objectGraphWrapper</span>, <span class="ruby-value str">&quot;+&quot;</span>, <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> )
22
+ <span class="ruby-identifier">token</span>.<span class="ruby-identifier">beginBroadcastingTo</span>( <span class="ruby-keyword kw">self</span> )
23
+ <span class="ruby-comment cmt">#self.clusterManager.addObjectToCluster( token, self.clusterManager.nilCluster )</span>
24
+ <span class="ruby-identifier">cluster</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">clusterManager</span>.<span class="ruby-identifier">createCluster</span>( <span class="ruby-identifier">token</span>, <span class="ruby-constant">TokenCluster</span> )
25
+ <span class="ruby-identifier">cluster</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
26
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">notice</span>( <span class="ruby-node">&quot;Made a token with cluster ID: #{token.cluster.clusterID}&quot;</span> )
27
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">addWorkingMemoryElement</span>( <span class="ruby-identifier">token</span> )
28
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processWorkingMemoryElements</span>
29
+ <span class="ruby-keyword kw">end</span>
30
+ <span class="ruby-keyword kw">end</span></pre>
31
+ </body>
32
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>addWorkingMemoryElement (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 84</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addWorkingMemoryElement</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">error</span>( <span class="ruby-node">&quot;Trying to add a working memory element which isn't a token.. it's a: #{element.class}&quot;</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">Token</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">push</span>( <span class="ruby-identifier">element</span> )
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>deleteTokensFromWorkingMemoryWithObject (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 90</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deleteTokensFromWorkingMemoryWithObject</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-identifier">toDelete</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">wme</span><span class="ruby-operator">|</span>
17
+ <span class="ruby-identifier">wme</span>.<span class="ruby-identifier">objectGraphWrappers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ogw</span><span class="ruby-operator">|</span>
18
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ogw</span>.<span class="ruby-identifier">object</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">element</span>
19
+ <span class="ruby-identifier">toDelete</span>.<span class="ruby-identifier">push</span>( <span class="ruby-identifier">wme</span> )
20
+ <span class="ruby-keyword kw">break</span>
21
+ <span class="ruby-keyword kw">end</span>
22
+ <span class="ruby-keyword kw">end</span>
23
+ <span class="ruby-keyword kw">end</span>
24
+ <span class="ruby-identifier">toDelete</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">tod</span><span class="ruby-operator">|</span>
25
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">wme</span><span class="ruby-operator">|</span> <span class="ruby-identifier">wme</span>.<span class="ruby-identifier">equal?</span>( <span class="ruby-identifier">tod</span> ) }
26
+ <span class="ruby-keyword kw">end</span>
27
+ <span class="ruby-keyword kw">end</span></pre>
28
+ </body>
29
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>deleteFromWorkingMemory (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 106</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deleteFromWorkingMemory</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">wme</span><span class="ruby-operator">|</span> <span class="ruby-identifier">wme</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">element</span> }
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>deleteFromWorkingMemoryUsingEqual? (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 110</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deleteFromWorkingMemoryUsingEqual?</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">wme</span><span class="ruby-operator">|</span> <span class="ruby-identifier">wme</span>.<span class="ruby-identifier">equal?</span>( <span class="ruby-identifier">element</span> ) }
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>workingMemoryElementWasChanged (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 114</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">workingMemoryElementWasChanged</span>( <span class="ruby-identifier">token</span> )
15
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">includeID?</span>( <span class="ruby-identifier">token</span> )
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processPermissions</span>[ <span class="ruby-identifier">token</span> ] = <span class="ruby-keyword kw">true</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processWorkingMemoryElement</span>( <span class="ruby-identifier">token</span> )
18
+ <span class="ruby-keyword kw">end</span></pre>
19
+ </body>
20
+ </html>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>processWorkingMemoryElements (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 122</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processWorkingMemoryElements</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">workingMemoryElements</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">element</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">okToProcessWorkingMemoryElement?</span>( <span class="ruby-identifier">element</span> )
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processWorkingMemoryElement</span>( <span class="ruby-identifier">element</span> )
18
+ <span class="ruby-keyword kw">end</span>
19
+ <span class="ruby-keyword kw">end</span>
20
+ <span class="ruby-keyword kw">end</span></pre>
21
+ </body>
22
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>processWorkingMemoryElement (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 130</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processWorkingMemoryElement</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">error</span>( <span class="ruby-node">&quot;Trying to process a working memory element which isn't a token.. it's a: #{element.class}&quot;</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">element</span>.<span class="ruby-identifier">kind_of?</span>( <span class="ruby-constant">Token</span> )
16
+ <span class="ruby-comment cmt">#self.workingMemoryElements.delete( element )</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">notice</span>( <span class="ruby-node">&quot;ProcessWorkingMemoryElements root id: #{self.root.object_id}&quot;</span> )
18
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">addToken</span>( <span class="ruby-identifier">element</span>, <span class="ruby-keyword kw">self</span> )
19
+ <span class="ruby-keyword kw">end</span></pre>
20
+ </body>
21
+ </html>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>okToProcessWorkingMemoryElement? (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 137</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">okToProcessWorkingMemoryElement?</span>( <span class="ruby-identifier">element</span> )
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processPermissions</span>[ <span class="ruby-identifier">element</span> ]
16
+ <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>tokenFailed (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 141</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tokenFailed</span>( <span class="ruby-identifier">vars</span> )
15
+ <span class="ruby-identifier">token</span> = <span class="ruby-identifier">vars</span>.<span class="ruby-identifier">first</span>
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">processPermissions</span>[ <span class="ruby-identifier">token</span> ] = <span class="ruby-keyword kw">false</span>
17
+ <span class="ruby-keyword kw">end</span></pre>
18
+ </body>
19
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>leaf (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 147</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">leaf</span>( <span class="ruby-identifier">objectProduction</span> ); <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">leaves</span>[ <span class="ruby-identifier">objectProduction</span> ]; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>name (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 150</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>; <span class="ruby-value str">&quot;Engine&quot;</span>; <span class="ruby-keyword kw">end</span></pre>
15
+ </body>
16
+ </html>
@@ -0,0 +1,153 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html>
7
+ <head>
8
+ <title>compile (MK::Engine)</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ </head>
12
+ <body class="standalone-code">
13
+ <pre><span class="ruby-comment cmt"># File nist/khammurabi/Engine.rb, line 166</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compile</span>
15
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span> = <span class="ruby-constant">RootNode</span>.<span class="ruby-identifier">init</span>( <span class="ruby-value str">&quot;0&quot;</span>, <span class="ruby-keyword kw">self</span> )
16
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">name</span> = <span class="ruby-value">0</span>
17
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
18
+ <span class="ruby-identifier">name</span> = <span class="ruby-value">1</span>
19
+ <span class="ruby-identifier">variableTestNodeExecutorName</span> = <span class="ruby-value">0</span>
20
+ <span class="ruby-identifier">largestVariableTestNodeLevel</span> = <span class="ruby-value">0</span>
21
+ <span class="ruby-identifier">variableTestNodeLevels</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-value">-1</span> }
22
+
23
+ <span class="ruby-comment cmt"># if more than one description is the same, find them so that we cna </span>
24
+ <span class="ruby-comment cmt"># use an arbitrator for their input</span>
25
+ <span class="ruby-identifier">matchedDescriptionsArray</span> = <span class="ruby-identifier">findMatchedDescriptions</span>
26
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">matchedDescriptionsArray</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
27
+ <span class="ruby-identifier">errorStr</span> = <span class="ruby-node">&quot;Failed to parse input. Have #{matchedDescriptionsArray.second.values.first.size} similar (and thus ambiguous) inputs. They are:\n &quot;</span>
28
+ <span class="ruby-identifier">matchedDescriptionsArray</span>.<span class="ruby-identifier">second</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">objectProduction</span>, <span class="ruby-identifier">matchedDescriptions</span><span class="ruby-operator">|</span>
29
+ <span class="ruby-identifier">errorStr</span> = <span class="ruby-node">&quot;#{errorStr}\tFor object production: #{objectProduction}:&quot;</span>
30
+ <span class="ruby-identifier">matchedDescriptions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">md</span><span class="ruby-operator">|</span>
31
+ <span class="ruby-identifier">errorStr</span> = <span class="ruby-node">&quot;#{errorStr}\t\t#{md}\n&quot;</span>
32
+ <span class="ruby-keyword kw">end</span>
33
+ <span class="ruby-keyword kw">end</span>
34
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">error</span>( <span class="ruby-identifier">errorStr</span> )
35
+ <span class="ruby-keyword kw">end</span>
36
+
37
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">objectProductions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">objectProduction</span><span class="ruby-operator">|</span>
38
+ <span class="ruby-identifier">vtnes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-keyword kw">nil</span> } <span class="ruby-comment cmt"># maps variable name to executor</span>
39
+ <span class="ruby-identifier">graphLeaves</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
40
+
41
+ <span class="ruby-comment cmt"># constantCount is used to sort the testNodes so that the testNodes with the most constant tests in them get used first</span>
42
+ <span class="ruby-comment cmt"># (more constant test nodes = a more restrictive test)</span>
43
+ <span class="ruby-identifier">constantCount</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
44
+ <span class="ruby-identifier">constantTestNodesMap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
45
+ <span class="ruby-identifier">variableTestNodesMap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
46
+ <span class="ruby-identifier">testNodes</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
47
+
48
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rootNodes</span>[ <span class="ruby-identifier">objectProduction</span> ] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
49
+ <span class="ruby-identifier">productionRoot</span> = <span class="ruby-constant">MultiChildrenSelectorNode</span>.<span class="ruby-identifier">init</span>( <span class="ruby-value str">&quot;mcsn&quot;</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span> ) <span class="ruby-comment cmt"># RootNode.init( name, self, self.debug )</span>
50
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rootNodes</span>[ <span class="ruby-identifier">objectProduction</span> ].<span class="ruby-identifier">push</span>( <span class="ruby-identifier">productionRoot</span> )
51
+
52
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
53
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">makeChildConnection</span>( <span class="ruby-identifier">productionRoot</span> )
54
+
55
+ <span class="ruby-identifier">bottom</span> = <span class="ruby-keyword kw">nil</span>
56
+ <span class="ruby-comment cmt"># setup the constant and variable test nodes</span>
57
+ <span class="ruby-identifier">objectProduction</span>.<span class="ruby-identifier">objectDescriptions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">objectDescription</span><span class="ruby-operator">|</span>
58
+ <span class="ruby-identifier">constantTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
59
+ <span class="ruby-identifier">variableTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
60
+ <span class="ruby-identifier">bottom</span> = <span class="ruby-identifier">productionRoot</span>
61
+
62
+ <span class="ruby-identifier">graphNodes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
63
+ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">objectOperations</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">variableName</span>, <span class="ruby-identifier">objectOperation</span><span class="ruby-operator">|</span>
64
+ <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
65
+ <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-value">-1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
66
+ <span class="ruby-identifier">objectOperation</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
67
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">objectOperation</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">VariableObjectOperation</span>
68
+ <span class="ruby-identifier">vname</span> = <span class="ruby-identifier">objectOperation</span>.<span class="ruby-identifier">variableName</span> <span class="ruby-comment cmt"># This is like &lt;X&gt; or &lt;Y&gt; in ops5</span>
69
+ <span class="ruby-comment cmt"># This is stored in a hash to avoid creating more than one VTNE per vname</span>
70
+ <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ] = <span class="ruby-constant">VariableTestNodeExecutor</span>.<span class="ruby-identifier">init</span>( <span class="ruby-keyword kw">self</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
71
+ <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ].<span class="ruby-identifier">name</span> = <span class="ruby-node">&quot;VTNE #{variableTestNodeExecutorName}&quot;</span>
72
+ <span class="ruby-identifier">variableTestNodeExecutorName</span> = <span class="ruby-identifier">variableTestNodeExecutorName</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
73
+ <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ].<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
74
+
75
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">variableTestNodeLevels</span>[ <span class="ruby-identifier">vname</span> ] <span class="ruby-operator">==</span> <span class="ruby-value">-1</span>
76
+ <span class="ruby-identifier">variableTestNodeLevels</span>[ <span class="ruby-identifier">vname</span> ] = <span class="ruby-identifier">largestVariableTestNodeLevel</span>
77
+ <span class="ruby-identifier">largestVariableTestNodeLevel</span> = <span class="ruby-identifier">largestVariableTestNodeLevel</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
78
+ <span class="ruby-keyword kw">end</span>
79
+ <span class="ruby-identifier">vlevel</span> = <span class="ruby-identifier">variableTestNodeLevels</span>[ <span class="ruby-identifier">vname</span> ]
80
+ <span class="ruby-comment cmt">#print &quot;level: #{vlevel}\n&quot;</span>
81
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">error</span>( <span class="ruby-node">&quot;Level must be &gt;= 0, it is: #{vlevel}&quot;</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">vlevel</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span>
82
+ <span class="ruby-identifier">variableTestNode</span> = <span class="ruby-constant">VariableTestNode</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">objectOperation</span>, <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ], <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">variableTestNodeLevels</span>[ <span class="ruby-identifier">vname</span> ] )
83
+
84
+ <span class="ruby-identifier">vtnes</span>[ <span class="ruby-identifier">vname</span> ].<span class="ruby-identifier">addVariableTestNode</span>( <span class="ruby-identifier">variableTestNode</span> )
85
+ <span class="ruby-identifier">variableTestNode</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
86
+ <span class="ruby-identifier">variableTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ].<span class="ruby-identifier">push</span>( <span class="ruby-identifier">variableTestNode</span> )
87
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">objectOperation</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ConstantObjectOperation</span>
88
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">notice</span>( <span class="ruby-node">&quot;Construction : adding constantObjectOperation of: #{objectOperation}&quot;</span> )
89
+ <span class="ruby-identifier">constantTestNode</span> = <span class="ruby-constant">ConstantTestNode</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">objectOperation</span>, <span class="ruby-keyword kw">self</span>, <span class="ruby-keyword kw">nil</span> )
90
+ <span class="ruby-identifier">constantTestNode</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
91
+ <span class="ruby-identifier">constantTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ].<span class="ruby-identifier">push</span>( <span class="ruby-identifier">constantTestNode</span> ) <span class="ruby-comment cmt"># , testNodes[ objectDescription.object_id ] ].flatten </span>
92
+ <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
93
+ <span class="ruby-keyword kw">end</span>
94
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
95
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># objectDescription.objectOperations.each_pair do</span>
96
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># objectProduction.objectDescriptions.each do |objectDescription|</span>
97
+
98
+
99
+ <span class="ruby-identifier">objectProduction</span>.<span class="ruby-identifier">objectDescriptions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">objectDescription</span><span class="ruby-operator">|</span>
100
+ <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
101
+ <span class="ruby-identifier">variableTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ].<span class="ruby-identifier">sort!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">o1</span>,<span class="ruby-identifier">o2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">o1</span>.<span class="ruby-identifier">level</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">o2</span>.<span class="ruby-identifier">level</span> }
102
+ <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ].<span class="ruby-identifier">concat</span>( <span class="ruby-identifier">constantTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] )
103
+ <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ].<span class="ruby-identifier">concat</span>( <span class="ruby-identifier">variableTestNodesMap</span>[ <span class="ruby-identifier">objectDescription</span>.<span class="ruby-identifier">object_id</span> ] )
104
+ <span class="ruby-keyword kw">end</span>
105
+
106
+ <span class="ruby-comment cmt"># sort the graphNode subtrees by number of constants they have</span>
107
+ <span class="ruby-identifier">descriptionSort</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
108
+ <span class="ruby-identifier">testNodes</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>,<span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
109
+ <span class="ruby-comment cmt"># find correct place to put into graphNodes</span>
110
+ <span class="ruby-identifier">inserted</span> = <span class="ruby-keyword kw">false</span>
111
+ <span class="ruby-identifier">descriptionSort</span>.<span class="ruby-identifier">each_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">index</span><span class="ruby-operator">|</span>
112
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">key</span> ] <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">constantCount</span>[ <span class="ruby-identifier">descriptionSort</span>[ <span class="ruby-identifier">index</span> ] ]
113
+ <span class="ruby-identifier">descriptionSort</span>.<span class="ruby-identifier">insert</span>( <span class="ruby-identifier">index</span>, <span class="ruby-identifier">key</span> )
114
+ <span class="ruby-identifier">inserted</span> = <span class="ruby-keyword kw">true</span>
115
+ <span class="ruby-keyword kw">break</span>
116
+ <span class="ruby-keyword kw">end</span>
117
+ <span class="ruby-keyword kw">end</span>
118
+ <span class="ruby-identifier">descriptionSort</span>.<span class="ruby-identifier">push</span>( <span class="ruby-identifier">key</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">inserted</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
119
+ <span class="ruby-keyword kw">end</span>
120
+
121
+ <span class="ruby-comment cmt"># Join the graph nodes for each objectDescription</span>
122
+ <span class="ruby-identifier">descriptionSort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">description</span><span class="ruby-operator">|</span>
123
+ <span class="ruby-identifier">bottom</span> = <span class="ruby-identifier">productionRoot</span>
124
+ <span class="ruby-identifier">testNodes</span>[ <span class="ruby-identifier">description</span> ].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">graphNode</span><span class="ruby-operator">|</span>
125
+ <span class="ruby-identifier">bottom</span>.<span class="ruby-identifier">makeChildConnection</span>( <span class="ruby-identifier">graphNode</span> )
126
+ <span class="ruby-identifier">bottom</span> = <span class="ruby-identifier">graphNode</span>
127
+ <span class="ruby-keyword kw">end</span>
128
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">push</span>( <span class="ruby-identifier">bottom</span> )
129
+ <span class="ruby-keyword kw">end</span>
130
+
131
+ <span class="ruby-comment cmt"># Join all the leaves together</span>
132
+ <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
133
+ <span class="ruby-identifier">joiner</span> = <span class="ruby-constant">GraphNodeJoiner</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">name</span>, <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">first</span>, <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">second</span>, <span class="ruby-keyword kw">self</span> )
134
+ <span class="ruby-identifier">joiner</span>.<span class="ruby-identifier">debug</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debug</span>
135
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
136
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">setChild</span>( <span class="ruby-identifier">joiner</span> )
137
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">second</span>.<span class="ruby-identifier">setChild</span>( <span class="ruby-identifier">joiner</span> )
138
+ <span class="ruby-identifier">joiner</span>.<span class="ruby-identifier">setParents</span>( [ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">first</span>, <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">second</span> ] )
139
+ <span class="ruby-identifier">bottom</span> = <span class="ruby-identifier">joiner</span>
140
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">shift</span>
141
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">shift</span>
142
+ <span class="ruby-identifier">graphLeaves</span>.<span class="ruby-identifier">unshift</span>( <span class="ruby-identifier">joiner</span> )
143
+ <span class="ruby-keyword kw">end</span>
144
+
145
+ <span class="ruby-comment cmt"># Join the leaf to an instantiator</span>
146
+ <span class="ruby-identifier">instantiatorNode</span> = <span class="ruby-constant">InstantiatorNode</span>.<span class="ruby-identifier">init</span>( <span class="ruby-identifier">objectProduction</span>, <span class="ruby-identifier">name</span>, <span class="ruby-keyword kw">self</span> )
147
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
148
+ <span class="ruby-identifier">bottom</span>.<span class="ruby-identifier">makeChildConnection</span>( <span class="ruby-identifier">instantiatorNode</span> )
149
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">leaves</span>[ <span class="ruby-identifier">objectProduction</span> ] = <span class="ruby-identifier">instantiatorNode</span>
150
+ <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># self.objectProductions.each do</span>
151
+ <span class="ruby-keyword kw">end</span></pre>
152
+ </body>
153
+ </html>