occam-verify-cli 1.0.185 → 1.0.192

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 (196) hide show
  1. package/lib/constants.js +5 -1
  2. package/lib/dom/assertion/property.js +2 -4
  3. package/lib/dom/assertion/subproof.js +3 -5
  4. package/lib/dom/assertion/type.js +6 -8
  5. package/lib/dom/axiom.js +15 -100
  6. package/lib/dom/conjecture.js +5 -4
  7. package/lib/dom/constructor/bracketed.js +6 -7
  8. package/lib/dom/declaration/complexType.js +6 -6
  9. package/lib/dom/declaration/metavariable.js +3 -5
  10. package/lib/dom/declaration/type.js +2 -2
  11. package/lib/dom/declaration.js +2 -4
  12. package/lib/dom/derivation.js +2 -4
  13. package/lib/dom/equality.js +9 -11
  14. package/lib/dom/frame.js +8 -12
  15. package/lib/dom/judgement.js +2 -4
  16. package/lib/dom/lemma.js +5 -4
  17. package/lib/dom/metaLemma.js +5 -4
  18. package/lib/dom/metaType.js +2 -4
  19. package/lib/dom/metatheorem.js +5 -4
  20. package/lib/dom/metavariable.js +12 -15
  21. package/lib/dom/parameter.js +2 -4
  22. package/lib/dom/procedureCall.js +6 -10
  23. package/lib/dom/proof.js +2 -4
  24. package/lib/dom/property.js +16 -51
  25. package/lib/dom/propertyRelation.js +8 -10
  26. package/lib/dom/reference.js +7 -11
  27. package/lib/dom/rule.js +6 -8
  28. package/lib/dom/statement.js +27 -31
  29. package/lib/dom/step.js +4 -6
  30. package/lib/dom/subDerivation.js +2 -4
  31. package/lib/dom/subproof.js +6 -8
  32. package/lib/dom/term.js +14 -20
  33. package/lib/dom/theorem.js +5 -4
  34. package/lib/dom/topLevelAssertion.js +30 -24
  35. package/lib/dom/topLevelMetaAssertion.js +5 -15
  36. package/lib/dom/type.js +8 -25
  37. package/lib/dom/variable.js +5 -11
  38. package/lib/node/assertion/contained.js +45 -58
  39. package/lib/node/assertion/defined.js +33 -58
  40. package/lib/node/assertion/property.js +33 -58
  41. package/lib/node/assertion/satisfies.js +21 -58
  42. package/lib/node/assertion/subproof.js +21 -58
  43. package/lib/node/assertion/type.js +33 -58
  44. package/lib/node/axiom.js +6 -52
  45. package/lib/node/combinator.js +6 -57
  46. package/lib/node/conclusion.js +21 -58
  47. package/lib/node/conjecture.js +6 -52
  48. package/lib/node/constructor.js +6 -57
  49. package/lib/node/declaration/combinator.js +13 -61
  50. package/lib/node/declaration/complexType.js +27 -75
  51. package/lib/node/declaration/constructor.js +24 -70
  52. package/lib/node/declaration/metavariable.js +40 -58
  53. package/lib/node/declaration/property.js +27 -72
  54. package/lib/node/declaration/type.js +23 -69
  55. package/lib/node/declaration/variable.js +28 -83
  56. package/lib/node/declaration.js +33 -58
  57. package/lib/node/deduction.js +21 -58
  58. package/lib/node/derivation.js +21 -58
  59. package/lib/node/equality.js +34 -58
  60. package/lib/node/error.js +6 -57
  61. package/lib/node/frame.js +52 -58
  62. package/lib/node/judgement.js +33 -58
  63. package/lib/node/label.js +21 -58
  64. package/lib/{node.js → node/labels.js} +25 -27
  65. package/lib/node/lemma.js +6 -52
  66. package/lib/node/metaLemma.js +6 -52
  67. package/lib/node/metaType.js +18 -60
  68. package/lib/node/metatheorem.js +6 -52
  69. package/lib/node/metavariable.js +40 -61
  70. package/lib/node/parameter.js +22 -58
  71. package/lib/node/parenthesisedLabels.js +123 -0
  72. package/lib/node/premise.js +33 -58
  73. package/lib/node/procedureCall.js +33 -58
  74. package/lib/node/proof.js +21 -58
  75. package/lib/node/property.js +18 -62
  76. package/lib/node/propertyRelation.js +40 -58
  77. package/lib/node/reference.js +21 -58
  78. package/lib/node/rule.js +6 -52
  79. package/lib/node/statement.js +105 -58
  80. package/lib/node/step.js +47 -58
  81. package/lib/node/subDerivation.js +21 -58
  82. package/lib/node/subproof.js +47 -58
  83. package/lib/node/supposition.js +33 -58
  84. package/lib/node/term.js +57 -58
  85. package/lib/node/theorem.js +6 -52
  86. package/lib/node/topLevelAssertion.js +86 -59
  87. package/lib/node/topLevelMetaAssertion.js +65 -59
  88. package/lib/node/type.js +14 -60
  89. package/lib/node/variable.js +14 -60
  90. package/lib/nominal/parser.js +3 -3
  91. package/lib/nonTerminalNodeMap.js +5 -3
  92. package/lib/ruleNames.js +10 -2
  93. package/lib/utilities/node.js +283 -7
  94. package/lib/utilities/type.js +16 -4
  95. package/lib/verifier/topLevel.js +6 -6
  96. package/package.json +2 -2
  97. package/src/constants.js +1 -0
  98. package/src/dom/assertion/property.js +1 -4
  99. package/src/dom/assertion/subproof.js +2 -6
  100. package/src/dom/assertion/type.js +7 -10
  101. package/src/dom/axiom.js +7 -77
  102. package/src/dom/conjecture.js +6 -1
  103. package/src/dom/constructor/bracketed.js +6 -8
  104. package/src/dom/declaration/complexType.js +7 -6
  105. package/src/dom/declaration/metavariable.js +2 -6
  106. package/src/dom/declaration/type.js +4 -2
  107. package/src/dom/declaration.js +1 -5
  108. package/src/dom/derivation.js +1 -4
  109. package/src/dom/equality.js +13 -17
  110. package/src/dom/frame.js +7 -19
  111. package/src/dom/judgement.js +1 -4
  112. package/src/dom/lemma.js +6 -1
  113. package/src/dom/metaLemma.js +6 -1
  114. package/src/dom/metaType.js +1 -5
  115. package/src/dom/metatheorem.js +6 -1
  116. package/src/dom/metavariable.js +11 -25
  117. package/src/dom/parameter.js +2 -6
  118. package/src/dom/procedureCall.js +5 -14
  119. package/src/dom/proof.js +1 -4
  120. package/src/dom/property.js +21 -78
  121. package/src/dom/propertyRelation.js +10 -14
  122. package/src/dom/reference.js +6 -18
  123. package/src/dom/rule.js +6 -12
  124. package/src/dom/statement.js +26 -46
  125. package/src/dom/step.js +3 -5
  126. package/src/dom/subDerivation.js +1 -4
  127. package/src/dom/subproof.js +8 -12
  128. package/src/dom/term.js +16 -32
  129. package/src/dom/theorem.js +6 -1
  130. package/src/dom/topLevelAssertion.js +30 -25
  131. package/src/dom/topLevelMetaAssertion.js +16 -28
  132. package/src/dom/type.js +9 -35
  133. package/src/dom/variable.js +4 -12
  134. package/src/node/assertion/contained.js +41 -3
  135. package/src/node/assertion/defined.js +29 -3
  136. package/src/node/assertion/property.js +29 -3
  137. package/src/node/assertion/satisfies.js +17 -3
  138. package/src/node/assertion/subproof.js +17 -3
  139. package/src/node/assertion/type.js +29 -3
  140. package/src/node/axiom.js +3 -3
  141. package/src/node/combinator.js +3 -3
  142. package/src/node/conclusion.js +17 -3
  143. package/src/node/conjecture.js +3 -3
  144. package/src/node/constructor.js +3 -3
  145. package/src/node/declaration/combinator.js +11 -7
  146. package/src/node/declaration/complexType.js +25 -24
  147. package/src/node/declaration/constructor.js +22 -17
  148. package/src/node/declaration/metavariable.js +36 -3
  149. package/src/node/declaration/property.js +21 -17
  150. package/src/node/declaration/type.js +22 -17
  151. package/src/node/declaration/variable.js +24 -32
  152. package/src/node/declaration.js +29 -3
  153. package/src/node/deduction.js +17 -3
  154. package/src/node/derivation.js +18 -3
  155. package/src/node/equality.js +31 -3
  156. package/src/node/error.js +3 -3
  157. package/src/node/frame.js +53 -3
  158. package/src/node/judgement.js +29 -3
  159. package/src/node/label.js +17 -3
  160. package/src/node/labels.js +21 -0
  161. package/src/node/lemma.js +3 -3
  162. package/src/node/metaLemma.js +3 -3
  163. package/src/node/metaType.js +19 -8
  164. package/src/node/metatheorem.js +3 -3
  165. package/src/node/metavariable.js +42 -9
  166. package/src/node/parameter.js +20 -3
  167. package/src/node/parenthesisedLabels.js +28 -0
  168. package/src/node/premise.js +29 -3
  169. package/src/node/procedureCall.js +29 -3
  170. package/src/node/proof.js +17 -3
  171. package/src/node/property.js +18 -12
  172. package/src/node/propertyRelation.js +35 -3
  173. package/src/node/reference.js +17 -3
  174. package/src/node/rule.js +3 -3
  175. package/src/node/statement.js +108 -3
  176. package/src/node/step.js +41 -3
  177. package/src/node/subDerivation.js +18 -3
  178. package/src/node/subproof.js +41 -3
  179. package/src/node/supposition.js +29 -3
  180. package/src/node/term.js +62 -3
  181. package/src/node/theorem.js +3 -3
  182. package/src/node/topLevelAssertion.js +89 -3
  183. package/src/node/topLevelMetaAssertion.js +59 -3
  184. package/src/node/type.js +15 -8
  185. package/src/node/variable.js +15 -8
  186. package/src/nominal/parser.js +1 -1
  187. package/src/nonTerminalNodeMap.js +9 -3
  188. package/src/ruleNames.js +3 -1
  189. package/src/utilities/node.js +147 -6
  190. package/src/utilities/type.js +9 -0
  191. package/src/verifier/topLevel.js +5 -10
  192. package/lib/defaultTerminalNode.js +0 -20
  193. package/lib/mixins/node.js +0 -145
  194. package/src/defaultTerminalNode.js +0 -7
  195. package/src/mixins/node.js +0 -201
  196. package/src/node.js +0 -29
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- function fromFirstChildNode(callback) {
12
- var result;
13
- var firstIndex = 0;
14
- this.forwardsSomeChildNode(function(childNode, index) {
15
- if (index === firstIndex) {
16
- var firstChildNode = childNode; ///
17
- result = callback(firstChildNode);
18
- return true;
19
- }
20
- });
21
- return result;
22
- }
23
- function fromSecondChildNode(callback) {
24
- var result;
25
- var secondIndex = 1;
26
- this.forwardsSomeChildNode(function(childNode, index) {
27
- if (index === secondIndex) {
28
- var firstChildNode = childNode; ///
29
- result = callback(firstChildNode);
30
- return true;
31
- }
32
- });
33
- return result;
34
- }
35
- function fromThirdChildNode(callback) {
36
- var result;
37
- var thirdIndex = 2;
38
- this.forwardsSomeChildNode(function(childNode, index) {
39
- if (index === thirdIndex) {
40
- var thirdChildNode = childNode; ///
41
- result = callback(thirdChildNode);
42
- return true;
43
- }
44
- });
45
- return result;
46
- }
47
- function fromFourthChildNode(callback) {
48
- var result;
49
- var fourthIndex = 3;
50
- this.forwardsSomeChildNode(function(childNode, index) {
51
- if (index === fourthIndex) {
52
- var fourthChildNode = childNode; ///
53
- result = callback(fourthChildNode);
54
- return true;
55
- }
56
- });
57
- return result;
58
- }
59
- function fromFifthChildNode(callback) {
60
- var result;
61
- var fifthIndex = 4;
62
- this.forwardsSomeChildNode(function(childNode, index) {
63
- if (index === fifthIndex) {
64
- var fifthChildNode = childNode; ///
65
- result = callback(fifthChildNode);
66
- return true;
67
- }
68
- });
69
- return result;
70
- }
71
- function fromFirstLastChildNode(callback) {
72
- var result;
73
- var multiplicity = this.getMultiplicity(), firstLastIndex = multiplicity - 1;
74
- this.backwardsSomeChildNode(function(childNode, index) {
75
- if (index === firstLastIndex) {
76
- var firstLastChildNode = childNode; ///
77
- result = callback(firstLastChildNode);
78
- return true;
79
- }
80
- });
81
- return result;
82
- }
83
- function fromSecondLastChildNode(callback) {
84
- var result;
85
- var multiplicity = this.getMultiplicity(), secondLastIndex = multiplicity - 2;
86
- this.backwardsSomeChildNode(function(childNode, index) {
87
- if (index === secondLastIndex) {
88
- var secondLastChildNode = childNode; ///
89
- result = callback(secondLastChildNode);
90
- return true;
91
- }
92
- });
93
- return result;
94
- }
95
- function fromThirdLastChildNode(callback) {
96
- var result;
97
- var multiplicity = this.getMultiplicity(), thirdLastIndex = multiplicity - 3;
98
- this.backwardsSomeChildNode(function(childNode, index) {
99
- if (index === thirdLastIndex) {
100
- var thirdLastChildNode = childNode; ///
101
- result = callback(thirdLastChildNode);
102
- return true;
103
- }
104
- });
105
- return result;
106
- }
107
- function fromFourthLastChildNode(callback) {
108
- var result;
109
- var multiplicity = this.getMultiplicity(), fourthLastIndex = multiplicity - 4;
110
- this.backwardsSomeChildNode(function(childNode, index) {
111
- if (index === fourthLastIndex) {
112
- var fourthLastChildNode = childNode; ///
113
- result = callback(fourthLastChildNode);
114
- return true;
115
- }
116
- });
117
- return result;
118
- }
119
- function fromFifthLastChildNode(callback) {
120
- var result;
121
- var multiplicity = this.getMultiplicity(), fifthLastIndex = multiplicity - 5;
122
- this.backwardsSomeChildNode(function(childNode, index) {
123
- if (index === fifthLastIndex) {
124
- var fifthLastChildNode = childNode; ///
125
- result = callback(fifthLastChildNode);
126
- return true;
127
- }
128
- });
129
- return result;
130
- }
131
- var nodeMixins = {
132
- fromFirstChildNode: fromFirstChildNode,
133
- fromSecondChildNode: fromSecondChildNode,
134
- fromThirdChildNode: fromThirdChildNode,
135
- fromFourthChildNode: fromFourthChildNode,
136
- fromFifthChildNode: fromFifthChildNode,
137
- fromFirstLastChildNode: fromFirstLastChildNode,
138
- fromSecondLastChildNode: fromSecondLastChildNode,
139
- fromThirdLastChildNode: fromThirdLastChildNode,
140
- fromFourthLastChildNode: fromFourthLastChildNode,
141
- fromFifthLastChildNode: fromFifthLastChildNode
142
- };
143
- var _default = nodeMixins;
144
-
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gZnJvbUZpcnN0Q2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgZmlyc3RJbmRleCA9IDA7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpcnN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlyc3RDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGZyb21TZWNvbmRDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBzZWNvbmRJbmRleCA9IDE7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IHNlY29uZEluZGV4KSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGZpcnN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tVGhpcmRDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCB0aGlyZEluZGV4ID0gMjtcblxuICB0aGlzLmZvcndhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcmRJbmRleCkge1xuICAgICAgY29uc3QgdGhpcmRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayh0aGlyZENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZvdXJ0aENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IGZvdXJ0aEluZGV4ID0gMztcblxuICB0aGlzLmZvcndhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gZm91cnRoSW5kZXgpIHtcbiAgICAgIGNvbnN0IGZvdXJ0aENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGZvdXJ0aENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZpZnRoQ2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgZmlmdGhJbmRleCA9IDQ7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpZnRoSW5kZXgpIHtcbiAgICAgIGNvbnN0IGZpZnRoQ2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlmdGhDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGZyb21GaXJzdExhc3RDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBtdWx0aXBsaWNpdHkgPSB0aGlzLmdldE11bHRpcGxpY2l0eSgpLFxuICAgICAgICBmaXJzdExhc3RJbmRleCA9IG11bHRpcGxpY2l0eSAtIDE7XG5cbiAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBmaXJzdExhc3RJbmRleCkge1xuICAgICAgY29uc3QgZmlyc3RMYXN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlyc3RMYXN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tU2Vjb25kTGFzdENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgIHNlY29uZExhc3RJbmRleCA9IG11bHRpcGxpY2l0eSAtIDI7XG5cbiAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBzZWNvbmRMYXN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IHNlY29uZExhc3RDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayhzZWNvbmRMYXN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tVGhpcmRMYXN0Q2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgdGhpcmRMYXN0SW5kZXggPSBtdWx0aXBsaWNpdHkgLSAzO1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcmRMYXN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IHRoaXJkTGFzdENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKHRoaXJkTGFzdENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZvdXJ0aExhc3RDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBtdWx0aXBsaWNpdHkgPSB0aGlzLmdldE11bHRpcGxpY2l0eSgpLFxuICAgICAgICBmb3VydGhMYXN0SW5kZXggPSBtdWx0aXBsaWNpdHkgLSA0O1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gZm91cnRoTGFzdEluZGV4KSB7XG4gICAgICBjb25zdCBmb3VydGhMYXN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZm91cnRoTGFzdENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZpZnRoTGFzdENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgIGZpZnRoTGFzdEluZGV4ID0gbXVsdGlwbGljaXR5IC0gNTtcblxuICB0aGlzLmJhY2t3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpZnRoTGFzdEluZGV4KSB7XG4gICAgICBjb25zdCBmaWZ0aExhc3RDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayhmaWZ0aExhc3RDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmNvbnN0IG5vZGVNaXhpbnMgPSB7XG4gIGZyb21GaXJzdENoaWxkTm9kZSxcbiAgZnJvbVNlY29uZENoaWxkTm9kZSxcbiAgZnJvbVRoaXJkQ2hpbGROb2RlLFxuICBmcm9tRm91cnRoQ2hpbGROb2RlLFxuICBmcm9tRmlmdGhDaGlsZE5vZGUsXG4gIGZyb21GaXJzdExhc3RDaGlsZE5vZGUsXG4gIGZyb21TZWNvbmRMYXN0Q2hpbGROb2RlLFxuICBmcm9tVGhpcmRMYXN0Q2hpbGROb2RlLFxuICBmcm9tRm91cnRoTGFzdENoaWxkTm9kZSxcbiAgZnJvbUZpZnRoTGFzdENoaWxkTm9kZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgbm9kZU1peGlucztcbiJdLCJuYW1lcyI6WyJmcm9tRmlyc3RDaGlsZE5vZGUiLCJjYWxsYmFjayIsInJlc3VsdCIsImZpcnN0SW5kZXgiLCJmb3J3YXJkc1NvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJpbmRleCIsImZpcnN0Q2hpbGROb2RlIiwiZnJvbVNlY29uZENoaWxkTm9kZSIsInNlY29uZEluZGV4IiwiZnJvbVRoaXJkQ2hpbGROb2RlIiwidGhpcmRJbmRleCIsInRoaXJkQ2hpbGROb2RlIiwiZnJvbUZvdXJ0aENoaWxkTm9kZSIsImZvdXJ0aEluZGV4IiwiZm91cnRoQ2hpbGROb2RlIiwiZnJvbUZpZnRoQ2hpbGROb2RlIiwiZmlmdGhJbmRleCIsImZpZnRoQ2hpbGROb2RlIiwiZnJvbUZpcnN0TGFzdENoaWxkTm9kZSIsIm11bHRpcGxpY2l0eSIsImdldE11bHRpcGxpY2l0eSIsImZpcnN0TGFzdEluZGV4IiwiYmFja3dhcmRzU29tZUNoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZSIsImZyb21TZWNvbmRMYXN0Q2hpbGROb2RlIiwic2Vjb25kTGFzdEluZGV4Iiwic2Vjb25kTGFzdENoaWxkTm9kZSIsImZyb21UaGlyZExhc3RDaGlsZE5vZGUiLCJ0aGlyZExhc3RJbmRleCIsInRoaXJkTGFzdENoaWxkTm9kZSIsImZyb21Gb3VydGhMYXN0Q2hpbGROb2RlIiwiZm91cnRoTGFzdEluZGV4IiwiZm91cnRoTGFzdENoaWxkTm9kZSIsImZyb21GaWZ0aExhc3RDaGlsZE5vZGUiLCJmaWZ0aExhc3RJbmRleCIsImZpZnRoTGFzdENoaWxkTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdNQTs7O2VBQUE7OztBQXRNQSxTQUFTQSxtQkFBbUJDLFFBQVE7SUFDbEMsSUFBSUM7SUFFSixJQUFNQyxhQUFhO0lBRW5CLElBQUksQ0FBQ0MscUJBQXFCLENBQUMsU0FBQ0MsV0FBV0M7UUFDckMsSUFBSUEsVUFBVUgsWUFBWTtZQUN4QixJQUFNSSxpQkFBaUJGLFdBQVcsR0FBRztZQUVyQ0gsU0FBU0QsU0FBU007WUFFbEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUO0FBRUEsU0FBU00sb0JBQW9CUCxRQUFRO0lBQ25DLElBQUlDO0lBRUosSUFBTU8sY0FBYztJQUVwQixJQUFJLENBQUNMLHFCQUFxQixDQUFDLFNBQUNDLFdBQVdDO1FBQ3JDLElBQUlBLFVBQVVHLGFBQWE7WUFDekIsSUFBTUYsaUJBQWlCRixXQUFXLEdBQUc7WUFFckNILFNBQVNELFNBQVNNO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLFNBQVNRLG1CQUFtQlQsUUFBUTtJQUNsQyxJQUFJQztJQUVKLElBQU1TLGFBQWE7SUFFbkIsSUFBSSxDQUFDUCxxQkFBcUIsQ0FBQyxTQUFDQyxXQUFXQztRQUNyQyxJQUFJQSxVQUFVSyxZQUFZO1lBQ3hCLElBQU1DLGlCQUFpQlAsV0FBVyxHQUFHO1lBRXJDSCxTQUFTRCxTQUFTVztZQUVsQixPQUFPO1FBQ1Q7SUFDRjtJQUVB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
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- import Node from "./Node";
4
-
5
- const defaultNonTerminalNode = Node; ///
6
-
7
- export default defaultNonTerminalNode;
@@ -1,201 +0,0 @@
1
- "use strict";
2
-
3
- function fromFirstChildNode(callback) {
4
- let result;
5
-
6
- const firstIndex = 0;
7
-
8
- this.forwardsSomeChildNode((childNode, index) => {
9
- if (index === firstIndex) {
10
- const firstChildNode = childNode; ///
11
-
12
- result = callback(firstChildNode);
13
-
14
- return true;
15
- }
16
- });
17
-
18
- return result;
19
- }
20
-
21
- function fromSecondChildNode(callback) {
22
- let result;
23
-
24
- const secondIndex = 1;
25
-
26
- this.forwardsSomeChildNode((childNode, index) => {
27
- if (index === secondIndex) {
28
- const firstChildNode = childNode; ///
29
-
30
- result = callback(firstChildNode);
31
-
32
- return true;
33
- }
34
- });
35
-
36
- return result;
37
- }
38
-
39
- function fromThirdChildNode(callback) {
40
- let result;
41
-
42
- const thirdIndex = 2;
43
-
44
- this.forwardsSomeChildNode((childNode, index) => {
45
- if (index === thirdIndex) {
46
- const thirdChildNode = childNode; ///
47
-
48
- result = callback(thirdChildNode);
49
-
50
- return true;
51
- }
52
- });
53
-
54
- return result;
55
- }
56
-
57
- function fromFourthChildNode(callback) {
58
- let result;
59
-
60
- const fourthIndex = 3;
61
-
62
- this.forwardsSomeChildNode((childNode, index) => {
63
- if (index === fourthIndex) {
64
- const fourthChildNode = childNode; ///
65
-
66
- result = callback(fourthChildNode);
67
-
68
- return true;
69
- }
70
- });
71
-
72
- return result;
73
- }
74
-
75
- function fromFifthChildNode(callback) {
76
- let result;
77
-
78
- const fifthIndex = 4;
79
-
80
- this.forwardsSomeChildNode((childNode, index) => {
81
- if (index === fifthIndex) {
82
- const fifthChildNode = childNode; ///
83
-
84
- result = callback(fifthChildNode);
85
-
86
- return true;
87
- }
88
- });
89
-
90
- return result;
91
- }
92
-
93
- function fromFirstLastChildNode(callback) {
94
- let result;
95
-
96
- const multiplicity = this.getMultiplicity(),
97
- firstLastIndex = multiplicity - 1;
98
-
99
- this.backwardsSomeChildNode((childNode, index) => {
100
- if (index === firstLastIndex) {
101
- const firstLastChildNode = childNode; ///
102
-
103
- result = callback(firstLastChildNode);
104
-
105
- return true;
106
- }
107
- });
108
-
109
- return result;
110
- }
111
-
112
- function fromSecondLastChildNode(callback) {
113
- let result;
114
-
115
- const multiplicity = this.getMultiplicity(),
116
- secondLastIndex = multiplicity - 2;
117
-
118
- this.backwardsSomeChildNode((childNode, index) => {
119
- if (index === secondLastIndex) {
120
- const secondLastChildNode = childNode; ///
121
-
122
- result = callback(secondLastChildNode);
123
-
124
- return true;
125
- }
126
- });
127
-
128
- return result;
129
- }
130
-
131
- function fromThirdLastChildNode(callback) {
132
- let result;
133
-
134
- const multiplicity = this.getMultiplicity(),
135
- thirdLastIndex = multiplicity - 3;
136
-
137
- this.backwardsSomeChildNode((childNode, index) => {
138
- if (index === thirdLastIndex) {
139
- const thirdLastChildNode = childNode; ///
140
-
141
- result = callback(thirdLastChildNode);
142
-
143
- return true;
144
- }
145
- });
146
-
147
- return result;
148
- }
149
-
150
- function fromFourthLastChildNode(callback) {
151
- let result;
152
-
153
- const multiplicity = this.getMultiplicity(),
154
- fourthLastIndex = multiplicity - 4;
155
-
156
- this.backwardsSomeChildNode((childNode, index) => {
157
- if (index === fourthLastIndex) {
158
- const fourthLastChildNode = childNode; ///
159
-
160
- result = callback(fourthLastChildNode);
161
-
162
- return true;
163
- }
164
- });
165
-
166
- return result;
167
- }
168
-
169
- function fromFifthLastChildNode(callback) {
170
- let result;
171
-
172
- const multiplicity = this.getMultiplicity(),
173
- fifthLastIndex = multiplicity - 5;
174
-
175
- this.backwardsSomeChildNode((childNode, index) => {
176
- if (index === fifthLastIndex) {
177
- const fifthLastChildNode = childNode; ///
178
-
179
- result = callback(fifthLastChildNode);
180
-
181
- return true;
182
- }
183
- });
184
-
185
- return result;
186
- }
187
-
188
- const nodeMixins = {
189
- fromFirstChildNode,
190
- fromSecondChildNode,
191
- fromThirdChildNode,
192
- fromFourthChildNode,
193
- fromFifthChildNode,
194
- fromFirstLastChildNode,
195
- fromSecondLastChildNode,
196
- fromThirdLastChildNode,
197
- fromFourthLastChildNode,
198
- fromFifthLastChildNode
199
- };
200
-
201
- export default nodeMixins;
package/src/node.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- import { NonTerminalNode } from "occam-parsers";
4
-
5
- import nodeMixins from "./mixins/node";
6
-
7
- class Node extends NonTerminalNode {
8
- static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
9
- if (precedence === undefined) {
10
- precedence = opacity; ///
11
-
12
- opacity = childNodes; ///
13
-
14
- childNodes = ruleName; ///
15
-
16
- ruleName = Class; ///
17
-
18
- Class = Node; ///
19
- }
20
-
21
- const node = NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
22
-
23
- return node;
24
- }
25
- }
26
-
27
- Object.assign(Node.prototype, nodeMixins);
28
-
29
- export default Node;